python-box


Namepython-box JSON
Version 7.3.0 PyPI version JSON
download
home_pagehttps://github.com/cdgriffith/Box
SummaryAdvanced Python dictionaries with dot notation access
upload_time2024-12-10 03:21:59
maintainerNone
docs_urlNone
authorChris Griffith
requires_python>=3.9
licenseMIT
keywords
VCS
bugtrack_url
requirements msgpack ruamel.yaml tomli tomli-w
Travis-CI No Travis.
coveralls test coverage
            |BuildStatus| |License|

|BoxImage|

.. code:: python

        from box import Box

        movie_box = Box({ "Robin Hood: Men in Tights": { "imdb stars": 6.7, "length": 104 } })

        movie_box.Robin_Hood_Men_in_Tights.imdb_stars
        # 6.7


Box will automatically make otherwise inaccessible keys safe to access as an attribute.
You can always pass `conversion_box=False` to `Box` to disable that behavior.
Also, all new dict and lists added to a Box or BoxList object are converted automatically.

There are over a half dozen ways to customize your Box and make it work for you.

Check out the new `Box github wiki <https://github.com/cdgriffith/Box/wiki>`_ for more details and examples!

Install
=======

**Version Pin Your Box!**

If you aren't in the habit of version pinning your libraries, it will eventually bite you.
Box has a `list of breaking change <https://github.com/cdgriffith/Box/wiki/Major-Version-Breaking-Changes>`_ between major versions you should always check out before updating.

requirements.txt
----------------

.. code:: text

        python-box[all]~=7.0

As Box adheres to semantic versioning (aka API changes will only occur on between major version),
it is best to use `Compatible release <https://www.python.org/dev/peps/pep-0440/#compatible-release>`_ matching using the `~=` clause.

Install from command line
-------------------------

.. code:: bash

        python -m pip install --upgrade pip
        pip install python-box[all]~=7.0 --upgrade

Install with selected dependencies
----------------------------------

Box does not install external dependencies such as yaml and toml writers. Instead you can specify which you want,
for example, `[all]` is shorthand for:

.. code:: bash

        pip install python-box[ruamel.yaml,tomli_w,msgpack]~=7.0 --upgrade

But you can also sub out `ruamel.yaml` for `PyYAML`.

Check out `more details <https://github.com/cdgriffith/Box/wiki/Installation>`_ on installation details.

Box 7 is tested on python 3.7+, if you are upgrading from previous versions, please look through
`any breaking changes and new features <https://github.com/cdgriffith/Box/wiki/Major-Version-Breaking-Changes>`_.

Optimized Version
-----------------

Box has introduced Cython optimizations for major platforms by default.
Loading large data sets can be up to 10x faster!

If you are **not** on a x86_64 supported system you will need to do some extra work to install the optimized version.
There will be an warning of "WARNING: Cython not installed, could not optimize box" during install.
You will need python development files, system compiler, and the python packages `Cython` and `wheel`.

**Linux Example:**

First make sure you have python development files installed (`python3-dev` or `python3-devel` in most repos).
You will then need `Cython` and `wheel` installed and then install (or re-install with `--force`) `python-box`.

.. code:: bash

        pip install Cython wheel
        pip install python-box[all]~=7.0 --upgrade --force

If you have any issues please open a github issue with the error you are experiencing!

Overview
========

`Box` is designed to be a near transparent drop in replacements for
dictionaries that add dot notation access and other powerful feature.

There are a lot of `types of boxes <https://github.com/cdgriffith/Box/wiki/Types-of-Boxes>`_
to customize it for your needs, as well as handy `converters <https://github.com/cdgriffith/Box/wiki/Converters>`_!

Keep in mind any sub dictionaries or ones set after initiation will be automatically converted to
a `Box` object, and lists will be converted to `BoxList`, all other objects stay intact.

Check out the `Quick Start <https://github.com/cdgriffith/Box/wiki/Quick-Start>`_  for more in depth details.

