Skip to main content

Attrify

Codacy Badge PyPI Download Stats PyPI Version Code style

Access python dict keys as attributes

Installation

  • Install using pip: pip install attrify

Examples

  • Convert normal dict
from attrify import Attrify

normal_dict = {'name': 'Cool'}
attrified_dict = Attrify(normal_dict)
# or
attrified_dict = Attrify(**normal_dict)

assert attrified_dict['name'] == attrified_dict.name
  • Convert complex nested dict
complex_nested_normal_dict = {"data": {"results": [{"name": "something"}, {"name": "anything"}]}}
complex_nested_attrified_dict = Attrify(complex_nested_normal_dict)
# or
complex_nested_attrified_dict = Attrify(**complex_nested_normal_dict)

assert complex_nested_attrified_dict.data.results[0].name == complex_nested_normal_dict['data']['results'][0]['name']
  • Convert back to dict
normal_dict = {'name': 'Cool'}
attrified_dict = Attrify(normal_dict)
assert type(attrified_dict.to_dict()) == type(normal_dict)
  • Keys inside dir: Will only contain with alphabetic keys, To see which keys are considered alphabetic see help(str.isalpha)
attrified_dict = Attrify({'name': 'Cool'})
print(dir(attrified_dict)) # List return will contain the key 'name'.
  • There is also a shortcut method to prettify dict, Just calls json.dumps with some args set.
print(complex_nested_attrified_dict.prettify())

Release files for attrify 3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for attrify 3.0
File Size Uploaded
attrify-3.0.tar.gz 4.0 kB Details

Release files / attrify-3.0.tar.gz

Download URL attrify-3.0.tar.gz
Size 4.0 kB
Tags Source
SHA-256 checksum
How to use checksums
3446ac32140c6a4ad2a5d6fc4a9aa42c7f1cc3f4b9ff916fef88dc27fcfe3cd3
BLAKE2b-256 checksum
How to use checksums
9e766b6fb6309d56b7547e8368e378877e34f8f006ae3769a3109e9fe46eee4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.3

Release history Release notifications | RSS feed

This release

3.0 This release

1 release file

2.0

1 release file

1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page