{ "info": { "author": "Matthew Marshall", "author_email": "matthew@matthewmarshall.org", "bugtrack_url": null, "classifiers": [], "description": "News\n====\n\nCellulose 0.2 has a few backwards-incompatible changes. Check the README for\nmore information.\n\nChangelog from 0.1.2 to 0.2::\n\n * All tests pass with Python 2.5.\n * ComputedCell is now thread safe.\n * ComputedDict is now a little more friendly for subclassing.\n * The 'restrictions' functionality has been moved into it's own set of classes.\n * InputCellDescriptor will now take a default value.\n * Cell descriptors in general are easier to subclass.\n * DependantCell.dependency_changed now takes the dependency as an argument.\n\nSales Pitch (only I'm no salesman)\n==================================\n\nCellulose provides a mechanism for maintaining consistency between\ninter-dependant values with caching and lazy evaluation.\n\nYou can think of it like a spreadsheet program -- Many cells are are calculated\nfrom the values of other cells. When one cell changes, all of the dependant\ncells get updated with new values.\n\nHowever, cellulose goes quite a ways beyond this. It guarantees that when a\nvalue is read, it is consistant with all the values it depends on. It also is\nlazy (read: efficient.) Calculating a value is put off till the very last\npossible moment, and only recalculated when absolutely needed.\n\nDependency discovery and cache invalidation are fully transparent and automatic.\nThis greatly reduces a major source of bugs in software.\n\nA goal of the project is to be as simple as possible, (but no simpler,) so that\nanyone wanting to seriously use it could easily understand the internals.\n\nCellulose is similar in purpose to PyCells, but is in a way 'lower level'. It\ntries real hard to stay out of your way, but, as a result, lacks some of the\nhelpers that PyCells provides. The most essential algorithmic difference is\nprobably that Cellulose desperately wants to be lazy, while in PyCells everything\nis calculated immediately (by default.) (On the flipside of this, observers in\nPyCells are quite a bit easier to work with.)", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "UNKNOWN", "keywords": "cellulose dependency discovery lazy evaluation caching", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "Cellulose", "package_url": "https://pypi.org/project/Cellulose/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Cellulose/", "project_urls": { "Download": "UNKNOWN", "Homepage": "UNKNOWN" }, "release_url": "https://pypi.org/project/Cellulose/0.2/", "requires_dist": null, "requires_python": null, "summary": "A mechanism for maintaining consistency betweeninter-dependant values with caching and lazy evaluation.", "version": "0.2" }, "last_serial": 783925, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "3d85d99e7817840a9ca8c6dd9026c644", "sha256": "a31cabe9a44c4ba89d55ae1e9c03f20e12ab7584f18edad233b37373330cd1e0" }, "downloads": -1, "filename": "Cellulose-0.1-py2.4.egg", "has_sig": false, "md5_digest": "3d85d99e7817840a9ca8c6dd9026c644", "packagetype": "bdist_egg", "python_version": "any", "requires_python": null, "size": 39256, "upload_time": "2007-02-13T21:16:30", "url": "https://files.pythonhosted.org/packages/35/b2/3ebc243149de138755de4faec21f95ed056b14d32023a8489413f702cc39/Cellulose-0.1-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "38a2b4492cf3adf8617a63126f469dce", "sha256": "a7d7c5a97299af392bba7b89996da08136d44aefbf0f6be1b954465f289fdb82" }, "downloads": -1, "filename": "Cellulose-0.1.tar.gz", "has_sig": false, "md5_digest": "38a2b4492cf3adf8617a63126f469dce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23824, "upload_time": "2007-02-13T21:15:47", "url": "https://files.pythonhosted.org/packages/f1/ef/7a8f585f2729281b7f7c4391c78c02d06a54c290a69090085ccfd062a836/Cellulose-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "e0f03d16c7662dd374721b19b3ad1f98", "sha256": "566957482c2834392264a0a47717ee9ca9196e2e951a6eaf4d05fdfae1c0bff5" }, "downloads": -1, "filename": "Cellulose-0.1.1-py2.4.egg", "has_sig": false, "md5_digest": "e0f03d16c7662dd374721b19b3ad1f98", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 40381, "upload_time": "2007-03-26T17:22:14", "url": "https://files.pythonhosted.org/packages/31/80/8db8b6e0b95e8d4b9b6e6337185f343669c34483522432199d69534dcc56/Cellulose-0.1.1-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "4e44f5376b20be0fc13e1e4fafeddf0a", "sha256": "e2a96ab842b82baae7f6d3cb3128d5b34eba0e7cdfc897f1f9eb3438c431b38f" }, "downloads": -1, "filename": "Cellulose-0.1.1.tar.gz", "has_sig": false, "md5_digest": "4e44f5376b20be0fc13e1e4fafeddf0a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25622, "upload_time": "2007-03-26T17:15:21", "url": "https://files.pythonhosted.org/packages/08/33/b8330f1543584afb137f3992c9e20040ab0fc9a81b1de1b92748815cf738/Cellulose-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "82def55f2dadef1a3fc32764e851a2ca", "sha256": "2e9c28b746dd252e363a33d480c956ce16402d2cf324aca62c54900083b112c8" }, "downloads": -1, "filename": "Cellulose-0.1.2-py2.4.egg", "has_sig": false, "md5_digest": "82def55f2dadef1a3fc32764e851a2ca", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 41705, "upload_time": "2007-04-09T17:15:27", "url": "https://files.pythonhosted.org/packages/a5/03/5c73c36f94d1d85b1b205d6bd26087a0269c9e994cc09d31d21b294413f5/Cellulose-0.1.2-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "0ee1805e197db54ca8ce3d0783e1015b", "sha256": "121b790f4441a3f5ba88d60c800cc8d843361b8f15559b82fe022b0debb2b016" }, "downloads": -1, "filename": "Cellulose-0.1.2.tar.gz", "has_sig": false, "md5_digest": "0ee1805e197db54ca8ce3d0783e1015b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26708, "upload_time": "2007-04-09T17:14:58", "url": "https://files.pythonhosted.org/packages/47/1b/e8940c904b424bd06970b0e6275336ac8b8ab82548fa082e22fe5e8f2d63/Cellulose-0.1.2.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "bc5c4088e0e3f993a32c0c82829f6013", "sha256": "3df73c8d8927df0ee7e0c7e692d3cfd174b4578368723f3e27d8693eee462789" }, "downloads": -1, "filename": "Cellulose-0.2-py2.5.egg", "has_sig": false, "md5_digest": "bc5c4088e0e3f993a32c0c82829f6013", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 43845, "upload_time": "2007-06-08T19:02:59", "url": "https://files.pythonhosted.org/packages/eb/bc/9e2befdce91231d214d7431737b5c56868092df4c9c277a60926a0c6a28e/Cellulose-0.2-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "fc62bc2867fc20832b2d75e63cfd5434", "sha256": "aa3b28e0204e7b8873b5762a45952166abdb36d1b90847f57d6e5b96e3b7a6ff" }, "downloads": -1, "filename": "Cellulose-0.2.tar.gz", "has_sig": false, "md5_digest": "fc62bc2867fc20832b2d75e63cfd5434", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28616, "upload_time": "2007-06-08T19:02:37", "url": "https://files.pythonhosted.org/packages/69/a8/c82b410058c64627cd5ec4c18ab64dd3bf7c8ac304b9b83815ac35bdda9e/Cellulose-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bc5c4088e0e3f993a32c0c82829f6013", "sha256": "3df73c8d8927df0ee7e0c7e692d3cfd174b4578368723f3e27d8693eee462789" }, "downloads": -1, "filename": "Cellulose-0.2-py2.5.egg", "has_sig": false, "md5_digest": "bc5c4088e0e3f993a32c0c82829f6013", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 43845, "upload_time": "2007-06-08T19:02:59", "url": "https://files.pythonhosted.org/packages/eb/bc/9e2befdce91231d214d7431737b5c56868092df4c9c277a60926a0c6a28e/Cellulose-0.2-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "fc62bc2867fc20832b2d75e63cfd5434", "sha256": "aa3b28e0204e7b8873b5762a45952166abdb36d1b90847f57d6e5b96e3b7a6ff" }, "downloads": -1, "filename": "Cellulose-0.2.tar.gz", "has_sig": false, "md5_digest": "fc62bc2867fc20832b2d75e63cfd5434", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28616, "upload_time": "2007-06-08T19:02:37", "url": "https://files.pythonhosted.org/packages/69/a8/c82b410058c64627cd5ec4c18ab64dd3bf7c8ac304b9b83815ac35bdda9e/Cellulose-0.2.tar.gz" } ] }