Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bunches-0.1.0.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

bunches-0.1.0-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

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

Hashes for bunches-0.1.0.tar.gz
Algorithm Hash digest
SHA256 facfd4343db9b7df98cc05b4b65faee7af9bb9b46b86e77fed9afd865ef75336
MD5 18f42a0531f33b0de933b03aa3a94753
BLAKE2b-256 1378a4c25bd991b900e5477a06b019fa3ad4d9452ca38870a86417f59f92da0f

See more details on using hashes here.

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

Hashes for bunches-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 10a2c3ed2469faae3f9af4582bc2e87286c8d811c9c3c5a37d0e7369be40a3c1
MD5 cdb3fe6573fdd268516d3d299c626a89
BLAKE2b-256 6c1f92da6bc408db89b4d98e385c78983b682f1c9784a2334dc0c30152547dee

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page