Socket
Socket
Sign inDemoInstall

dictns

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dictns

simple class that merge dictionary and object API


Maintainers
1

dictns

.. image:: https://travis-ci.org/tardyp/dictns.png?branch=master :target: https://travis-ci.org/tardyp/dictns

simple python class that merges dictionary and object APIs

Those Namespace objects work in a similar way as javascript objects. intended to help deadling with deep json objects, and save you a lot of [''] in your code

usage

.. code-block:: python

from dictns import Namespace
n = Namespace(dict(a=1, b=3, c=dict(d=4)))
assert(n['a'] == n.a)
assert(n['c']['d'] == n.c.d)

you can wrap dicts and lists inside Namespace

.. code-block:: python

n = Namespace([dict(a=1, b=3, c=[dict(d=4)])])
assert(n[0]['a'] == n[0].a)
assert(n[0]['c'][0]['d'] == n[0].c[0].d)

you can also wrap dict subclasses like OrderedDict, but the resulting Namespace does not inherit original object characteristics (i.e. order in OrderedDict)

see unit tests for more usage examples

ChangeLog:

  • 1.0: Initial version

  • 1.1: Added Namespace comparaison tools

  • 1.2: Namespace now support dict and list subclasses as input

  • 1.3:

    • Fix for compatibility with getattr() built-in method. When an invalid key is requested, it now raises an AttributeError instead of a KeyError.
    • Allow initialization without arg: Namespace() is equivalent to Namespace({}).
  • 1.4: Allow Namespace objects to be weak referenced

  • 1.5:

    • Fix tests for 3.5 and pypy
    • Readme cleanups

Developing

Launch unit tests:

python test/test_namespace.py

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc