{ "info": { "author": "Cameron Simpson", "author_email": "cs@zip.com.au", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "NodeDB: a collection of native Python objects with backing store\n================================================================\n\nA NodeDB is a base class for (currently small) databases of Node objects, native Python objects identified by their .type and .name attributes, and with uppercase attributes.\n\nNode attribute access\n---------------------\n\nAs far as the backing store goes, each attribute is a sequence of values. Within Python, an attribute may be directly accessed as .FOO, which returns element 0 if the value sequence and requires the sequence to have exactly one element, or as .FOOs or .FOOes (note the lowercase plural suffix) which returns a view of the whole sequence.\n\nThe plural forms return a sequence view which itself accepts .FOO or .FOOs attributes. If the values are all Nodes, .FOOs returns a new view with all the .FOO values from each Node, so one may cascade access through a graph of Nodes, example::\n\n N.LIST_MEMBERs.EMAIL_ADDRESSes\n\nwhich might return a sequence of email addresses from all the .LIST_MEMBER values from the root Node `N`.\n\nThe Node attributes obey both the sequence API and some of the set API: you can .append to or .extend one, or .add to or .update as with a set::\n\n M = MemberNode(\"bill\")\n N.LIST_MEMBERs.add(M)\n\nBacking Stores\n--------------\n\nA NodeDB can be backed by a CSV file (beta quality - I use it myself extensively) or SQL or a DBM file (alpha quality, both need some work). The CSV backend allows multiple clients to share the file; they update by appending to the file and monitor the updates of others.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/cameron_simpson/css/commits/all", "keywords": "python2,python3", "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "cs.nodedb", "package_url": "https://pypi.org/project/cs.nodedb/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/cs.nodedb/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://bitbucket.org/cameron_simpson/css/commits/all" }, "release_url": "https://pypi.org/project/cs.nodedb/20160828/", "requires_dist": null, "requires_python": null, "summary": "a simple and versatile collection of nodes with attributes, accessed as direct Python objects and automatically transcribed to assorted backing stores (CSV, SQL, GDBM, etc); the CSV backend can be (loosely) shared between multiple clients", "version": "20160828" }, "last_serial": 2309070, "releases": { "20150118": [ { "comment_text": "", "digests": { "md5": "930988f38dcac56ad5c88cd3f825aabc", "sha256": "bb788cfcdd264654df7071d90d24623186da7e64620a8bb8b0bf106c95f54776" }, "downloads": -1, "filename": "cs.nodedb-20150118.tar.gz", "has_sig": false, "md5_digest": "930988f38dcac56ad5c88cd3f825aabc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32357, "upload_time": "2015-01-18T06:25:14", "url": "https://files.pythonhosted.org/packages/ee/d9/657754b9c2071105ded2edc3ebbf5ab6f79a59221fa632437569024dd0f3/cs.nodedb-20150118.tar.gz" } ], "20160828": [ { "comment_text": "", "digests": { "md5": "6170dcfe421a1b17834a7b77d1facb26", "sha256": "daa076a26ab381d2ceb368434047924dc4ace19d4673076a3d23de214b1ad662" }, "downloads": -1, "filename": "cs.nodedb-20160828.tar.gz", "has_sig": false, "md5_digest": "6170dcfe421a1b17834a7b77d1facb26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33427, "upload_time": "2016-08-28T06:08:14", "url": "https://files.pythonhosted.org/packages/ba/22/a19c841e67b7922c6d30638079b7636bcb2155e0ed76fdb24a601c7dcc95/cs.nodedb-20160828.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6170dcfe421a1b17834a7b77d1facb26", "sha256": "daa076a26ab381d2ceb368434047924dc4ace19d4673076a3d23de214b1ad662" }, "downloads": -1, "filename": "cs.nodedb-20160828.tar.gz", "has_sig": false, "md5_digest": "6170dcfe421a1b17834a7b77d1facb26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33427, "upload_time": "2016-08-28T06:08:14", "url": "https://files.pythonhosted.org/packages/ba/22/a19c841e67b7922c6d30638079b7636bcb2155e0ed76fdb24a601c7dcc95/cs.nodedb-20160828.tar.gz" } ] }