{ "info": { "author": "Curtis Maloney", "author_email": "curtis@tinbrain.net", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "\nVerity\n======\n\nQuickStart\n----------\n\n.. code-block:: python\n\n from datetime import datetime\n from verity import Type, field\n\n def parse_date(value):\n return datetime.strptime(value, '%Y-%m-%d').date()\n\n class Person(Type):\n name = field(str)\n birthdate = field(parse_date)\n\n\n.. code-block:: python\n\n >>> data = {'name': 'Bob', 'birthdate': '1980-12-21'}\n >>> person = Person(data)\n >>> person.birthdate\n datetime.date(1980, 12, 21)\n\nTypes are nestable:\n\n.. code-block:: python\n\n class Food(Type):\n name = field(str)\n energy = field(float)\n\n\n class Person(Type):\n name = field(str)\n birthdate = field(parse_date)\n favourite_food = field(Food)\n\n\n.. code-block:: python\n\n >>> data = {'name': 'Bob', 'birthdate': '1980-12-21', 'favourite_food': {'name': 'Pizza', 'energy': '1200'}}\n >>> person = Person(**data)\n >>> person.favourite_food.name\n 'Pizza'\n\n\nTypes can JSON-ify themselves\n\n.. code-block:: python\n\n >>> person.__json__()\n {'name': 'Bob', 'birthdate': datetime.date(1980, 12, 21), 'favourite_food': Food()}\n\nThough it's not recurive.\n\nHowever, it can cooperate with ``json_default``:\n\n.. code-block:: python\n\n >>> from verity import json\n >>> json.dumps(person)\n '{\"birthdate\": \"1980-12-21\", \"favourite_food\": {\"energy\": 1200.0, \"name\": \"Pizza\"}, \"name\": \"Bob\"}'\n\n\n\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/funkybob/verity", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "verity", "package_url": "https://pypi.org/project/verity/", "platform": "", "project_url": "https://pypi.org/project/verity/", "project_urls": { "Homepage": "https://github.com/funkybob/verity" }, "release_url": "https://pypi.org/project/verity/0.1/", "requires_dist": null, "requires_python": "", "summary": "Simple way to validate/cast incoming JSON data.", "version": "0.1" }, "last_serial": 3287168, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "e5c18174535dd6506c626a76d9b1d4d0", "sha256": "0366c9f644a5838064581182e180759181ee37d287fda40400bf6a52231352d9" }, "downloads": -1, "filename": "verity-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e5c18174535dd6506c626a76d9b1d4d0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4072, "upload_time": "2017-10-29T01:41:14", "url": "https://files.pythonhosted.org/packages/3c/be/1f850f675102be9f8f3a4ddac90f8f5eb705fc82e5d2b74792c458faaa92/verity-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c599b9d97cc6ea82f1b891e3874b1876", "sha256": "9a90bb94146f937057a10c630386f631018c77b52805ca86031d5a9ff6926b4e" }, "downloads": -1, "filename": "verity-0.1.tar.gz", "has_sig": false, "md5_digest": "c599b9d97cc6ea82f1b891e3874b1876", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3397, "upload_time": "2017-10-29T01:41:15", "url": "https://files.pythonhosted.org/packages/a1/6b/6261ffeda91e4763e700cf1439038ccbc3b64f520a18f2b61e76c1205b8a/verity-0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e5c18174535dd6506c626a76d9b1d4d0", "sha256": "0366c9f644a5838064581182e180759181ee37d287fda40400bf6a52231352d9" }, "downloads": -1, "filename": "verity-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e5c18174535dd6506c626a76d9b1d4d0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4072, "upload_time": "2017-10-29T01:41:14", "url": "https://files.pythonhosted.org/packages/3c/be/1f850f675102be9f8f3a4ddac90f8f5eb705fc82e5d2b74792c458faaa92/verity-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c599b9d97cc6ea82f1b891e3874b1876", "sha256": "9a90bb94146f937057a10c630386f631018c77b52805ca86031d5a9ff6926b4e" }, "downloads": -1, "filename": "verity-0.1.tar.gz", "has_sig": false, "md5_digest": "c599b9d97cc6ea82f1b891e3874b1876", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3397, "upload_time": "2017-10-29T01:41:15", "url": "https://files.pythonhosted.org/packages/a1/6b/6261ffeda91e4763e700cf1439038ccbc3b64f520a18f2b61e76c1205b8a/verity-0.1.tar.gz" } ] }