{ "info": { "author": "Radomir Stevanovic", "author_email": "radomir.stevanovic@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "JSON+\n=====\n\n.. image:: https://img.shields.io/pypi/v/jsonplus.svg\n :target: https://pypi.python.org/pypi/jsonplus\n\n.. image:: https://img.shields.io/pypi/l/jsonplus.svg\n :target: https://pypi.python.org/pypi/jsonplus\n\n.. image:: https://img.shields.io/pypi/wheel/jsonplus.svg\n :target: https://pypi.python.org/pypi/jsonplus\n\n.. image:: https://img.shields.io/pypi/pyversions/jsonplus.svg\n :target: https://pypi.python.org/pypi/jsonplus\n\n.. image:: https://api.travis-ci.org/randomir/jsonplus.svg?branch=master\n :target: https://travis-ci.org/randomir/jsonplus\n\n\nSerialization of Python types to JSON that \"just works\".\n\nForget errors like::\n\n TypeError: datetime.datetime(...) is not JSON serializable\n\nIn addition to (de-)serialization of basic types (provided by simplejson_), jsonplus_\nprovides support for **exact** (de-)serialization of other commonly used types, like:\n``tuple``/``namedtuple``, ``set``/``frozenset``, ``complex``/``decimal.Decimal``/``fractions.Fraction``,\nand ``datetime``/``date``/``time``/``timedelta``.\n\nIf the exact representation of types is not your cup of tea, and all you wish\nfor is the ``json.dumps`` to work on your data structure with non-basic types,\naccepting the loss of \"type-precision\" along the way, than you can use the\n**compatibility** mode (thread-local ``jsonplus.prefer_compat()``, or\nper-call override ``jsonplus.dumps(..., exact=False)``).\n\n.. _simplejson: https://simplejson.readthedocs.io/en/latest/#encoders-and-decoders\n.. _jsonplus: https://pypi.python.org/pypi/jsonplus/\n\n\nInstallation\n------------\n\n``jsonplus`` is available as a Python package. To install it, simply type::\n\n $ pip install jsonplus\n\n\nUsage\n-----\n\nYou can treat ``jsonplus`` as a friendly *drop-in* replacement for ``json``/``simplejson``.\n\n.. code-block:: python\n\n >>> import jsonplus as json\n\n >>> x = json.loads('{\"a\":1,\"b\":2}')\n >>> y = json.dumps(x, indent=4)\n >>> z = json.pretty(x)\n\n\nExamples\n--------\n\nLet's start with that beloved ``datetime``.\n\n.. code-block:: python\n\n >>> import jsonplus as json\n\n >>> from datetime import datetime\n >>> json.dumps({\n ... \"x\": [4,3],\n ... \"t\": datetime.now()\n ... })\n '{\"x\":[4,3],\"t\":{\"__class__\":\"datetime\",\"__value__\":\"2013-09-06T23:38:55.819791\"}}'\n \n >>> json.loads(_)\n {u'x': [4, 3], u't': datetime.datetime(2013, 9, 6, 23, 38, 55, 819791)}\n\nSimilarly for other ``datetime.*`` types, like ``timedelta``, ``date``, and ``time``:\n\n.. code-block:: python\n\n >>> from datetime import timedelta, date, time\n >>> print(json.pretty({\"dt\": timedelta(0, 1234567, 123), \"d\": date.today(), \"t\": datetime.now().time()}))\n {\n \"d\": {\n \"__class__\": \"date\",\n \"__value__\": \"2013-09-22\"\n },\n \"dt\": {\n \"__class__\": \"timedelta\",\n \"__value__\": {\n \"days\": 14,\n \"microseconds\": 123,\n \"seconds\": 24967\n }\n },\n \"t\": {\n \"__class__\": \"time\",\n \"__value__\": \"23:33:16.335360\"\n }\n }\n\nAlso, ``set`` and ``complex``:\n\n.. code-block:: python\n\n >>> json.dumps([set(range(3)), 1+2j])\n '[{\"__class__\":\"set\",\"__value__\":[0,1,2]},{\"__class__\":\"complex\",\"__value__\":{\"real\":1.0,\"imag\":2.0}}]'\n \n >>> json.loads(_)\n [set([0, 1, 2]), (1+2j)]\n\n``tuple`` and ``namedtuple`` are also preserved:\n\n.. code-block:: python\n\n >>> from collections import namedtuple\n >>> Point = namedtuple('Point', ['x', 'y'])\n\n >>> data = json.pretty({\"vect\": (1, 2, 3), \"dot\": Point(3, 4)})\n >>> print(data)\n {\n \"dot\": {\n \"__class__\": \"namedtuple\",\n \"__value__\": {\n \"fields\": [\n \"x\",\n \"y\"\n ],\n \"name\": \"Point\",\n \"values\": [\n 3,\n 4\n ]\n }\n },\n \"vect\": {\n \"__class__\": \"tuple\",\n \"__value__\": [\n 1,\n 2,\n 3\n ]\n }\n }\n\n >>> json.loads(data)\n {'vect': (1, 2, 3), 'dot': Point(x=3, y=4)}\n\n\nCompatibility mode\n------------------\n\nAll types supported in the exact mode are also supported in the compatibility\nmode. JSON representation differs, however.\n\nIn the exact mode, *type* and *value* are encoded with ``JSON Object``'s\n``__class__`` and ``__value__`` keys, while in the compatibility mode, \n**values are \"rounded off\" to the closest JSON type**.\n\nFor example, ``tuple`` and ``set`` are represented with ``JSON Array``, and\n``namedtuple`` is coded as a plain ``JSON Object``. ``Decimal`` is\nrepresented as ``JSON Number`` with arbitrary precision (which is lost if\ndecoded as ``float``).\n\nTo switch between the **exact** and **compatibility** modes, use the \n(thread-local) functions ``prefer_exact()`` and ``prefer_compat()``, or call\n``dumps(..., exact=False)``:\n\n.. code-block:: python\n\n >>> import jsonplus as json\n\n >>> json.prefer_compat()\n # or:\n >>> json.prefer(json.COMPAT)\n # per-instance override:\n >>> json.dumps(obj, exact=False)\n\n # to go back to (default) exact coding:\n >>> json.prefer_exact()\n\nThe above ``tuple``/``namedtuple``/``datetime`` examples run in the compatibility \ncoding mode result with:\n\n.. code-block:: python\n\n >>> json.prefer_compat()\n\n >>> print(json.pretty({\"vect\": (1, 2, 3), \"dot\": Point(3, 4)}))\n {\n \"point\": {\n \"x\": 3,\n \"y\": 4\n },\n \"vector\": [\n 1,\n 2,\n 3\n ]\n }\n\n >>> json.dumps({\"now\": datetime.now()})\n '{\"now\":\"2017-01-26T00:37:40.293963\"}'\n\nSo, to be able to properly decode values in the compatibility mode, some \nadditional context will have to be provided to the decoder.\n\n\nAdding user types\n-----------------\n\nSupport for user/custom types can easily be added with `@jsonplus.encoder` and\n`@jsonplus.decoder` decorators.\n\nFor example, to enable serialization of your type named ``mytype`` in exact mode\n(to add compat-mode serialization, append ``exact=False`` in decorator):\n\n.. code-block:: python\n\n @jsonplus.encoder('mytype')\n def mytype_exact_encoder(myobj):\n return myobj.to_json()\n\n.. code-block:: python\n\n @jsonplus.decoder('mytype')\n def mytype_decoder(value):\n return mytype(value, reconstruct=True, ...)\n\nIf detection of object class is more complex than a simple classname comparison,\nif you need to use a predicate function, simply add ``predicate=...`` to the ``encoder``\ndecorator. For example:\n\n.. code-block:: python\n\n @jsonplus.encoder('BaseClass', lambda obj: isinstance(obj, BaseClass))\n def all_derived_classes_encoder(derived):\n return derived.base_encoder()\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/randomir/jsonplus", "keywords": "json custom python type serialization deserialization datetime set", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "jsonplus", "package_url": "https://pypi.org/project/jsonplus/", "platform": "", "project_url": "https://pypi.org/project/jsonplus/", "project_urls": { "Homepage": "https://github.com/randomir/jsonplus" }, "release_url": "https://pypi.org/project/jsonplus/0.8.0/", "requires_dist": null, "requires_python": "", "summary": "Custom datatypes (like datetime) serialization to/from JSON.", "version": "0.8.0" }, "last_serial": 3631556, "releases": { "0.4": [ { "comment_text": "", "digests": { "md5": "21ca272e0bf0fb2ff93f3e7b439b83f2", "sha256": "708abfb6e3d2fab78d6ee35ee46b3764ee2c0a442a160e6b9ebb8cdf2f08d60d" }, "downloads": -1, "filename": "jsonplus-0.4.tar.gz", "has_sig": false, "md5_digest": "21ca272e0bf0fb2ff93f3e7b439b83f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3498, "upload_time": "2016-10-11T21:33:02", "url": "https://files.pythonhosted.org/packages/b1/e3/b11c900128d63012cb1897501b61c88c196f780c5c7554eb149b22446484/jsonplus-0.4.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "ed6420da5b506ffb82db9f6c15592d8a", "sha256": "cff75e28b9cfc551ab47f7e1796069323094edf2b02d6abfdd6ae8aff1e9f43b" }, "downloads": -1, "filename": "jsonplus-0.4.1.tar.gz", "has_sig": false, "md5_digest": "ed6420da5b506ffb82db9f6c15592d8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3430, "upload_time": "2016-10-11T21:58:53", "url": "https://files.pythonhosted.org/packages/86/f7/18dd172a801b43830bca18cf47937e700cb8b57e24097a685a26783530a7/jsonplus-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "3d9eaf4f64a073319eba122b428512fa", "sha256": "eca9002237cda58e49d9f506ef2a03c13ca0877ac90fc5b7c6891ccdb856990b" }, "downloads": -1, "filename": "jsonplus-0.4.2.tar.gz", "has_sig": false, "md5_digest": "3d9eaf4f64a073319eba122b428512fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3460, "upload_time": "2016-10-11T22:07:38", "url": "https://files.pythonhosted.org/packages/69/93/408f936f6eb8fdcedc011fd3c95fe3d30100ddde9960838102ebfce79614/jsonplus-0.4.2.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "b902968cd04357469d7b1750726f022b", "sha256": "1fccff3e57e81c37f191effbce06d21ab34b18161dcd6a1cb01df89e9b0543ae" }, "downloads": -1, "filename": "jsonplus-0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b902968cd04357469d7b1750726f022b", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 4612, "upload_time": "2017-01-05T21:49:40", "url": "https://files.pythonhosted.org/packages/58/91/ebb086b816977b76dc7142df6ad66eb5572f2ba18d24d83e7e4edcaab9ea/jsonplus-0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3aaeb63f503fa1b936a40f683f9f48a6", "sha256": "209152a4760e82c6e4707575e307864e107c56d7f3eede0fddb6694b55db5b29" }, "downloads": -1, "filename": "jsonplus-0.5.tar.gz", "has_sig": false, "md5_digest": "3aaeb63f503fa1b936a40f683f9f48a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3613, "upload_time": "2017-01-05T21:49:37", "url": "https://files.pythonhosted.org/packages/93/f4/90c3cc21f1847decb593f8f93dbee8d83c6f667ea016e4dcfec83d70a504/jsonplus-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "23ea17555b160fdcd6bfb81baa2abb6c", "sha256": "0f65bba0ac24dd3a1d7b6af0fc11746e830d050dfbf73156b1efaea7d009ae05" }, "downloads": -1, "filename": "jsonplus-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "23ea17555b160fdcd6bfb81baa2abb6c", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 5631, "upload_time": "2017-01-23T22:45:03", "url": "https://files.pythonhosted.org/packages/cf/15/6876cf1e89900859774e6785de7a3a0364876f37328f4b3c1da8bbf6fcac/jsonplus-0.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "865139de92092053b9f413d3038b4535", "sha256": "27c591998b6210b2de34a87b695df5122fe948f6c68b048ca08eeb6679b542af" }, "downloads": -1, "filename": "jsonplus-0.5.1.tar.gz", "has_sig": false, "md5_digest": "865139de92092053b9f413d3038b4535", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4344, "upload_time": "2017-01-23T22:45:01", "url": "https://files.pythonhosted.org/packages/3b/f5/7a82588361edc5ed9137bbced917646e75dae27d189d573cbbde1d2bbf82/jsonplus-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "1838b7edac8f4921a759e24b73723d53", "sha256": "10c6022b4ce5b6e51449af678fea8ea167102c37922fc845a09b991f048c7780" }, "downloads": -1, "filename": "jsonplus-0.5.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1838b7edac8f4921a759e24b73723d53", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 5623, "upload_time": "2017-01-23T23:01:56", "url": "https://files.pythonhosted.org/packages/39/15/eca44970dc6b241d175450673de6e6039392b289a82eb0b2df506cec8d9d/jsonplus-0.5.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c0427f41cad897c85143449592637b8f", "sha256": "cdff59e54303d3324a454a246062c07dd9697bb4ca4367ad15fb8c8f66e14c16" }, "downloads": -1, "filename": "jsonplus-0.5.2.tar.gz", "has_sig": false, "md5_digest": "c0427f41cad897c85143449592637b8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4345, "upload_time": "2017-01-23T23:01:54", "url": "https://files.pythonhosted.org/packages/ba/44/d58b577e1bb52964698f29e5384e0cde2e521345e9b14e53f7b5e0fa6597/jsonplus-0.5.2.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "e801a1b70515c45db44980a71811d4a5", "sha256": "21adb2e717e4c2303e4c825cb399d4898325e57e60df5b8231555dcba69e3658" }, "downloads": -1, "filename": "jsonplus-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e801a1b70515c45db44980a71811d4a5", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 8171, "upload_time": "2017-01-25T23:53:17", "url": "https://files.pythonhosted.org/packages/54/08/ec44eeca46c052b4d28f416c901a9c347c264f5e8dab49b5851f7dbf62c0/jsonplus-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a381517e6d84432b04ca4fc6beedc4cb", "sha256": "7e6eb1f6589e20a14d9ed5d56977f9e40f3c160c8991baaf3dbd63fba2eafa0f" }, "downloads": -1, "filename": "jsonplus-0.6.0.tar.gz", "has_sig": false, "md5_digest": "a381517e6d84432b04ca4fc6beedc4cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6240, "upload_time": "2017-01-25T23:53:15", "url": "https://files.pythonhosted.org/packages/cd/0e/7fa223487ad9dece718f7437ca4f7f7f90fff2f655628edb98781bf43198/jsonplus-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "e10aa6bbc9615b985e3f29d03429f891", "sha256": "7a33bec3e5d9bfad1b4b34b345ccc8c4e1dbddc5f80293c3efdb4e01cf497b54" }, "downloads": -1, "filename": "jsonplus-0.6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e10aa6bbc9615b985e3f29d03429f891", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 8206, "upload_time": "2017-01-26T01:21:10", "url": "https://files.pythonhosted.org/packages/4b/12/17fee5a28009e956434a314af3929f0f378eae0663b449ee21122fbe4b50/jsonplus-0.6.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99d0bcb61931c90195deb8c11aa29d0d", "sha256": "6ad43f95acca986b6b2d6e7882020ae8baee0262a57cdd3b273e891812985e5f" }, "downloads": -1, "filename": "jsonplus-0.6.1.tar.gz", "has_sig": false, "md5_digest": "99d0bcb61931c90195deb8c11aa29d0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6272, "upload_time": "2017-01-26T01:21:07", "url": "https://files.pythonhosted.org/packages/e1/2a/57a7b7b5659ebddd98808fd1c274c41639c13690e0747bdff482014d6e5c/jsonplus-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "f03f91602f0e8696323d9c740431d503", "sha256": "c00850a4829300b1974cdc68fd96babc2b2de5a9536b183bd4f622d04d7043e5" }, "downloads": -1, "filename": "jsonplus-0.6.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f03f91602f0e8696323d9c740431d503", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8303, "upload_time": "2017-02-06T20:14:26", "url": "https://files.pythonhosted.org/packages/6e/3c/fbc9f5bb7d1f9ac719f2d766e719c99dd5f200e8a369f917cf8d86c22c76/jsonplus-0.6.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc647ce692766fff5cfdbe6bb8e1c6c1", "sha256": "fef1ce1c00a883c08fed853bc6c10176c8b12004d765cf94c6582e5cfa4a3a67" }, "downloads": -1, "filename": "jsonplus-0.6.2.tar.gz", "has_sig": false, "md5_digest": "fc647ce692766fff5cfdbe6bb8e1c6c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6370, "upload_time": "2017-02-06T20:14:24", "url": "https://files.pythonhosted.org/packages/32/ca/6e2fca46f06947e414b856d51bd5563122848fff608c302c67bb1323df04/jsonplus-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "a4db5c55d8ffd624b6fc2c14f90fc3b2", "sha256": "4afb3c95461acfd80de339b98e618e53d293d6c0193ef9053dd8a11f9b33a971" }, "downloads": -1, "filename": "jsonplus-0.6.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a4db5c55d8ffd624b6fc2c14f90fc3b2", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 8720, "upload_time": "2017-02-17T02:42:59", "url": "https://files.pythonhosted.org/packages/15/f6/250d1da18bbdebb3f6bb3cf47d73f156c93af66361eb8e0e7379f4a5c12e/jsonplus-0.6.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb8762f1ebe60c6a8b20cf0918ffa1e0", "sha256": "8d6a0f560778fef78f05eb304d6a6f7e6332dea3307265ec7189a8bc1ccbceaa" }, "downloads": -1, "filename": "jsonplus-0.6.3.tar.gz", "has_sig": false, "md5_digest": "eb8762f1ebe60c6a8b20cf0918ffa1e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6729, "upload_time": "2017-02-17T02:42:56", "url": "https://files.pythonhosted.org/packages/d6/a2/fb6a6effc0d782702937a4cf5cdc0c5eb5df61999cb08e8687424b591dfb/jsonplus-0.6.3.tar.gz" } ], "0.6.4": [ { "comment_text": "", "digests": { "md5": "9b9ddcb8190b9b1c3c5c316aabeb3346", "sha256": "1e1d95c82d1005a6309a78d2899ad5dfb6e71408f247c5f8bdd33940cb8cefae" }, "downloads": -1, "filename": "jsonplus-0.6.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9b9ddcb8190b9b1c3c5c316aabeb3346", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 8810, "upload_time": "2017-02-26T22:53:14", "url": "https://files.pythonhosted.org/packages/13/e1/b5e345999d8bac5204dc75063089a5727f5a7a77f0d8c6b1976bb9f9b12c/jsonplus-0.6.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15b40a7b15c16f1371b22047a8dfd7be", "sha256": "602aad08ebe0bca2b183a3a9b4f19d6e5903a5f032147140e332cf84d014fa4e" }, "downloads": -1, "filename": "jsonplus-0.6.4.tar.gz", "has_sig": false, "md5_digest": "15b40a7b15c16f1371b22047a8dfd7be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6812, "upload_time": "2017-02-26T22:53:12", "url": "https://files.pythonhosted.org/packages/44/78/f5f3e65cc1beca97f5fcfccad52ba3671b68f26480191ec9fef53384b075/jsonplus-0.6.4.tar.gz" } ], "0.6.5": [ { "comment_text": "", "digests": { "md5": "733e01cb1204c147c996fcfd64c4eb6e", "sha256": "36e2075610e773ddde13463deb79fd88473e93cb59effdc06d7a59c03feeb7f8" }, "downloads": -1, "filename": "jsonplus-0.6.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "733e01cb1204c147c996fcfd64c4eb6e", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 9139, "upload_time": "2017-04-02T00:08:33", "url": "https://files.pythonhosted.org/packages/ff/76/df1bc8df09a8bf143eab74dc4e0937f99c53e41e4dbdb88304eb55e9b4ab/jsonplus-0.6.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d715f77ebbcb037169cf64c3cbeb2014", "sha256": "d23edc93526f70ad072f594c766e3fddabf92548aab3e8991cc5f8e4f779c9a2" }, "downloads": -1, "filename": "jsonplus-0.6.5.tar.gz", "has_sig": false, "md5_digest": "d715f77ebbcb037169cf64c3cbeb2014", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7066, "upload_time": "2017-04-02T00:08:30", "url": "https://files.pythonhosted.org/packages/3c/dc/adaee7b2278a9d4b9d9bb2e875ecc1a6680164162206ee26b86193c0fe07/jsonplus-0.6.5.tar.gz" } ], "0.6.6": [ { "comment_text": "", "digests": { "md5": "138406ef992a790415cced5ea79aabec", "sha256": "2c7dd718dc367f2a055447e774dcc935103f644bee6836ba02b757ecdb340005" }, "downloads": -1, "filename": "jsonplus-0.6.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "138406ef992a790415cced5ea79aabec", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9498, "upload_time": "2018-02-13T08:13:14", "url": "https://files.pythonhosted.org/packages/0c/f6/482c3931f740eb4c5b0d5fb127dc697972db488c740cf0354f538152bf00/jsonplus-0.6.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "47c841c3f8c8f9a8632140e69c6d3687", "sha256": "65f90f0b264289cab097ea95fe0a627e01e09df2bbe406bcffe701d2e868253b" }, "downloads": -1, "filename": "jsonplus-0.6.6.tar.gz", "has_sig": false, "md5_digest": "47c841c3f8c8f9a8632140e69c6d3687", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7475, "upload_time": "2018-02-13T08:13:11", "url": "https://files.pythonhosted.org/packages/d6/66/cb4a3298f55f95a41f5f920ffb737ed69334aa39f5df75e0529f94951854/jsonplus-0.6.6.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "ebf4528b6c8eb8218f9424f59999ba2a", "sha256": "c3a7aa85233451ba8fd9aad0af0ab01bae57af6ad949a851c50798fa603d27f9" }, "downloads": -1, "filename": "jsonplus-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ebf4528b6c8eb8218f9424f59999ba2a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10315, "upload_time": "2018-02-21T10:43:33", "url": "https://files.pythonhosted.org/packages/4a/7f/37f74ad32a706948d2e1ebe5c78184b68042eefabb18caa9dfe42e28f89f/jsonplus-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "14b75769b905b0d72a5694ac5cce7187", "sha256": "c72a50e4d818b292edc5b477728bd071f435bdf68e76dcee2afc9b2f91e98520" }, "downloads": -1, "filename": "jsonplus-0.7.0.tar.gz", "has_sig": false, "md5_digest": "14b75769b905b0d72a5694ac5cce7187", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8283, "upload_time": "2018-02-21T10:43:31", "url": "https://files.pythonhosted.org/packages/e4/b4/02de563bf47ac05dc2fa9063a4d3d350c6fd75b83d2faebc8aef59f1d8e6/jsonplus-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "afb9c19e8095f0551a9d3dba7173c32a", "sha256": "c2bcada471c3e6b92427657d61764d04cd2dd9d602262fbae51e8db677be7244" }, "downloads": -1, "filename": "jsonplus-0.7.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "afb9c19e8095f0551a9d3dba7173c32a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10356, "upload_time": "2018-02-23T09:34:19", "url": "https://files.pythonhosted.org/packages/5c/1b/db4c4f85ab02e39dafc9d64f885f8af6d08cdf35d5c703621942063df2cb/jsonplus-0.7.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e387b81e7d4ef41bc227c8bb77feb7c", "sha256": "04f0c1ccffaf0b51b05b0a411818412a80e17cc367f764a2b3968e88ac23e6cd" }, "downloads": -1, "filename": "jsonplus-0.7.1.tar.gz", "has_sig": false, "md5_digest": "5e387b81e7d4ef41bc227c8bb77feb7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8311, "upload_time": "2018-02-23T09:34:18", "url": "https://files.pythonhosted.org/packages/bc/0d/00c5d127a3d432aa44dc54b4a5e662e98ca60c9c01606957905a98c195e3/jsonplus-0.7.1.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "eb6f268390ac6505653074eb746ae1ad", "sha256": "bb98d8e4e785af8dbcf98111b4eb2cd88f0adbe48d0c629f899eabd07b24f0cd" }, "downloads": -1, "filename": "jsonplus-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eb6f268390ac6505653074eb746ae1ad", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11523, "upload_time": "2018-03-02T10:16:44", "url": "https://files.pythonhosted.org/packages/d6/0a/0438f4131477fa827431137eec9c4bd11e7884065e5812dc989c80d91e82/jsonplus-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6fc314fc9a9490ef5e6207274da3be74", "sha256": "01d35765b6611f9ee403bd8e858cf089c409c524227cab9356fc8f80781bdb17" }, "downloads": -1, "filename": "jsonplus-0.8.0.tar.gz", "has_sig": false, "md5_digest": "6fc314fc9a9490ef5e6207274da3be74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9189, "upload_time": "2018-03-02T10:16:42", "url": "https://files.pythonhosted.org/packages/94/86/8f46b10cb69b9594f212a50df01e3c777771420a2ffd0dfa8fca369297ee/jsonplus-0.8.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "eb6f268390ac6505653074eb746ae1ad", "sha256": "bb98d8e4e785af8dbcf98111b4eb2cd88f0adbe48d0c629f899eabd07b24f0cd" }, "downloads": -1, "filename": "jsonplus-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eb6f268390ac6505653074eb746ae1ad", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11523, "upload_time": "2018-03-02T10:16:44", "url": "https://files.pythonhosted.org/packages/d6/0a/0438f4131477fa827431137eec9c4bd11e7884065e5812dc989c80d91e82/jsonplus-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6fc314fc9a9490ef5e6207274da3be74", "sha256": "01d35765b6611f9ee403bd8e858cf089c409c524227cab9356fc8f80781bdb17" }, "downloads": -1, "filename": "jsonplus-0.8.0.tar.gz", "has_sig": false, "md5_digest": "6fc314fc9a9490ef5e6207274da3be74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9189, "upload_time": "2018-03-02T10:16:42", "url": "https://files.pythonhosted.org/packages/94/86/8f46b10cb69b9594f212a50df01e3c777771420a2ffd0dfa8fca369297ee/jsonplus-0.8.0.tar.gz" } ] }