flexible, extensible python data structures
Project description
The goal of bunches is provide lightweight, turnkey, extensible data containers. bunches's framework supports a wide range of coding styles. You can create complex multiple inheritance structures with mixins galore or simpler, compositional objects.
The current classes available (as bunches.ContainerThatIWant) are: Listing: list-like class with 'add', 'prepend', and 'subset' methods. The 'add' method tries to intelligently decide whether the passed item(s) to add should be appended or extended on the stored list. Hybrid: list-like class that also has a full dict interface. Stored items must have a 'name' attribute or allow name inference via the 'get_name' function. Dictionary: dict-like class with 'add' and 'subset' methods. It also includes a 'default_factory' parameter providing the same functionality as a defaultdict. Catalog: dict-like class that allows lists of keys to be used for its various methods (including dunder access methods) and supports three wildcard keys: 'none', 'default', and 'all'. If lists of keys are passed or the 'default' and 'all' keys are used, a list of values is returned. Library: dict-like class that includes two chained dicts: 'instances' and 'classes'. Users can deposit classes and instances in a Library and they are stored and accessed intelligently. When instances are deposited, it is stored in 'instances' and its class is stored in 'classes'.
The project is also highly documented so that users and developers and make bunches work with their projects. It is designed for Python coders at all levels. Beginners should be able to follow the readable code and internal documentation to understand how it works. More advanced users should find complex and tricky problems addressed through efficient code.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file bunches-0.1.0.tar.gz
.
File metadata
- Download URL: bunches-0.1.0.tar.gz
- Upload date:
- Size: 13.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.7 CPython/3.9.5 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | facfd4343db9b7df98cc05b4b65faee7af9bb9b46b86e77fed9afd865ef75336 |
|
MD5 | 18f42a0531f33b0de933b03aa3a94753 |
|
BLAKE2b-256 | 1378a4c25bd991b900e5477a06b019fa3ad4d9452ca38870a86417f59f92da0f |
File details
Details for the file bunches-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: bunches-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.7 CPython/3.9.5 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10a2c3ed2469faae3f9af4582bc2e87286c8d811c9c3c5a37d0e7369be40a3c1 |
|
MD5 | cdb3fe6573fdd268516d3d299c626a89 |
|
BLAKE2b-256 | 6c1f92da6bc408db89b4d98e385c78983b682f1c9784a2334dc0c30152547dee |