Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Welcome to pysyncml

Welcome to the pysyncml library, a pure-python implementation of the SyncML adapter framework and protocol. SyncML is a protocol for allowing abstract objects to be synchronized between multiple clients and a server.

Goals

The pysyncml project has the following goals, some of them diverge critically from other SyncML implementations and are the reasons for creating a new package instead of building on other existing implementations:

  • Can be installed and used with a single “pip install pysyncml” (or easy_install).

  • Is python 2.6+ and 3+ compatible.

  • Implements a sufficiently large subset of the SyncML 1.2.2 (a.k.a. the OMA Data Synchronization specification) as to be interoperable with other implementations without necessarily being “conformant”.

  • Can be easily integrated into sqlalchemy based projects to store data in the application’s database instead of separated out (so that integrated database triggers and cascading can be applied).

  • Can be extended in order to make properly crafted clients able to operate in “distributed” mode - this means that in the absence of a network, SyncML client peers are able to synchronize with each other in the anticipation that the central server may or may not eventually become available again.

  • Differentiates as little as possible between “client” and “server” modes to enable the previous goal.

  • Makes basic synchronization easy and complicated synchronization possible by providing standard implementations for commonly used approaches, while allowing these components to be overriden or extended.

  • Provides basic command line tools for commonly synchronized data types.

  • Provides a framework of server-push notifications which are transport agnostic.

  • Auto-discovery of SyncML server URI locations; i.e. finding the “right” paths to bind object types is done automatically instead of needing error-prone user configuration.

Limitations

It is the goal of the project to get a minimally functional library going in the shortest possible timeframe. To that end, the following features of SyncML will NOT be implemented until a later phase, even if this means that the library does not provide a conformant implementation:

  • NOT supported: filtering of searches or synchronization targets.

  • NOT supported: data split over multiple messages.

  • NOT supported: soft-deletes.

  • NOT supported: memory constraint management.

  • NOT supported: suspend, resume and busy signaling.

  • NOT supported: MD5 authentication scheme.

  • NOT supported: per-database-layer authorization.

Installation

Installation of pysyncml is near-trivial with PIP:

$ pip install pysyncml

or, using easy_install:

$ easy_install pysyncml

Documentation

For downloaded packages, please see the generated documents in the “doc” directory, otherwise you can find links to the latest how-to and API reference documentation at pysyncml.

Metadata

Release files for pysyncml 0.1.dev-r35

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pysyncml 0.1.dev-r35
File Size Uploaded Provenance
pysyncml-0.1.dev-r35.tar.gz 193.8 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for pysyncml 0.1.dev-r35
File Interpreter ABI Platform
pysyncml-0.1.dev_r35-py2.7.egg Legacy Egg format - - Details
pysyncml-0.1.dev_r35-py2.6.egg Legacy Egg format - - Details

Total release size: 560.8 kB

Release files / pysyncml-0.1.dev-r35.tar.gz

Download URL pysyncml-0.1.dev-r35.tar.gz
Size 193.8 kB
Tags Source
SHA-256 checksum
How to use checksums
e0bff92a248ef9beb0aff56c03184138d041e0821103d7e57562ee2d6e548cc9
BLAKE2b-256 checksum
How to use checksums
4cf1b0b10dd01952252fd705a01eb8b2c5ec491098a9d3696b875ca0be2f37a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pysyncml-0.1.dev_r35-py2.7.egg

Download URL pysyncml-0.1.dev_r35-py2.7.egg
Size 183.1 kB
Tags Egg
SHA-256 checksum
How to use checksums
336cf22535a5e2fcfec90c8baa0d8fdcbd860294770e0528e8e73b4f2284974c
BLAKE2b-256 checksum
How to use checksums
44c1a90fcfde4bded745dcf0ce1216c3c090e8c6db4e5d1cfc9e53fe29015714
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pysyncml-0.1.dev_r35-py2.6.egg

Download URL pysyncml-0.1.dev_r35-py2.6.egg
Size 183.9 kB
Tags Egg
SHA-256 checksum
How to use checksums
0097d447f6ad4b1920139fded1bdad095edb7f7504c1cf54b6c7393e1bf081c0
BLAKE2b-256 checksum
How to use checksums
be2460426937e1fa7d01b8d648cd4b69fd6956128b78a5048c00196869e64650
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for pysyncml 0.1.dev-r35

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page