你推荐哪个Python的LDAP对象映射器?
我需要把两个不同的LDAP服务器同步,这两个服务器的结构还不一样。为了让我的工作更简单,我在找一个适合Python的对象映射工具,类似于SQLobject或SQLAlchemy,但专门用于LDAP。
我通过pypi和谷歌找到了以下几个可能有用的包:
pumpkin 0.1.0-beta1: Pumpkin是一个适用于Python的LDAP对象关系映射工具(ORM),不过没有“关系”那部分。
afpy.ldap 0.3: 这个模块提供了一种简单的方法来处理Python中的LDAP相关内容。
bda.ldap 1.3.1: 这是一个方便的LDAP库。
Python LDAP Object Mapper: 这个工具为Python中的LDAP提供了类似ORM的层(像Django、Storm、SQLAlchemy等)。
ldapdict 1.4: 这是一个Python包,用于连接LDAP,并将结果以字典类的形式返回。结果会被缓存。
你能推荐这几个包中的哪个吗?或者我应该使用其他的东西吗?
3 个回答
给出相关项目的链接会帮助很多。
作为Python LDAP对象映射器的开发者,我可以告诉你,这个项目现在几乎没有人在维护了。如果你(或者其他人)想接手这个项目,欢迎你来哦 :)
可能有点晚了...
bda.ldap(http://pypi.python.org/pypi/bda.ldap)是一个对python-ldap的封装,它提供了比python-ldap更简单的使用方式。
此外,它还通过bda.cache(http://pypi.python.org/pypi/bda.cache)自动处理查询结果的缓存,这样可以提高效率。
它还提供了一个LDAPNode对象,可以通过类似字典的方式来构建和编辑LDAP树。
为了与zope框架的集成,它还使用了一些ZTK的东西(主要是因为LDAPNode实现中的zodict包)。
我们最近发布了bda.ldap 1.4.0版本。
如果你查看README.txt#TODO,你会看到我们认为需要补充的内容,以便将这个库定为最终版本。
欢迎大家留言讨论,
祝好,
罗伯特
如果我是你,我会选择使用python-ldap或者ldaptor。python-ldap是一个针对OpenLDAP的封装,所以在Windows上使用它可能会遇到一些问题,除非你能从源代码编译它。
而ldaptor是纯Python写的,这样就避免了这个问题。此外,ldaptor的网站上有一个写得非常好的图文说明,你可以通过阅读这个网页,判断它是否能满足你的需求: