syncml适配器框架和协议的纯python实现。
pysyncml的Python项目详细描述
欢迎使用pysyncml库,它是 SyncML适配器框架和协议。SyncML是 在多个客户端和 服务器。尽管pysyncml确实提供了一些工具来同步 某些类型的内容因此是有用的 主要用作其他应用程序的库 希望通过SyncML添加数据同步支持。
重要
2013年12月15日:pysyncml目前是beta版。这意味着它没有 很多“现实世界”的经验,你可能会遇到很多 漏洞。但是,它正在积极开发中,因此请检查 几个月。
如果你决定使用它,强烈建议你做一个 在使用pysyncml进行同步之前,对数据进行完全备份 生产数据。
从0.2.0开始的工作部件:
- 客户端SyncML框架,支持CRUD操作, 即添加/替换/删除同步命令。
- 支持crud操作的服务器端syncml框架, 即添加/替换/删除同步命令,,但它不是 建议使用服务器端,因为有些api更改是 预期。
- 服务器端冲突检测和多策略解决。
- 对“note”数据类型的本机支持。
目标
pysyncml项目有以下目标,其中一些目标不同 从其他syncml实现中得出的结论是 创建新的包而不是其他现有的包 实现:
- 可与单个“pip install pysyncml”一起安装和使用 (或易于安装)。
- 与Python2.7+和3+兼容。
- 实现SyncML 1.2.2(也称为SyncML 1.2.2)的足够大的子集。 OMA数据同步规范)可互操作 与其他实现不一定是“一致的”。
- 可以很容易地集成到基于SQLAlchemy的项目中 将数据存储在应用程序的数据库中,而不是分离出来 (以便应用集成的数据库触发器和级联)。
- 可以进行扩展以使精心编制的客户端能够 以“分布式”模式运行-这意味着 在网络中,syncml客户端对等方能够与 在中央服务器可能或可能 最终不再可用。
- 尽可能不区分“客户端”和“服务器” 模式以启用上一个目标。
- 使基本同步变得简单而复杂 通过为常用的 方法,同时允许重写这些组件或 延长。
- 为常用的同步数据提供基本的命令行工具 类型。
- 提供服务器推送通知的框架 运输不可知论。
- 自动发现syncml服务器uri位置;即查找 绑定对象类型的“正确”路径将自动完成 需要易出错的用户配置。
限制
该项目的目标是使一个功能最低的库 在尽可能短的时间内。为此,以下特性 of syncml将在稍后阶段才能实现,即使这意味着 库没有提供一致的实现:
- 不支持:筛选搜索或同步目标。
- 不支持:数据在多条消息上拆分。
- 不支持:软删除。
- 不支持:内存约束管理。
- 不支持:挂起、恢复和忙信号。
- 不支持:MD5身份验证方案。
- 不支持:每个数据库层授权。
先决条件
Python2.7或更高版本是必需的,如下所示 “由pysyncml开发人员授予:
- 相对进口量,
- “with”上下文管理器语句,
- 本地元素树,
- 三元表达式(expr if expr else expr),
- 以及在2.6.4中发现不起作用的其他东西 作者不记得那是什么,也不想碰到 又一次的限制…
文档
有关下载的包,请参阅 “doc”目录,否则您可以找到指向最新操作方法和 api参考文档位于pysyncml。