{ "info": { "author": "Benjamin Dauvergne", "author_email": "bdauvergne@entrouvert.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: System :: Systems Administration :: Authentication/Directory" ], "description": "ldaptools\n=========\n\nHelper modules to work with LDAP directories and test LDAP tools against OpenLDAP.\n\n- `ldaptools.ldif_utils`: simple parser for LDIF files\n- `ldaptools.ldap_source`: generate a stream of LDAP entries from an LDAP URL\n- `ldaptools.synchronize`: synchronization class to synchronize a source of LDAP records with a target\n- `ldaptools.paged`: an LDAPObject implementating paged search requests\n- `ldaptools.ldapsync`: a command line client to the Synchronize class\n- `ldaptools.slapd`: launch a standalone slapd server, manipulate its configuration, it helps\n in writing tests against OpenLDAP.\n\nldapsync\n========\n\n usage: ldapsync [-h] --object-class-pivot OBJECT_CLASS_PIVOT\n [--attributes-file ATTRIBUTES_FILE] [--attributes ATTRIBUTES]\n --source-uri SOURCE_URI --source-base-dn SOURCE_BASE_DN\n [--source-bind-dn SOURCE_BIND_DN]\n [--source-bind-password SOURCE_BIND_PASSWORD] --target-uri\n TARGET_URI --target-base-dn TARGET_BASE_DN\n [--target-bind-dn TARGET_BIND_DN]\n [--target-bind-password TARGET_BIND_PASSWORD] [--fake]\n [--verbose]\n\n Synchronize an LDIF file or a source LDAP directory to another directory Base\n DN of the source is remapped to another DN in the target directory\n\n optional arguments:\n -h, --help show this help message and exit\n --object-class-pivot OBJECT_CLASS_PIVOT\n an objectClass and an attribute name which is the\n unique identifier for this class\n --attributes-file ATTRIBUTES_FILE\n a file containing the list of attributes to\n synchronize\n --attributes ATTRIBUTES\n a list of attribute names separated by spaces\n --source-uri SOURCE_URI\n URL of an LDAP directory (ldapi://, ldap:// or\n ldaps://) or path of and LDIF file\n --source-base-dn SOURCE_BASE_DN\n base DN of the source\n --source-bind-dn SOURCE_BIND_DN\n bind DN for a source LDAP directory\n --source-bind-password SOURCE_BIND_PASSWORD\n bind password for a source LDAP directory\n --target-uri TARGET_URI\n URL of the target LDAP directory\n --target-base-dn TARGET_BASE_DN\n base DN of the target LDAP directory\n --target-bind-dn TARGET_BIND_DN\n bind DN for a target LDAP directory\n --target-bind-password TARGET_BIND_PASSWORD\n bind password for a target LDAP directory\n --fake compute synchronization actions but do not apply\n --verbose print all actions to stdout\n\nExemple\n-------\n\nSynchronize tree of organizational units and people between an LDIF file and a local OpenLDAP directory::\n\n ldapsync --attributes 'uid cn givenName sn dc ou o description mail member' \\\n --object-class-pivot 'inetOrgPerson uid' \\\n --object-class-pivot 'organizationalUnit ou' \\\n --object-class-pivot 'dcobject dc' \\\n --source-uri dump.ldif \\\n --source-base-dn dc=myorganization,dc=fr \\\n --target-uri ldapi:// \\\n --target-base-dn o=myorganization,dc=otherorganization,dc=fr \\\n --verbose\n\nSynchronize tree of organizational units and people between two LDAP directories::\n\n ldapsync --attributes 'uid cn givenName sn dc ou o description mail member' \\\n --object-class-pivot 'inetOrgPerson uid' \\\n --object-class-pivot 'organizationalUnit ou' \\\n --object-class-pivot 'dcobject dc' \\\n --source-uri ldap://ldap.myorganization.fr \\\n --source-bind-dn uid=admin,ou=people,dc=myorganization,dc=fr\n --source-bind-password password\n --source-base-dn dc=myorganization,dc=fr \\\n --target-uri ldap://ldap.otherorganization.fr\n --target-bind-dn uid=admin,o=myorganization,dc=otherorganization,dc=fr\n --target-bind-password password\n --target-base-dn o=myorganization,dc=otherorganization,dc=fr \\\n --verbose\n\nChangelog\n=========\n\n0.18\n----\n* fix conversion of text to bytes in LDIF parser\n\n0.17\n----\n* Python3 compatibility\n* fix test certificates\n\n0.16\n----\n* add test certificates\n\n0.15\n----\n* add support testing with TLS\n* filter objectclass from sources, keep only known ones\n\n0.14\n----\n* fix default ACL when creating slapd server\n* fix grammar of LDIF configurations\n\n0.13\n----\n\n* in ldapsync, do not delete records not pertaining to one of the objectclass listed in\n --object-class-pivot\n\n0.12\n----\n\n* wait for complete stop of the daemon when stopping\n\n0.11\n----\n\n* remove debugging statements\n\n0.10\n----\n\n* fix leak of standard file descriptors from slapd\n\n0.9\n---\n\n* paged: fix paged search when the response contains no paged result extended control\n* improvements to tox script\n\n\n0.8\n---\n\n* improve display of actions and errors\n* lowercase attributes in dn of LDIF sources\n* fix bug when removing attributes from source outside the permitted attributes\n* allow specifying case insensitive attributes for compare\n\n0.7\n---\n\n* ldapsync: add a --source-filter parameter\n\n0.6\n---\n\n* add empty attribute to new entry if attribute is present in target entry\n* remove attributes outside of the specified attributes from source entries\n* return an empty list of target base DN does no exist\n* convert attribute names to istr\n* fix typo\n\n0.5\n---\n\n* setup.py: add long description\n\n0.4\n---\n\n* remove debugging print\n\n0.3\n---\n\n* setup.py: add dependency on setuptools\n\n0.2\n---\n\n* improvements to tox script\n\n0.1\n---\n\n* initial release\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://dev.entrouvert.org/projects/ldaptools/", "keywords": "", "license": "AGPLv3+", "maintainer": "", "maintainer_email": "", "name": "ldaptools", "package_url": "https://pypi.org/project/ldaptools/", "platform": "", "project_url": "https://pypi.org/project/ldaptools/", "project_urls": { "Homepage": "http://dev.entrouvert.org/projects/ldaptools/" }, "release_url": "https://pypi.org/project/ldaptools/0.18/", "requires_dist": null, "requires_python": "", "summary": "ldaptools", "version": "0.18" }, "last_serial": 4942038, "releases": { "0.10": [ { "comment_text": "", "digests": { "md5": "3597e10385e4bf71fdf43debf36617d9", "sha256": "d59ff5051e96492552de6a98db9eacd92a34295e69a26d31a0e9779d28009872" }, "downloads": -1, "filename": "ldaptools-0.10.tar.gz", "has_sig": false, "md5_digest": "3597e10385e4bf71fdf43debf36617d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28232, "upload_time": "2016-03-18T13:27:19", "url": "https://files.pythonhosted.org/packages/3c/42/f94db45b73b738487a4e2165110703562d6df3b85790d965eb656cd77f04/ldaptools-0.10.tar.gz" } ], "0.12": [ { "comment_text": "", "digests": { "md5": "065fabf879841249d9399114448dcda2", "sha256": "9ccc7610ea4e2c9141049d0e80d4d54e50490462b169ebca4485e0c948035928" }, "downloads": -1, "filename": "ldaptools-0.12.tar.gz", "has_sig": false, "md5_digest": "065fabf879841249d9399114448dcda2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28423, "upload_time": "2016-04-25T22:30:55", "url": "https://files.pythonhosted.org/packages/ae/18/199e3cac45c221fee895e9930ed209db8222c2bbb9d07ce657ab11d33c62/ldaptools-0.12.tar.gz" } ], "0.13": [ { "comment_text": "", "digests": { "md5": "e19c8bcacae39f14d55979fc6a799e97", "sha256": "0036cbe4c07378605bd1a5507489c0bd31328a96da6a65d5201000afcfd0ae4a" }, "downloads": -1, "filename": "ldaptools-0.13.tar.gz", "has_sig": false, "md5_digest": "e19c8bcacae39f14d55979fc6a799e97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28629, "upload_time": "2016-05-23T14:13:12", "url": "https://files.pythonhosted.org/packages/9d/2a/8bc90c2c18733c6c2c0e18676acb0d9bf2207d77a74227a7f1b220b42b07/ldaptools-0.13.tar.gz" } ], "0.14": [ { "comment_text": "", "digests": { "md5": "a4d370f468f85a52d5c166b79d308a01", "sha256": "7c356ddcb54e26da3c60fedba36c2840cccc5d9076a0ad4d466fd488db6fc445" }, "downloads": -1, "filename": "ldaptools-0.14.tar.gz", "has_sig": false, "md5_digest": "a4d370f468f85a52d5c166b79d308a01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29298, "upload_time": "2016-07-25T13:57:41", "url": "https://files.pythonhosted.org/packages/96/9c/86e70459c27e87523f6c835886761a9c822c735b4d051c014839fca48e94/ldaptools-0.14.tar.gz" } ], "0.15": [ { "comment_text": "", "digests": { "md5": "954212f531e26123b75fcbd2c8ddf1a9", "sha256": "5a33cf5ea4ac6b34cf76323f385f800e13fd9a512625ad78690b9fac9bf728a5" }, "downloads": -1, "filename": "ldaptools-0.15.tar.gz", "has_sig": false, "md5_digest": "954212f531e26123b75fcbd2c8ddf1a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29818, "upload_time": "2018-12-04T13:30:22", "url": "https://files.pythonhosted.org/packages/f1/5b/4834a753015edb282efb213aec76fae57a64bbc4858690f281258bf6a366/ldaptools-0.15.tar.gz" } ], "0.17": [ { "comment_text": "", "digests": { "md5": "759535bed907a4292a94b2ddb9959cfe", "sha256": "ab4a8a3cad38683c06acbcb71a6cc67bdb822bea0d27979a98f908c9ba48149b" }, "downloads": -1, "filename": "ldaptools-0.17.tar.gz", "has_sig": false, "md5_digest": "759535bed907a4292a94b2ddb9959cfe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30527, "upload_time": "2019-03-14T22:06:46", "url": "https://files.pythonhosted.org/packages/d3/ad/a3712d22f7e91cbdef10fb27b69bbee8b0d0b8d2398fd2bd9cc686d2341c/ldaptools-0.17.tar.gz" } ], "0.18": [ { "comment_text": "", "digests": { "md5": "12a14b69e27b87828935283c3b1308f8", "sha256": "f4f1aa6db40513f524b5c9dd7c82db44e74e9bfffda4dbad971629f16e63679b" }, "downloads": -1, "filename": "ldaptools-0.18.tar.gz", "has_sig": false, "md5_digest": "12a14b69e27b87828935283c3b1308f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30716, "upload_time": "2019-03-14T23:20:37", "url": "https://files.pythonhosted.org/packages/3c/0c/f97871a7a17b3edfb8044dcf28a20bbfcf1ad4226425a07d847d884e0d5b/ldaptools-0.18.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "1740b2646a580cf8a40266467b4f5c67", "sha256": "3e50b01f570884e64388aea39f480020cdd45f8673a0cf1ff8b5519fc63c7051" }, "downloads": -1, "filename": "ldaptools-0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "1740b2646a580cf8a40266467b4f5c67", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 30749, "upload_time": "2016-02-16T10:58:31", "url": "https://files.pythonhosted.org/packages/d5/eb/6148b0d897dc9bbe8f4b7da2c4f4e087457c95b76efc77c2e10defe37873/ldaptools-0.5-py2-none-any.whl" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "72b2bf844f7ce1e314f5b2345c1958a3", "sha256": "a9412a9c4ca1c3bfe7fcf344e8557bd206cb15dd238297afeabd61b948afa9a5" }, "downloads": -1, "filename": "ldaptools-0.6-py2-none-any.whl", "has_sig": false, "md5_digest": "72b2bf844f7ce1e314f5b2345c1958a3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 30865, "upload_time": "2016-02-16T15:07:43", "url": "https://files.pythonhosted.org/packages/67/62/64ff70c0a5b37f49b6b7bbd73dcf03edae52daaa75627316083161371288/ldaptools-0.6-py2-none-any.whl" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "7e39fbc344b4c5c8693e54fbe8e5239f", "sha256": "293315d228f9c05c54a1d999b325ccfe544fee81421bfb453de831795be3fb65" }, "downloads": -1, "filename": "ldaptools-0.8.tar.gz", "has_sig": false, "md5_digest": "7e39fbc344b4c5c8693e54fbe8e5239f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26871, "upload_time": "2016-03-01T09:51:47", "url": "https://files.pythonhosted.org/packages/d3/01/ff4a2b33be1c525c6c15fbd6e8729d98157aaf3da2f1b5e2c3bef66c5cfa/ldaptools-0.8.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "7f0b826616c7d0232b2539705dd08add", "sha256": "fdbd4ac12d6297c8b58c1efa77e329cd85a53605f7b4b6768d056cf727e03c8e" }, "downloads": -1, "filename": "ldaptools-0.9.tar.gz", "has_sig": false, "md5_digest": "7f0b826616c7d0232b2539705dd08add", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28070, "upload_time": "2016-03-02T12:31:16", "url": "https://files.pythonhosted.org/packages/f7/7c/a75da6bfa1ebd12cefa19e8705bd43031acb820eee3cb167e0bff65eed95/ldaptools-0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "12a14b69e27b87828935283c3b1308f8", "sha256": "f4f1aa6db40513f524b5c9dd7c82db44e74e9bfffda4dbad971629f16e63679b" }, "downloads": -1, "filename": "ldaptools-0.18.tar.gz", "has_sig": false, "md5_digest": "12a14b69e27b87828935283c3b1308f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30716, "upload_time": "2019-03-14T23:20:37", "url": "https://files.pythonhosted.org/packages/3c/0c/f97871a7a17b3edfb8044dcf28a20bbfcf1ad4226425a07d847d884e0d5b/ldaptools-0.18.tar.gz" } ] }