{
"info": {
"author": "Maxim Kamenkov",
"author_email": "mkamenkov@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Framework :: Django",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Programming Language :: Python",
"Programming Language :: Python :: 2.6",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.3",
"Programming Language :: Python :: 3.4"
],
"description": "jsonobjects\n==============\n\n``jsonobjects`` allows you to declaratively specify how to extract and convert elements from a JSON document.\n\n\nInstallation\n------------\nWe recommend the use of `virtualenv `_ and of\n`pip `_. You can then use ``pip install -U jsonobjects``.\nYou may also have `setuptools `_ and thus\nyou can use ``easy_install -U jsonobjects``. Otherwise, you can download the\nsource from `GitHub `_ and run ``python\nsetup.py install``.\n\n\nDependencies\n------------\nAll dependencies are optional.\n\n- `JMESPath `_ to allow advanced queries (see `JMESPath `_ documentation for details).\n- `dateutil `_ to allow iso-8601 date formats.\n\n\nUsage\n-----\n\nExample of schema to parse iTunes lookup response for software item:\n\n.. code:: python\n\n import json\n import requests\n import jsonobjects as jo\n\n\n class iTunesAppSchema(jo.Schema):\n id = jo.IntegerField('trackId')\n url = jo.Field('trackViewUrl')\n name = jo.StringField('trackName')\n currency = jo.StringField()\n price = jo.FloatField(min_value=0.0)\n rating = jo.FloatField('averageUserRating')\n reviews = jo.IntegerField('userRatingCountForCurrentVersion')\n version = jo.StringField()\n publisher_id = jo.IntegerField('artistId')\n publisher_url = jo.Field('artistViewUrl')\n publisher_name = jo.StringField('artistName')\n categories = jo.ListField('genres', child=jo.StringField())\n icon = jo.Field(\n ['artworkUrl512', 'artworkUrl60'], post_process=lambda v: {'url': v})\n screenshots = jo.ListField(\n 'screenshotUrls', child=jo.Field(post_process=lambda v: {'url': v}))\n\n\n parser = iTunesAppSchema('results[0]')\n\n\n @parser.as_decorator\n def get_app_details(app_id):\n url = 'https://itunes.apple.com/lookup?id={}'\n return requests.get(url.format(app_id)).json()\n\n # https://itunes.apple.com/lookup?id=880047117\n details = get_app_details(880047117)\n print(details)\n\nThe code above produces next result:\n\n.. code:: python\n\n {\n \"categories\": [\"Games\", \"Puzzle\", \"Action\"],\n \"currency\": \"USD\",\n \"icon\": {\"url\": \"http://is3.mzstatic.com/image/thumb/Purple3/v4/27/f0/d9/27f0d923-e00b-5f2c-a1e9-235ed3f83d14/source/512x512bb.jpg\"},\n \"id\": 880047117,\n \"name\": \"Angry Birds 2\",\n \"price\": 0.0,\n \"publisher_id\": 298910979,\n \"publisher_name\": \"Rovio Entertainment Ltd\",\n \"publisher_url\": \"https://itunes.apple.com/us/developer/rovio-entertainment-ltd/id298910979?uo=4\",\n \"rating\": 4.0,\n \"reviews\": 4796,\n \"screenshots\": [\n {\"url\": \"http://a4.mzstatic.com/us/r30/Purple3/v4/5c/5e/54/5c5e542c-54a1-7812-12df-045aca3ebb86/screen1136x1136.jpeg\"},\n {\"url\": \"http://a1.mzstatic.com/us/r30/Purple3/v4/95/50/db/9550dbba-9cbf-d588-fac4-5ebf04614023/screen1136x1136.jpeg\"},\n {\"url\": \"http://a5.mzstatic.com/us/r30/Purple3/v4/22/ef/e7/22efe7c2-bd05-6f58-f176-92e7230853bd/screen1136x1136.jpeg\"},\n {\"url\": \"http://a2.mzstatic.com/us/r30/Purple69/v4/72/44/ba/7244ba34-6c8c-5dc5-38e4-e134a97cd0d1/screen1136x1136.jpeg\"},\n {\"url\": \"http://a5.mzstatic.com/us/r30/Purple6/v4/1b/e4/98/1be49811-f5be-cb3f-1a31-a20b5f5663ee/screen1136x1136.jpeg\"}\n ],\n \"url\": \"https://itunes.apple.com/us/app/angry-birds-2/id880047117?mt=8&uo=4\",\n \"version\": \"2.2.1\"\n }\n\nSee tests.py for more examples.\n\n\nTests\n-----\nGetting the tests running looks like:\n\n.. code-block:: shell\n\n # Install dependencies\n $ pip install -r requirement.txt\n # Run the test suites\n $ python tests.py\n\nLicense\n-------\n\nThe MIT License (MIT)\n\nContributed by `Maxim Kamenkov `_",
"description_content_type": null,
"docs_url": null,
"download_url": "UNKNOWN",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/caxap/jsonobjects",
"keywords": null,
"license": "MIT",
"maintainer": null,
"maintainer_email": null,
"name": "jsonobjects",
"package_url": "https://pypi.org/project/jsonobjects/",
"platform": "UNKNOWN",
"project_url": "https://pypi.org/project/jsonobjects/",
"project_urls": {
"Download": "UNKNOWN",
"Homepage": "https://github.com/caxap/jsonobjects"
},
"release_url": "https://pypi.org/project/jsonobjects/1.0.3/",
"requires_dist": null,
"requires_python": null,
"summary": "JSONObjects allows you to declaratively specify how to extract and convert elements from a JSON document.",
"version": "1.0.3"
},
"last_serial": 1811946,
"releases": {
"1.0.0": [
{
"comment_text": "",
"digests": {
"md5": "e13996a9d5b199b4f068ac6217d05eac",
"sha256": "812a68b09eb7a6f591cb313caa0bfdcd7e2a8cea0685a2f4fb4b06d10e889507"
},
"downloads": -1,
"filename": "jsonobjects-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "e13996a9d5b199b4f068ac6217d05eac",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13487,
"upload_time": "2015-11-09T01:44:49",
"url": "https://files.pythonhosted.org/packages/84/8e/f9b5a9a15b22d661206edb96ca78916cf29a95a088226fae43aba0c927b0/jsonobjects-1.0.0.tar.gz"
}
],
"1.0.1": [
{
"comment_text": "",
"digests": {
"md5": "f00b7417d992cfbe7a38b6f1b403e07c",
"sha256": "4078cb693383d21cb4432571f51b89156bf8f0d99bf9af1aa3d80ee20b780822"
},
"downloads": -1,
"filename": "jsonobjects-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "f00b7417d992cfbe7a38b6f1b403e07c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13746,
"upload_time": "2015-11-10T13:54:39",
"url": "https://files.pythonhosted.org/packages/15/20/e9588b12dc2dff62033d7d5fb8a6603a055e9500d2efb0aca0460e8e84fa/jsonobjects-1.0.1.tar.gz"
}
],
"1.0.2": [
{
"comment_text": "",
"digests": {
"md5": "b3777308cbfdd5fa7d62630d8d784605",
"sha256": "990cb3b9012e5e08f1e9fa7546b38e8abc6211b5e1c28faed33756e151a81334"
},
"downloads": -1,
"filename": "jsonobjects-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "b3777308cbfdd5fa7d62630d8d784605",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13807,
"upload_time": "2015-11-11T17:04:49",
"url": "https://files.pythonhosted.org/packages/21/57/6a0a7a69310343901d0a87f50f855bcf4430803b67ec64a78ccbfd6ae5a0/jsonobjects-1.0.2.tar.gz"
}
],
"1.0.3": [
{
"comment_text": "",
"digests": {
"md5": "cf28d808b63bde727a9ca57e86e09784",
"sha256": "7a11306fc0b3b289d16ffc3218b0eebef341c8f36d520e56648c260ef020948a"
},
"downloads": -1,
"filename": "jsonobjects-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "cf28d808b63bde727a9ca57e86e09784",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13885,
"upload_time": "2015-11-11T17:57:41",
"url": "https://files.pythonhosted.org/packages/d5/e8/1889e5877916895682eb63b1945cf2d35b8bd207786dcca299e7f4be6d6d/jsonobjects-1.0.3.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "cf28d808b63bde727a9ca57e86e09784",
"sha256": "7a11306fc0b3b289d16ffc3218b0eebef341c8f36d520e56648c260ef020948a"
},
"downloads": -1,
"filename": "jsonobjects-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "cf28d808b63bde727a9ca57e86e09784",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13885,
"upload_time": "2015-11-11T17:57:41",
"url": "https://files.pythonhosted.org/packages/d5/e8/1889e5877916895682eb63b1945cf2d35b8bd207786dcca299e7f4be6d6d/jsonobjects-1.0.3.tar.gz"
}
]
}