`Box` can be instantiated the same ways as `dict`.

.. code:: python

        Box({'data': 2, 'count': 5})
        Box(data=2, count=5)
        Box({'data': 2, 'count': 1}, count=5)
        Box([('data', 2), ('count', 5)])

        # All will create
        # <Box: {'data': 2, 'count': 5}>

`Box` is a subclass of `dict` which overrides some base functionality to make
sure everything stored in the dict can be accessed as an attribute or key value.

.. code:: python

      small_box = Box({'data': 2, 'count': 5})
      small_box.data == small_box['data'] == getattr(small_box, 'data')

All dicts (and lists) added to a `Box` will be converted on insertion to a `Box` (or `BoxList`),
allowing for recursive dot notation access.

`Box` also includes helper functions to transform it back into a `dict`,
as well as into `JSON`, `YAML`, `TOML`, or `msgpack` strings or files.


Thanks
======

A huge thank you to everyone that has given features and feedback over the years to Box! Check out everyone that has contributed_.

A big thanks to Python Software Foundation, and PSF-Trademarks Committee, for official approval to use the Python logo on the `Box` logo!

Also special shout-out to PythonBytes_, who featured Box on their podcast.


License
=======

MIT License, Copyright (c) 2017-2023 Chris Griffith. See LICENSE_ file.


.. |BoxImage| image:: https://raw.githubusercontent.com/cdgriffith/Box/master/box_logo.png
   :target: https://github.com/cdgriffith/Box
.. |BuildStatus| image:: https://github.com/cdgriffith/Box/workflows/Tests/badge.svg?branch=master
   :target: https://github.com/cdgriffith/Box/actions?query=workflow%3ATests
.. |License| image:: https://img.shields.io/pypi/l/python-box.svg
   :target: https://pypi.python.org/pypi/python-box/

