{ "info": { "author": "BlueDynamics Alliance", "author_email": "dev@bluedynamics.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development" ], "description": "User and group management\n=========================\n\n``node.ext.ugm`` provides an API for node based managing of users and groups.\n\nSee ``node.ext.ugm.interfaces`` for a description of the API.\n\nA file based default implementation can be found at ``node.ext.ugm.file``.\n\nBase objects for writing UGM implementations can be found at\n``node.ext.ugm._api``.\n\nFor more information on nodes see `node `_\npackage.\n\nFor more information on plumbing see\n`plumber `_ package.\n\n\nTestCoverage\n============\n\n.. image:: https://travis-ci.org/bluedynamics/node.ext.ugm.svg?branch=master\n :target: https://travis-ci.org/bluedynamics/node.ext.ugm\n\nSummary of the test coverage report::\n\n Name Stmts Miss Cover\n ---------------------------------------------------------------------------\n src/node/ext/ugm/__init__.py 18 0 100%\n src/node/ext/ugm/_api.py 98 0 100%\n src/node/ext/ugm/file.py 464 0 100%\n src/node/ext/ugm/interfaces.py 34 0 100%\n src/node/ext/ugm/tests/__init__.py 12 0 100%\n src/node/ext/ugm/tests/test_api.py 197 0 100%\n src/node/ext/ugm/tests/test_file.py 459 0 100%\n ---------------------------------------------------------------------------\n TOTAL 1282 0 100%\n\n\nPython Versions\n===============\n\n- Python 2.7, 3.3+, pypy\n\n- May work with other versions (untested)\n\n\nContributors\n============\n\n- Robert Niederreiter\n\n- Florian Friesdorf\n\n\nChanges\n=======\n\n0.9.9\n-----\n\n- ``node.ext.ugm.file.FileStorage`` no longer provides ``unicode_keys`` and\n ``unicode_values``, files are always read and written encoded by encoding\n defined at ``node.ext.ugm.file.ENCODING``, keys and values are always decoded\n to unicode on read.\n [rnix, 2017-06-07]\n\n- Python 3 Support.\n [rnix, 2017-06-07]\n\n\n0.9.8\n-----\n\n- Fix bug where non related principal data has been overwritten when adding\n principal on partial loaded ugm tree.\n [rnix, 2015-04-12]\n\n- Also delete user and group corresponding data if user or group is deleted.\n [rnix, 2015-04-11]\n\n- Fix ``node.ext.ugm.file.UsersBehavior.passwd`` behavior.\n [rnix, 2015-04-11]\n\n\n0.9.7\n-----\n\n- Create user and group data directories recursiv if not exists.\n [rnix, 2014-12-02]\n\n\n0.9.6\n-----\n\n- Encode plain passwd for comparing with hash.\n [rnix, 2014-09-10]\n\n\n0.9.5\n-----\n\n- Use ``plumbing`` decorator instead of ``plumber`` metaclass.\n [rnix, 2014-08-01]\n\n\n0.9.4\n-----\n\n- Use better password hashing for file based default UGM implementation.\n **Warning** - all existing passwords in user table do not work any longer\n and must be reset.\n [rnix, 2014-06-13]\n\n\n0.9.3\n-----\n\n- Rename parts to behaviors.\n [rnix, 2012-07-29]\n\n- adopt to ``node`` 0.9.8.\n [rnix, 2012-07-29]\n\n- Adopt to ``plumber`` 1.2.\n [rnix, 2012-07-29]\n\n- Add ``User.group_ids``.\n [rnix, 2012-07-26]\n\n\n0.9.2\n-----\n\n- Remove outdated stuff.\n [rnix, 2012-05-18]\n\n- Use ``zope.interface.implementer`` instead of ``zope.interface.implements``.\n [rnix, 2012-05-18]\n\n\n0.9.1\n-----\n\n- add ``Users.id_for_login``.\n [rnix, 2012-01-18]\n\n- Implement ``search`` function for file based UGM as described in interface.\n [rnix, 2011-11-22]\n\n- Adopt application startup hook for cone.ugm only setting auth implementation\n if explicitely defined.\n [rnix, 2011-11-21]\n\n\n0.9\n---\n\n- make it work\n [rnix, chaoflow]\n\n\n\nLicense\n=======\n\nCopyright (c) 2011-2017, BlueDynamics Alliance, Austria\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this \n list of conditions and the following disclaimer.\n* Redistributions in binary form must reproduce the above copyright notice, this \n list of conditions and the following disclaimer in the documentation and/or \n other materials provided with the distribution.\n* Neither the name of the BlueDynamics Alliance nor the names of its \n contributors may be used to endorse or promote products derived from this \n software without specific prior written permission.\n \nTHIS SOFTWARE IS PROVIDED BY BlueDynamics Alliance ``AS IS`` AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL BlueDynamics Alliance BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\nON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/bluedynamics/node.ext.ugm", "keywords": "node user group role", "license": "Simplified BSD", "maintainer": null, "maintainer_email": null, "name": "node.ext.ugm", "package_url": "https://pypi.org/project/node.ext.ugm/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/node.ext.ugm/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/bluedynamics/node.ext.ugm" }, "release_url": "https://pypi.org/project/node.ext.ugm/0.9.9/", "requires_dist": null, "requires_python": null, "summary": "Node-based user and group management", "version": "0.9.9" }, "last_serial": 2931816, "releases": { "0.9": [ { "comment_text": "", "digests": { "md5": "811bb8083ae14f4deec68f6ae17ee57c", "sha256": "b6787c574d7f6c96f4d037f7fa9be81a6ab21ca5765f173afe3521fd294f2124" }, "downloads": -1, "filename": "node.ext.ugm-0.9.tar.gz", "has_sig": false, "md5_digest": "811bb8083ae14f4deec68f6ae17ee57c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15071, "upload_time": "2011-09-20T14:37:40", "url": "https://files.pythonhosted.org/packages/a8/9d/83cfb35916482527b63d33c0674d5d368a68c138d17adcf189dd3402a3bf/node.ext.ugm-0.9.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "3b5bb2121559a90b64b536fb0ba56d0f", "sha256": "2ecad80cb49b4e80a1bfe5e38ea4e6c50015b5ef07f7b92ea389789d2e8e2a35" }, "downloads": -1, "filename": "node.ext.ugm-0.9.1.tar.gz", "has_sig": false, "md5_digest": "3b5bb2121559a90b64b536fb0ba56d0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16517, "upload_time": "2012-03-20T10:43:03", "url": "https://files.pythonhosted.org/packages/25/65/4d5a6e4002c83c744226dcb8c31261bebe365f90b980fa1bb0c516951195/node.ext.ugm-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "189d0bd54d9d4ae8e04ddb8d6466dea7", "sha256": "f9af385cfa3d97cb3da654792e668366b82312d1d2c7def6ac89822f0968c99e" }, "downloads": -1, "filename": "node.ext.ugm-0.9.2.tar.gz", "has_sig": false, "md5_digest": "189d0bd54d9d4ae8e04ddb8d6466dea7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13502, "upload_time": "2012-05-30T11:36:27", "url": "https://files.pythonhosted.org/packages/88/01/e5752abe55eb0b04b896a116cc3217c5b4fcb2644ce1230c0c262d1adc3b/node.ext.ugm-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "7e2a39ca11a2a9b8c31217845a910b48", "sha256": "84c79b6f2f3311851ff86c80a329e54e4099312ef47308c5f1eee64d626fb2a4" }, "downloads": -1, "filename": "node.ext.ugm-0.9.3.tar.gz", "has_sig": false, "md5_digest": "7e2a39ca11a2a9b8c31217845a910b48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14680, "upload_time": "2012-12-05T11:22:17", "url": "https://files.pythonhosted.org/packages/71/1c/b1f965707fbcf1edc476a55cc0b0c81c2ea8ce3c433fb291235f9843b57a/node.ext.ugm-0.9.3.tar.gz" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "0592e8d8fe65a967eecb43a638f3b149", "sha256": "9107ed5010b07deea7b6da2519732cc7983927837a9329be6f1c80c7fe3107ea" }, "downloads": -1, "filename": "node.ext.ugm-0.9.4.tar.gz", "has_sig": false, "md5_digest": "0592e8d8fe65a967eecb43a638f3b149", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15730, "upload_time": "2014-06-13T17:22:52", "url": "https://files.pythonhosted.org/packages/6e/9a/aa26d585e63f26f534a2fc164f83e1d1633987484e442284ec816cf6a0fd/node.ext.ugm-0.9.4.tar.gz" } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "7c0dd8eec34b54a2187dd305e8408912", "sha256": "f96a45534b44d7940c92f41ee4c9be408d13981ef77caa3e509afb1ad45e4013" }, "downloads": -1, "filename": "node.ext.ugm-0.9.5.tar.gz", "has_sig": false, "md5_digest": "7c0dd8eec34b54a2187dd305e8408912", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15650, "upload_time": "2014-09-09T11:27:35", "url": "https://files.pythonhosted.org/packages/5e/0a/aa9adbdb82a7f6b64ade9499aec760275d19f09717e634163d839b02aeda/node.ext.ugm-0.9.5.tar.gz" } ], "0.9.6": [ { "comment_text": "", "digests": { "md5": "16712d311d24080d9096800a2927a7b3", "sha256": "2a7c0863d10ef3ce367729c625b3d5539e1e04b255f5cb04c2ec9da5e9aceb9c" }, "downloads": -1, "filename": "node.ext.ugm-0.9.6.tar.gz", "has_sig": false, "md5_digest": "16712d311d24080d9096800a2927a7b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15711, "upload_time": "2014-09-10T07:55:36", "url": "https://files.pythonhosted.org/packages/7b/67/c78bb9a25d820b7b639814f70c4def02c694ec486f1d3c133fd0a0403ce5/node.ext.ugm-0.9.6.tar.gz" } ], "0.9.7": [ { "comment_text": "", "digests": { "md5": "42f05c48031aef5c8fd58952c0fe5139", "sha256": "32b6b1195ed2f4906d7453bcf864ae2ba4563805830175b4af2dbb73285fd52b" }, "downloads": -1, "filename": "node.ext.ugm-0.9.7.tar.gz", "has_sig": false, "md5_digest": "42f05c48031aef5c8fd58952c0fe5139", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15917, "upload_time": "2014-12-02T07:03:44", "url": "https://files.pythonhosted.org/packages/b8/4a/3bab5b7318e6b04020edaa70aaeefbd6a0b12a45702c6973c124d3b39b9f/node.ext.ugm-0.9.7.tar.gz" } ], "0.9.8": [ { "comment_text": "", "digests": { "md5": "46034e862e4d6c85159217d29a6a7f72", "sha256": "e28625d6f39147c2ac7168a1f64777ee2c8c1ee930b15078e9538f624667e244" }, "downloads": -1, "filename": "node.ext.ugm-0.9.8.tar.gz", "has_sig": false, "md5_digest": "46034e862e4d6c85159217d29a6a7f72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16416, "upload_time": "2015-04-12T19:12:15", "url": "https://files.pythonhosted.org/packages/90/08/9e7e8c45ae6051f7beadcd163f3c12c998b3f4cefeeda25b6d32adb95d86/node.ext.ugm-0.9.8.tar.gz" } ], "0.9.9": [ { "comment_text": "", "digests": { "md5": "f987c3f32819ca7f1790576502254378", "sha256": "a48d1931c1f9d22309cec67b90fec9c1eae89d6388b85e549073a8661d3b43cc" }, "downloads": -1, "filename": "node.ext.ugm-0.9.9.tar.gz", "has_sig": false, "md5_digest": "f987c3f32819ca7f1790576502254378", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16641, "upload_time": "2017-06-07T10:46:51", "url": "https://files.pythonhosted.org/packages/d7/ee/c6551a26c17a44f57aba167a1caab9f52838e7168c33ac4cebe844b74fb6/node.ext.ugm-0.9.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f987c3f32819ca7f1790576502254378", "sha256": "a48d1931c1f9d22309cec67b90fec9c1eae89d6388b85e549073a8661d3b43cc" }, "downloads": -1, "filename": "node.ext.ugm-0.9.9.tar.gz", "has_sig": false, "md5_digest": "f987c3f32819ca7f1790576502254378", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16641, "upload_time": "2017-06-07T10:46:51", "url": "https://files.pythonhosted.org/packages/d7/ee/c6551a26c17a44f57aba167a1caab9f52838e7168c33ac4cebe844b74fb6/node.ext.ugm-0.9.9.tar.gz" } ] }