News
Cellulose 0.2 has a few backwards-incompatible changes. Check the README for more information.
Changelog from 0.1.2 to 0.2:
* All tests pass with Python 2.5. * ComputedCell is now thread safe. * ComputedDict is now a little more friendly for subclassing. * The 'restrictions' functionality has been moved into it's own set of classes. * InputCellDescriptor will now take a default value. * Cell descriptors in general are easier to subclass. * DependantCell.dependency_changed now takes the dependency as an argument.
Sales Pitch (only I’m no salesman)
Cellulose provides a mechanism for maintaining consistency between inter-dependant values with caching and lazy evaluation.
You can think of it like a spreadsheet program – Many cells are are calculated from the values of other cells. When one cell changes, all of the dependant cells get updated with new values.
However, cellulose goes quite a ways beyond this. It guarantees that when a value is read, it is consistant with all the values it depends on. It also is lazy (read: efficient.) Calculating a value is put off till the very last possible moment, and only recalculated when absolutely needed.
Dependency discovery and cache invalidation are fully transparent and automatic. This greatly reduces a major source of bugs in software.
A goal of the project is to be as simple as possible, (but no simpler,) so that anyone wanting to seriously use it could easily understand the internals.
Cellulose is similar in purpose to PyCells, but is in a way ‘lower level’. It tries real hard to stay out of your way, but, as a result, lacks some of the helpers that PyCells provides. The most essential algorithmic difference is probably that Cellulose desperately wants to be lazy, while in PyCells everything is calculated immediately (by default.) (On the flipside of this, observers in PyCells are quite a bit easier to work with.)
Metadata
Release files for Cellulose 0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| Cellulose-0.2.tar.gz | 28.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| Cellulose-0.2-py2.5.egg | Legacy Egg format | - | - | Details |
Total release size: 72.5 kB
Release files / Cellulose-0.2.tar.gz
| Download URL | Cellulose-0.2.tar.gz |
|---|---|
| Size | 28.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aa3b28e0204e7b8873b5762a45952166abdb36d1b90847f57d6e5b96e3b7a6ff
|
|
BLAKE2b-256 checksum How to use checksums |
69a8c82b410058c64627cd5ec4c18ab64dd3bf7c8ac304b9b83815ac35bdda9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / Cellulose-0.2-py2.5.egg
| Download URL | Cellulose-0.2-py2.5.egg |
|---|---|
| Size | 43.8 kB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
3df73c8d8927df0ee7e0c7e692d3cfd174b4578368723f3e27d8693eee462789
|
|
BLAKE2b-256 checksum How to use checksums |
ebbc9e2befdce91231d214d7431737b5c56868092df4c9c277a60926a0c6a28e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for Cellulose 0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.