easy-dict-linshangsheng


Nameeasy-dict-linshangsheng JSON
Version 1.10.dev0 PyPI version JSON
download
home_pagehttps://github.com/makinacorpus/easydict
SummaryAccess dict values as attributes (works recursively).
upload_time2024-05-20 14:27:38
maintainerNone
docs_urlNone
authorMathieu Leplatre
requires_pythonNone
licenseLGPL-3.0
keywords mbtiles mapnik
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            *EasyDict* allows to access dict values as attributes (works recursively). 
A Javascript-like properties dot notation for python dicts.

=====
USAGE
=====

::

    >>> from easydict import EasyDict as edict
    >>> d = edict({'foo':3, 'bar':{'x':1, 'y':2}})
    >>> d.foo
    3
    >>> d.bar.x
    1
    
    >>> d = edict(foo=3)
    >>> d.foo
    3


Very useful when exploiting parsed JSON content ! 

::

    >>> from easydict import EasyDict as edict
    >>> from simplejson import loads
    >>> j = """{
    "Buffer": 12,
    "List1": [
        {"type" : "point", "coordinates" : [100.1,54.9] },
        {"type" : "point", "coordinates" : [109.4,65.1] },
        {"type" : "point", "coordinates" : [115.2,80.2] },
        {"type" : "point", "coordinates" : [150.9,97.8] }
    ]
    }"""
    >>> d = edict(loads(j))
    >>> d.Buffer
    12
    >>> d.List1[0].coordinates[1]
    54.9

Can set attributes as easily as getting them :

::

    >>> d = EasyDict()
    >>> d.foo = 3
    >>> d.foo
    3

It is still a ``dict`` !

::

    >>> d = EasyDict(log=False)
    >>> d.debug = True
    >>> d.items()
    [('debug', True), ('log', False)]

Instance and class attributes are accessed like usual objects...

::

    >>> class Flower(EasyDict):
    ...     power = 1
    ...
    >>> f = Flower({'height': 12})
    >>> f.power
    1
    >>> f['power']
    1

=======
LICENSE
=======

* Lesser GNU Public License

=======
AUTHORS
=======

* Mathieu Leplatre <mathieu.leplatre@makina-corpus.com>

|makinacom|_

.. |makinacom| image:: http://depot.makina-corpus.org/public/logo.gif
.. _makinacom:  http://www.makina-corpus.com

Similar tools
=============

* `TreeDict <http://pypi.python.org/pypi/treedict>`_, a fast and full-featured dict-like tree container.
* `addict <https://github.com/mewwts/addict>`_


=========
CHANGELOG
=========

1.10 (unreleased)
=================

- Nothing changed yet.


1.9 (2018-10-18)
================

* Fix issue #3 that update and pop now work correctly on EasyDicts.


1.8 (2018-08-17)
================

* Update package classifiers.


1.7 (2017-04-27)
================