.. _PythonBytes: https://pythonbytes.fm/episodes/show/19/put-your-python-dictionaries-in-a-box-and-apparently-python-is-really-wanted
.. _contributed: AUTHORS.rst
.. _`Wrapt Documentation`: https://wrapt.readthedocs.io/en/latest
.. _reusables: https://github.com/cdgriffith/reusables#reusables
.. _created: https://github.com/cdgriffith/Reusables/commit/df20de4db74371c2fedf1578096f3e29c93ccdf3#diff-e9a0f470ef3e8afb4384dc2824943048R51
.. _LICENSE: https://github.com/cdgriffith/Box/blob/master/LICENSE

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/cdgriffith/Box",
    "name": "python-box",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": "Chris Griffith",
    "author_email": "chris@cdgriffith.com",
    "download_url": "https://files.pythonhosted.org/packages/79/8d/ed12ca8b90b2fce966fdaad7de40f0980f1e9dababb9c963738326687c6a/python_box-7.3.0.tar.gz",
    "platform": "any",
    "description": "|BuildStatus| |License|\n\n|BoxImage|\n\n.. code:: python\n\n        from box import Box\n\n        movie_box = Box({ \"Robin Hood: Men in Tights\": { \"imdb stars\": 6.7, \"length\": 104 } })\n\n        movie_box.Robin_Hood_Men_in_Tights.imdb_stars\n        # 6.7\n\n\nBox will automatically make otherwise inaccessible keys safe to access as an attribute.\nYou can always pass `conversion_box=False` to `Box` to disable that behavior.\nAlso, all new dict and lists added to a Box or BoxList object are converted automatically.\n\nThere are over a half dozen ways to customize your Box and make it work for you.\n\nCheck out the new `Box github wiki <https://github.com/cdgriffith/Box/wiki>`_ for more details and examples!\n\nInstall\n=======\n\n**Version Pin Your Box!**\n\nIf you aren't in the habit of version pinning your libraries, it will eventually bite you.\nBox has a `list of breaking change <https://github.com/cdgriffith/Box/wiki/Major-Version-Breaking-Changes>`_ between major versions you should always check out before updating.\n\nrequirements.txt\n----------------\n\n.. code:: text\n\n        python-box[all]~=7.0\n\nAs Box adheres to semantic versioning (aka API changes will only occur on between major version),\nit is best to use `Compatible release <https://www.python.org/dev/peps/pep-0440/#compatible-release>`_ matching using the `~=` clause.\n\nInstall from command line\n-------------------------\n\n.. code:: bash\n\n        python -m pip install --upgrade pip\n        pip install python-box[all]~=7.0 --upgrade\n\nInstall with selected dependencies\n----------------------------------\n\nBox does not install external dependencies such as yaml and toml writers. Instead you can specify which you want,\nfor example, `[all]` is shorthand for:\n\n.. code:: bash\n\n        pip install python-box[ruamel.yaml,tomli_w,msgpack]~=7.0 --upgrade\n\nBut you can also sub out `ruamel.yaml` for `PyYAML`.\n\nCheck out `more details <https://github.com/cdgriffith/Box/wiki/Installation>`_ on installation details.\n\nBox 7 is tested on python 3.7+, if you are upgrading from previous versions, please look through\n`any breaking changes and new features <https://github.com/cdgriffith/Box/wiki/Major-Version-Breaking-Changes>`_.\n\nOptimized Version\n-----------------\n\nBox has introduced Cython optimizations for major platforms by default.\nLoading large data sets can be up to 10x faster!\n\nIf you are **not** on a x86_64 supported system you will need to do some extra work to install the optimized version.\nThere will be an warning of \"WARNING: Cython not installed, could not optimize box\" during install.\nYou will need python development files, system compiler, and the python packages `Cython` and `wheel`.\n\n**Linux Example:**\n\nFirst make sure you have python development files installed (`python3-dev` or `python3-devel` in most repos).\nYou will then need `Cython` and `wheel` installed and then install (or re-install with `--force`) `python-box`.\n\n.. code:: bash\n\n        pip install Cython wheel\n        pip install python-box[all]~=7.0 --upgrade --force\n\nIf you have any issues please open a github issue with the error you are experiencing!\n\nOverview\n========\n\n`Box` is designed to be a near transparent drop in replacements for\ndictionaries that add dot notation access and other powerful feature.\n\nThere are a lot of `types of boxes <https://github.com/cdgriffith/Box/wiki/Types-of-Boxes>`_\nto customize it for your needs, as well as handy `converters <https://github.com/cdgriffith/Box/wiki/Converters>`_!\n\nKeep in mind any sub dictionaries or ones set after initiation will be automatically converted to\na `Box` object, and lists will be converted to `BoxList`, all other objects stay intact.\n\nCheck out the `Quick Start <https://github.com/cdgriffith/Box/wiki/Quick-Start>`_  for more in depth details.\n\n`Box` can be instantiated the same ways as `dict`.\n\n.. code:: python\n\n        Box({'data': 2, 'count': 5})\n        Box(data=2, count=5)\n        Box({'data': 2, 'count': 1}, count=5)\n        Box([('data', 2), ('count', 5)])\n\n        # All will create\n        # <Box: {'data': 2, 'count': 5}>\n\n`Box` is a subclass of `dict` which overrides some base functionality to make\nsure everything stored in the dict can be accessed as an attribute or key value.\n\n.. code:: python\n\n      small_box = Box({'data': 2, 'count': 5})\n      small_box.data == small_box['data'] == getattr(small_box, 'data')\n\nAll dicts (and lists) added to a `Box` will be converted on insertion to a `Box` (or `BoxList`),\nallowing for recursive dot notation access.\n\n`Box` also includes helper functions to transform it back into a `dict`,\nas well as into `JSON`, `YAML`, `TOML`, or `msgpack` strings or files.\n\n\nThanks\n======\n\nA huge thank you to everyone that has given features and feedback over the years to Box! Check out everyone that has contributed_.\n\nA big thanks to Python Software Foundation, and PSF-Trademarks Committee, for official approval to use the Python logo on the `Box` logo!\n\nAlso special shout-out to PythonBytes_, who featured Box on their podcast.\n\n\nLicense\n=======\n\nMIT License, Copyright (c) 2017-2023 Chris Griffith. See LICENSE_ file.\n\n\n.. |BoxImage| image:: https://raw.githubusercontent.com/cdgriffith/Box/master/box_logo.png\n   :target: https://github.com/cdgriffith/Box\n.. |BuildStatus| image:: https://github.com/cdgriffith/Box/workflows/Tests/badge.svg?branch=master\n   :target: https://github.com/cdgriffith/Box/actions?query=workflow%3ATests\n.. |License| image:: https://img.shields.io/pypi/l/python-box.svg\n   :target: https://pypi.python.org/pypi/python-box/\n\n.. _PythonBytes: https://pythonbytes.fm/episodes/show/19/put-your-python-dictionaries-in-a-box-and-apparently-python-is-really-wanted\n.. _contributed: AUTHORS.rst\n.. _`Wrapt Documentation`: https://wrapt.readthedocs.io/en/latest\n.. _reusables: https://github.com/cdgriffith/reusables#reusables\n.. _created: https://github.com/cdgriffith/Reusables/commit/df20de4db74371c2fedf1578096f3e29c93ccdf3#diff-e9a0f470ef3e8afb4384dc2824943048R51\n.. _LICENSE: https://github.com/cdgriffith/Box/blob/master/LICENSE\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Advanced Python dictionaries with dot notation access",
    "version": "7.3.0",
    "project_urls": {
        "Homepage": "https://github.com/cdgriffith/Box"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ac9f1544d3b46511ee75c3d8f862bd35a34c97c82e6c20585d619d4999c99174",
                "md5": "03fd95bae88ae80ddc45437a6ecd6db2",
                "sha256": "a2131477ed02aa3609b348dad0697b70d84968d6440387898bb9075f461ef9bf"
            },
            "downloads": -1,
            "filename": "python_box-7.3.0-cp310-cp310-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "03fd95bae88ae80ddc45437a6ecd6db2",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 1813390,
            "upload_time": "2024-12-10T03:22:43",
            "upload_time_iso_8601": "2024-12-10T03:22:43.977490Z",
            "url": "https://files.pythonhosted.org/packages/ac/9f/1544d3b46511ee75c3d8f862bd35a34c97c82e6c20585d619d4999c99174/python_box-7.3.0-cp310-cp310-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "60465dd3f853a9db2af055f9e01741455cab88d554a1f86f078390078fce7fdc",
                "md5": "2306d95999ffbd5f2f6f155f30790c92",
                "sha256": "3284cf583476af63c4f24168b6e1307503322dccd9b3dc2c924f5e69f79e7ab5"
            },
            "downloads": -1,
            "filename": "python_box-7.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2306d95999ffbd5f2f6f155f30790c92",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 3926187,
            "upload_time": "2024-12-10T03:28:06",
            "upload_time_iso_8601": "2024-12-10T03:28:06.157001Z",
            "url": "https://files.pythonhosted.org/packages/60/46/5dd3f853a9db2af055f9e01741455cab88d554a1f86f078390078fce7fdc/python_box-7.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8f9502b1c55564a71333550f9d6d0011d633e0eb62d2bc679a4e29c143e47292",
                "md5": "37c23730986d20889d1f711fe6d030d0",
                "sha256": "2718cf4c8dcc091d1c56a1a297804ab7973271391a2d2d34d37740820bbd1fda"
            },
            "downloads": -1,
            "filename": "python_box-7.3.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "37c23730986d20889d1f711fe6d030d0",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 1222893,
            "upload_time": "2024-12-10T03:22:45",
            "upload_time_iso_8601": "2024-12-10T03:22:45.519403Z",
            "url": "https://files.pythonhosted.org/packages/8f/95/02b1c55564a71333550f9d6d0011d633e0eb62d2bc679a4e29c143e47292/python_box-7.3.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ffc9e108397c2d482bfb7637e3ff6959ab7a25effd21083b440c4fd9ee02a7c5",
                "md5": "7d52824ab481daba86b52349346f93f8",
                "sha256": "e40fe08b218b3d07a50d6eb1c62edce8d0636d6bd1e563907bc86018a78e5826"
            },
            "downloads": -1,
            "filename": "python_box-7.3.0-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "7d52824ab481daba86b52349346f93f8",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 1815029,
            "upload_time": "2024-12-10T03:22:24",
            "upload_time_iso_8601": "2024-12-10T03:22:24.433740Z",
            "url": "https://files.pythonhosted.org/packages/ff/c9/e108397c2d482bfb7637e3ff6959ab7a25effd21083b440c4fd9ee02a7c5/python_box-7.3.0-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c29b21b20a3d5ec658e37af3a4378cdfe6b3ccd1add93a661a9a958b8295da36",
                "md5": "b9818e74188c7e3530008a518b46b0d7",
                "sha256": "bd13e2b964ed527e03409cb1fb386d8723e0e69caf0f507af60d64102c13d363"
            },
            "downloads": -1,
            "filename": "python_box-7.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b9818e74188c7e3530008a518b46b0d7",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 4269403,
            "upload_time": "2024-12-10T03:28:09",
            "upload_time_iso_8601": "2024-12-10T03:28:09.658354Z",
            "url": "https://files.pythonhosted.org/packages/c2/9b/21b20a3d5ec658e37af3a4378cdfe6b3ccd1add93a661a9a958b8295da36/python_box-7.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6e552f27a0c843db7bfa3c63d6439547862a64ae21dfd03226ab674f21489d28",
                "md5": "8359dbf2c0ea6d40c99a26389440ba37",
                "sha256": "d661fb9c6ff6c730b53fe859754624baa14e37ee3d593525382b20194efad367"
            },
            "downloads": -1,
            "filename": "python_box-7.3.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "8359dbf2c0ea6d40c99a26389440ba37",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 1225696,
            "upload_time": "2024-12-10T03:23:42",
            "upload_time_iso_8601": "2024-12-10T03:23:42.139007Z",
            "url": "https://files.pythonhosted.org/packages/6e/55/2f27a0c843db7bfa3c63d6439547862a64ae21dfd03226ab674f21489d28/python_box-7.3.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1052a9e933500560fcf8b5ed64e9bf56022b84e5eebe344955c886bfae426adf",
                "md5": "9073497916c9ac38880f3405784371ad",
                "sha256": "6c3809f78f7c829e45626990a891d93214748938b9c0236dc6d0f2e8c400d325"
            },
            "downloads": -1,
            "filename": "python_box-7.3.0-cp312-cp312-macosx_10_13_universal2.whl",
            "has_sig": false,
            "md5_digest": "9073497916c9ac38880f3405784371ad",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 1801037,
            "upload_time": "2024-12-10T03:22:35",
            "upload_time_iso_8601": "2024-12-10T03:22:35.379248Z",
            "url": "https://files.pythonhosted.org/packages/10/52/a9e933500560fcf8b5ed64e9bf56022b84e5eebe344955c886bfae426adf/python_box-7.3.0-cp312-cp312-macosx_10_13_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "33d378b2022173782057034112ef2ecc2410466502504b6e17c1d4ccdde228e8",
                "md5": "d6744c4d690d187a546050426eaf2df3",
                "sha256": "c233b94bf3b95d7d9dc01ed1ee5636800174345810b319eb87219b760edbb54f"
            },
            "downloads": -1,
            "filename": "python_box-7.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d6744c4d690d187a546050426eaf2df3",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 4234916,
            "upload_time": "2024-12-10T03:28:11",
            "upload_time_iso_8601": "2024-12-10T03:28:11.497904Z",
            "url": "https://files.pythonhosted.org/packages/33/d3/78b2022173782057034112ef2ecc2410466502504b6e17c1d4ccdde228e8/python_box-7.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "edcef1ded0ddbef0af71b5bb1d4259131a0823767d1d6377ba5639507d1e5954",
                "md5": "d1bd01a70ae41c07593688cf7ff7e14e",
                "sha256": "9a22cc82e78225a419c4da02f53d6beb5c5cbd2fe5f63c13dab81e4f27b8c929"
            },
            "downloads": -1,
            "filename": "python_box-7.3.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "d1bd01a70ae41c07593688cf7ff7e14e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 1204522,
            "upload_time": "2024-12-10T03:22:57",
            "upload_time_iso_8601": "2024-12-10T03:22:57.527088Z",
            "url": "https://files.pythonhosted.org/packages/ed/ce/f1ded0ddbef0af71b5bb1d4259131a0823767d1d6377ba5639507d1e5954/python_box-7.3.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d96454c88afefe5e8cac0b20e98a2eb3751c856331072dbeef3af862a76f44bd",
                "md5": "244fc30b1ef604e09246cc696ca4b031",
                "sha256": "1f7b93c5ab4027b12ba67baffa8db903557e557250e01b91226d7a1b9688cf77"
            },
            "downloads": -1,
            "filename": "python_box-7.3.0-cp313-cp313-macosx_10_13_universal2.whl",
            "has_sig": false,
            "md5_digest": "244fc30b1ef604e09246cc696ca4b031",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 1786082,
            "upload_time": "2024-12-10T03:22:18",
            "upload_time_iso_8601": "2024-12-10T03:22:18.396051Z",
            "url": "https://files.pythonhosted.org/packages/d9/64/54c88afefe5e8cac0b20e98a2eb3751c856331072dbeef3af862a76f44bd/python_box-7.3.0-cp313-cp313-macosx_10_13_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "90ac49cdf2316767f1dd67b783217afbfbca97942d6443ca6f7a67485722c65d",
                "md5": "71f7a26bd1454ae5fbd28f674f91c10e",
                "sha256": "71ed234c1cff7f7197103bb11d98559032c0beac34db0c62dd5bd53e2b2a6963"
            },
            "downloads": -1,
            "filename": "python_box-7.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "71f7a26bd1454ae5fbd28f674f91c10e",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 4229360,
            "upload_time": "2024-12-10T03:28:15",
            "upload_time_iso_8601": "2024-12-10T03:28:15.173048Z",
            "url": "https://files.pythonhosted.org/packages/90/ac/49cdf2316767f1dd67b783217afbfbca97942d6443ca6f7a67485722c65d/python_box-7.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "92518f491fe5f0338a299489d8567c9b0bf4678604aa33498473ff01e724a826",
                "md5": "407946223306a3b25f28edf23b13efc4",
                "sha256": "1144c9e5d40a2cbe34d1ec9a13abfc557e8e9e2fbf15f14314c87b6113de178f"
            },
            "downloads": -1,
            "filename": "python_box-7.3.0-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "407946223306a3b25f28edf23b13efc4",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 1200297,
            "upload_time": "2024-12-10T03:23:35",
            "upload_time_iso_8601": "2024-12-10T03:23:35.968793Z",
            "url": "https://files.pythonhosted.org/packages/92/51/8f491fe5f0338a299489d8567c9b0bf4678604aa33498473ff01e724a826/python_box-7.3.0-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c37b62e92c56ec87dcacd509e0e3cc57ae523d2b9dc51bebf5efc406166d06ee",
                "md5": "de1b2ce15753f761749d23f2d932891c",
                "sha256": "df77730baabf45b1682ead1c470e84a530f8ceb0295263a89f0ebc04ef7f363c"
            },
            "downloads": -1,
            "filename": "python_box-7.3.0-cp39-cp39-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "de1b2ce15753f761749d23f2d932891c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 1814047,
            "upload_time": "2024-12-10T03:22:51",
            "upload_time_iso_8601": "2024-12-10T03:22:51.446786Z",
            "url": "https://files.pythonhosted.org/packages/c3/7b/62e92c56ec87dcacd509e0e3cc57ae523d2b9dc51bebf5efc406166d06ee/python_box-7.3.0-cp39-cp39-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3579475c9894eb1044cb6b12f2f2a19206654c2ed7534639b9939dae64ad1af2",
                "md5": "ad89dd780daa5e33fb90cdbb4b6476bd",
                "sha256": "36bef944e61672b300c1d56d16db8a43ee4af9ab5678492a5e003368d2c64a6e"
            },
            "downloads": -1,
            "filename": "python_box-7.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ad89dd780daa5e33fb90cdbb4b6476bd",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 3926031,
            "upload_time": "2024-12-10T03:28:19",
            "upload_time_iso_8601": "2024-12-10T03:28:19.991253Z",
            "url": "https://files.pythonhosted.org/packages/35/79/475c9894eb1044cb6b12f2f2a19206654c2ed7534639b9939dae64ad1af2/python_box-7.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "85245cab394e6cda3ddcfa2893be62927c9d79abd7d31844fc732b472d0d1084",
                "md5": "27af0520d3f982beb78ac467203bbc90",
                "sha256": "b35a2262a4e1ccfba90ce8e2018aa367f8a46a519632884006fa3153b266f184"
            },
            "downloads": -1,
            "filename": "python_box-7.3.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "27af0520d3f982beb78ac467203bbc90",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 1223267,
            "upload_time": "2024-12-10T03:22:57",
            "upload_time_iso_8601": "2024-12-10T03:22:57.431932Z",
            "url": "https://files.pythonhosted.org/packages/85/24/5cab394e6cda3ddcfa2893be62927c9d79abd7d31844fc732b472d0d1084/python_box-7.3.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "37169336a5013c4c8478f336c1cd24b86a4de34533a3046f9d7588fdd5363199",
                "md5": "f9816a4ede89bc52c97d12e1548ea8ec",
                "sha256": "b1139bffe91bd317fd686c4c29ffc84115c1967af14112c5c4a8ac51937d530c"
            },
            "downloads": -1,
            "filename": "python_box-7.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f9816a4ede89bc52c97d12e1548ea8ec",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 29217,
            "upload_time": "2024-12-10T03:21:58",
            "upload_time_iso_8601": "2024-12-10T03:21:58.271999Z",
            "url": "https://files.pythonhosted.org/packages/37/16/9336a5013c4c8478f336c1cd24b86a4de34533a3046f9d7588fdd5363199/python_box-7.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "798ded12ca8b90b2fce966fdaad7de40f0980f1e9dababb9c963738326687c6a",
                "md5": "ad6813b1362d59288a1c19e672258a97",
                "sha256": "39a85ba457d07122226ca60597882d763549713ab56ac7d55da41c4ad0e89a05"
            },
            "downloads": -1,
            "filename": "python_box-7.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ad6813b1362d59288a1c19e672258a97",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 45275,
            "upload_time": "2024-12-10T03:21:59",
            "upload_time_iso_8601": "2024-12-10T03:21:59.720620Z",
            "url": "https://files.pythonhosted.org/packages/79/8d/ed12ca8b90b2fce966fdaad7de40f0980f1e9dababb9c963738326687c6a/python_box-7.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-10 03:21:59",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "cdgriffith",
    "github_project": "Box",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "requirements": [
        {
            "name": "msgpack",
            "specs": [
                [
                    ">=",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "ruamel.yaml",
            "specs": [
                [
                    ">=",
                    "0.17"
                ]
            ]
        },
        {
            "name": "tomli",
            "specs": [
                [
                    ">=",
                    "1.2.3"
                ]
            ]
        },
        {
            "name": "tomli-w",
            "specs": []
        }
    ],
    "lcname": "python-box"
}
        
Elapsed time: 0.36893s