Skip to main content

Add dictionary-like capabilities to dataclasses

Project description

DataDict

Treat dataclasses like dictionaries

v1.0.0 Python versions Tests Code style: black Interrogate

Installing DataDict

DataDict is available at PyPI. You can install it using Pip:

$ python -m pip install datadict

Using DataDict

You can use a DataDict dataclass as a drop-in replacement for dataclasses.dataclass in the standard library:

from datadict import dataclass

@dataclass(order=True)
class Point:
    x: int
    y: int

For instances of the new data class, you can access attributes using square brackets, similar to dictionary access:

>>> point = Point(1, 2)
>>> point
Point(x=1, y=2)

>>> point.x
1
>>> point["x"]
1

>>> point["y"] = 3
>>> point
Point(x=1, y=3)

You can also convert the dataclass instance to a proper dictionary:

>>> point.asdict()
{'x': 1, 'y': 3}

Installing From Source

You can always download the latest version of DataDict from GitHub. DataDict uses Flit as a build tool.

To install DataDict from the downloaded source, run Flit through pip:

$ python -m pip install .

If you want to change and play with the DataDict source code, you should install it in editable mode:

$ python -m pip install -w .[dev,test]

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

datadict-1.0.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

datadict-1.0.0-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

File details

Details for the file datadict-1.0.0.tar.gz.

File metadata

  • Download URL: datadict-1.0.0.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.28.1

File hashes

Hashes for datadict-1.0.0.tar.gz
Algorithm Hash digest
SHA256 6fd5452bf48cabfa68ab5a7d865f2d1dec48c1e8f5d74b061a9ca9fc8e7ae46e
MD5 02eb42429840f82141e16100a7af7b1b
BLAKE2b-256 f06dd4bc6fbc81a5d484eb4d907bca36897ab06ae5b1010ca46d920f49ad4c9b

See more details on using hashes here.

File details

Details for the file datadict-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: datadict-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 3.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.28.1

File hashes

Hashes for datadict-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a8609e990bdfd1efa2cbbaf3e545bd0b0f8528518b30bcbdfc39d07993834c72
MD5 e2e92cc7def3a84e20e99df417cb8ec1
BLAKE2b-256 234e4b3109635074e24f50c3e5e281b11ec4d3c447c48fc36302a908cbfa52b1

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