* Prevent copying sub-EasyDicts on assignment to fix unpickling (#7, thanks @Chronos-Sk)

1.6 (2015-01-27)
================

* Allow setting attributes via setting items (thanks phivos)

1.5 (2014-08-07)
================

* Allow subclassing using self instead of class name (thanks Steve Engledow)

1.4 (2011-03-13)
================

* Access class attributes like instance attributes

1.3 (2012-02-08)
================

* Better documentation and tests

1.2 (2011-06-08)
================

* Fix inclusion of README

1.1 (2012-04-21)
================

* Switch to distutils2

1.0 (2011-04-18)
================

* Initial working version

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/makinacorpus/easydict",
    "name": "easy-dict-linshangsheng",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "MBTiles, Mapnik",
    "author": "Mathieu Leplatre",
    "author_email": "mathieu.leplatre@makina-corpus.com",
    "download_url": "https://files.pythonhosted.org/packages/9a/86/8dd3551f1fe132d96592b5699dfbb7d8cb21ef860043b8da6f1e58bbc2d8/easy_dict_linshangsheng-1.10.dev0.tar.gz",
    "platform": null,
    "description": "*EasyDict* allows to access dict values as attributes (works recursively). \nA Javascript-like properties dot notation for python dicts.\n\n=====\nUSAGE\n=====\n\n::\n\n    >>> from easydict import EasyDict as edict\n    >>> d = edict({'foo':3, 'bar':{'x':1, 'y':2}})\n    >>> d.foo\n    3\n    >>> d.bar.x\n    1\n    \n    >>> d = edict(foo=3)\n    >>> d.foo\n    3\n\n\nVery useful when exploiting parsed JSON content ! \n\n::\n\n    >>> from easydict import EasyDict as edict\n    >>> from simplejson import loads\n    >>> j = \"\"\"{\n    \"Buffer\": 12,\n    \"List1\": [\n        {\"type\" : \"point\", \"coordinates\" : [100.1,54.9] },\n        {\"type\" : \"point\", \"coordinates\" : [109.4,65.1] },\n        {\"type\" : \"point\", \"coordinates\" : [115.2,80.2] },\n        {\"type\" : \"point\", \"coordinates\" : [150.9,97.8] }\n    ]\n    }\"\"\"\n    >>> d = edict(loads(j))\n    >>> d.Buffer\n    12\n    >>> d.List1[0].coordinates[1]\n    54.9\n\nCan set attributes as easily as getting them :\n\n::\n\n    >>> d = EasyDict()\n    >>> d.foo = 3\n    >>> d.foo\n    3\n\nIt is still a ``dict`` !\n\n::\n\n    >>> d = EasyDict(log=False)\n    >>> d.debug = True\n    >>> d.items()\n    [('debug', True), ('log', False)]\n\nInstance and class attributes are accessed like usual objects...\n\n::\n\n    >>> class Flower(EasyDict):\n    ...     power = 1\n    ...\n    >>> f = Flower({'height': 12})\n    >>> f.power\n    1\n    >>> f['power']\n    1\n\n=======\nLICENSE\n=======\n\n* Lesser GNU Public License\n\n=======\nAUTHORS\n=======\n\n* Mathieu Leplatre <mathieu.leplatre@makina-corpus.com>\n\n|makinacom|_\n\n.. |makinacom| image:: http://depot.makina-corpus.org/public/logo.gif\n.. _makinacom:  http://www.makina-corpus.com\n\nSimilar tools\n=============\n\n* `TreeDict <http://pypi.python.org/pypi/treedict>`_, a fast and full-featured dict-like tree container.\n* `addict <https://github.com/mewwts/addict>`_\n\n\n=========\nCHANGELOG\n=========\n\n1.10 (unreleased)\n=================\n\n- Nothing changed yet.\n\n\n1.9 (2018-10-18)\n================\n\n* Fix issue #3 that update and pop now work correctly on EasyDicts.\n\n\n1.8 (2018-08-17)\n================\n\n* Update package classifiers.\n\n\n1.7 (2017-04-27)\n================\n\n* Prevent copying sub-EasyDicts on assignment to fix unpickling (#7, thanks @Chronos-Sk)\n\n1.6 (2015-01-27)\n================\n\n* Allow setting attributes via setting items (thanks phivos)\n\n1.5 (2014-08-07)\n================\n\n* Allow subclassing using self instead of class name (thanks Steve Engledow)\n\n1.4 (2011-03-13)\n================\n\n* Access class attributes like instance attributes\n\n1.3 (2012-02-08)\n================\n\n* Better documentation and tests\n\n1.2 (2011-06-08)\n================\n\n* Fix inclusion of README\n\n1.1 (2012-04-21)\n================\n\n* Switch to distutils2\n\n1.0 (2011-04-18)\n================\n\n* Initial working version\n",
    "bugtrack_url": null,
    "license": "LGPL-3.0",
    "summary": "Access dict values as attributes (works recursively).",
    "version": "1.10.dev0",
    "project_urls": {
        "Download": "http://pypi.python.org/pypi/easydict/",
        "Homepage": "https://github.com/makinacorpus/easydict"
    },
    "split_keywords": [
        "mbtiles",
        " mapnik"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9a868dd3551f1fe132d96592b5699dfbb7d8cb21ef860043b8da6f1e58bbc2d8",
                "md5": "9bad7ac0fffbfe596814d0bc5e77db1c",
                "sha256": "b159dc768da5a78d35821b06a08b9b10e2be0feb49eb3d2bebcf50f57adba411"
            },
            "downloads": -1,
            "filename": "easy_dict_linshangsheng-1.10.dev0.tar.gz",
            "has_sig": false,
            "md5_digest": "9bad7ac0fffbfe596814d0bc5e77db1c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 6848,
            "upload_time": "2024-05-20T14:27:38",
            "upload_time_iso_8601": "2024-05-20T14:27:38.548740Z",
            "url": "https://files.pythonhosted.org/packages/9a/86/8dd3551f1fe132d96592b5699dfbb7d8cb21ef860043b8da6f1e58bbc2d8/easy_dict_linshangsheng-1.10.dev0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-20 14:27:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "makinacorpus",
    "github_project": "easydict",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "easy-dict-linshangsheng"
}
        
Elapsed time: 0.52267s