Skip to main content

A lightweight Python class that behaves like a dict but supports attribute-style access.

Project description

Bunch

A simple Python class that allows dictionary-style and attribute-style access to data interchangeably. Think of it as a lightweight object wrapper for dictionaries — great for config objects, JSON responses, or anything else you'd normally throw in a dict.

Features

  • Access keys as attributes or like a dictionary
  • Convert from regular dictionaries
  • Pretty-printed JSON representation
  • Check if a value exists
  • Fully compatible with in, .keys(), .items(), etc.

Installation

You can install this package via PIP: pip install python-bunch

Usage

# - Mutable Bunch -
from bunch.bunch import Bunch

my_bunch = Bunch({'name': 'Jane', 'age': 30})

print(my_bunch.name)  # Output: Jane
print(my_bunch['age'])  # Output: 30

# - Immutable Bunch -v
from bunch.immutable_bunch import ImmutableBunch

my_immutable_bunch = ImmutableBunch({'name': 'John', 'age': 25})
print(my_immutable_bunch.name)  # Output: John
print(my_immutable_bunch['age'])  # Output: 35

# Attempting to modify an ImmutableBunch will raise an Exception
my_immutable_bunch.name = 'Alice'  # Raises ImmutableBunchException

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

python_bunch-0.1.7.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python_bunch-0.1.7-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file python_bunch-0.1.7.tar.gz.

File metadata

  • Download URL: python_bunch-0.1.7.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for python_bunch-0.1.7.tar.gz
Algorithm Hash digest
SHA256 006ee78c6b310344ace7bbb488d014b15b820894186cdfb77b4bf9e1ccf98fe2
MD5 fb961ce54fe19a7b063fc8991d66e6fa
BLAKE2b-256 fbf16b46e4bc595dc43636e9866e2cdb6a7ecaa9fd4500f05199dd8ad2c89e15

See more details on using hashes here.

File details

Details for the file python_bunch-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: python_bunch-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 4.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for python_bunch-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 d1671e67612ea08be714c86bfd5bd02cf7ab506e66398ad4f7bf971a9e9a54d0
MD5 2dfec3d77a97493837d2aeb74855c48a
BLAKE2b-256 a6352dadb1333f414ba8ec89239fa8e966aeeff529a2880d057c572eb664d154

See more details on using hashes here.

Supported by

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