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", sirname="Singh")

Or

from pydotmap import DotMap

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

How to use?

from pydotmap import DotMap
from pydotmap import OrderedDotMap


author = DotMap(name="Atul", sirname="Singh", addr=["country": "India"])
print(author.name)
print(author.sirname)
del author.sirname
print(author.sirname)
print(author.get("sirname", "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", sirname="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
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.1.tar.gz (3.0 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: pydotmap-0.1.1.tar.gz
  • Upload date:
  • Size: 3.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.8.8

File hashes

Hashes for pydotmap-0.1.1.tar.gz
Algorithm Hash digest
SHA256 dbec1bf40c4ce6e615a9e7b66004e3057f7d6fc0e89a0345a93e572f5914f08d
MD5 ed2b70cb79e58f911923184d2db9e57e
BLAKE2b-256 a6f7dfb7ad9dc54551b097f03951659281c57715428429c226df70fd8cac4c37

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pydotmap-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 4.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.8.8

File hashes

Hashes for pydotmap-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1219b781514738d1feb603acdd3b65eb0b1312a84d9f5f0e201165cd0acd3572
MD5 96795b50f3ace04c19eb10d6c17a3279
BLAKE2b-256 08d9cb5829e38ea4ad696c68b8a48c98fbf80780974609833823a9bf3917f4aa

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