Skip to main content

Dot notation python dicationary

Project description

pydotmap

built with Python3

This package is just a wrapper to python standard library dict and OrderedDict from pythoncollections library with support of pickling and unpickling. It will also make you able to use decorator that will save your time to convert dict definition param to pydotmap. It will allow you to use python dict or dictionary as dot notation just like javascript object.

How to initialize?

author = DotMap(name="Atul", surname="Singh")

Or

from pydotmap import DotMap

author = DotMap()
author.name = "Atul"
author.surname = "Singh"

Or

from pydotmap import DotMap

author = DotMap({"name": "Atul", "surname": "Singh"})
print(author.name, author.surname)

How to use?

from pydotmap import DotMap
from pydotmap import OrderedDotMap


author = DotMap(name="Atul", surname="Singh", addr=["country": "India"])
print(author.name)
print(author.surname)
del author.surname
print(author.surname)
print(author.get("surname", "singh"))  # you can use your default value same as dict
print(author.addr[0].country)


# Ordered Map - This will maintain the order of your dictionary

author = OrderedDotMap(name="atul", surname="singh", addr=[{"country": "India"}])
print(author)

You can pickle it also. How?

from pydotmap import DotMap
import pickle

author = DotMap(name="Atul")

print(pickle.dumps(author))

OUTPUT

b'\x80\x04\x952\x00\x00\x00\x00\x00\x00\x00\x8c\x0epydotmap.pymap\x94\x8c\x06DotMap\x94\x93\x94)\x81\x94\x8c\x04name\x94\x8c\x04Atul\x94sh\x03b.'

you can use OrderedDotMap same way as DotMap to create pickle dump

How to use pydotmap decorator?

from pydotmap import dotmap, ordered_dotmap

value = {"author": "atul"}


@dotmap
def check_dotmap_decorator(in_value):
    return in_value.author

print(check_dotmap_decorator(value))


@ordered_dotmap
def check_orderedmap_decorator(in_value):
    return in_value.author

print(check_orderedmap_decorator(value))


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

pydotmap-0.1.3.tar.gz (2.8 kB view details)

Uploaded Source

Built Distribution

pydotmap-0.1.3-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

Details for the file pydotmap-0.1.3.tar.gz.

File metadata

  • Download URL: pydotmap-0.1.3.tar.gz
  • Upload date:
  • Size: 2.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.6.12

File hashes

Hashes for pydotmap-0.1.3.tar.gz
Algorithm Hash digest
SHA256 8180d2c9adb6cc630d196720b76f0fe9bc275795b8ea2f6fdab856de8a9264ec
MD5 a80d39b3402ff9a1a8c26830ca20bcce
BLAKE2b-256 0cf195cf1eb7ab466e2530b57af415f89cf3e5b4599beee32f112ec336901272

See more details on using hashes here.

File details

Details for the file pydotmap-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: pydotmap-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 4.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.6.12

File hashes

Hashes for pydotmap-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ba7187e76e5e8723344de5a2e643e8ad44724fdc4f387284b3ddfe8fd03157dd
MD5 ff24d2173575639244fedc49c0d00d23
BLAKE2b-256 011d9bafb4dc7b7538f8b864e4a82fcb1597d5c9bd65ce53baa75348797f985a

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