{ "info": { "author": "Jaime Gil de Sagredo Luna", "author_email": "jaimegildesagredo@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Booby: data modeling and validation\n===================================\n\n.. image:: https://img.shields.io/pypi/v/booby.svg\n :target: https://pypi.python.org/pypi/booby\n :alt: Latest version\n\n.. image:: https://readthedocs.org/projects/booby/badge\n :target: http://booby.readthedocs.org/en/latest\n :alt: Docs\n\n.. image:: https://img.shields.io/badge/Licence-Apache2-brightgreen.svg\n :target: https://www.tldrlegal.com/l/apache2\n :alt: License\n\n.. image:: https://img.shields.io/pypi/dm/booby.svg\n :target: https://pypi.python.org/pypi/booby\n :alt: Number of PyPI downloads\n\n.. image:: https://secure.travis-ci.org/jaimegildesagredo/booby.svg?branch=master\n :target: http://travis-ci.org/jaimegildesagredo/booby\n :alt: Build status\n\nBooby is a standalone data `modeling` and `validation` library written in Python. Booby is under active development (visit `this blog post `_ for more info and the roadmap) and licensed under the `Apache2 license `_, so feel free to `contribute `_ and `report errors and suggestions `_.\n\nUsage\n-----\n\nSee the sample code below to get an idea of the main features.\n\n.. code-block:: python\n\n from booby import Model, fields\n\n\n class Token(Model):\n key = fields.String()\n secret = fields.String()\n\n\n class Address(Model):\n line_1 = fields.String()\n line_2 = fields.String()\n\n\n class User(Model):\n login = fields.String(required=True)\n name = fields.String()\n email = fields.Email()\n token = fields.Embedded(Token, required=True)\n addresses = fields.Collection(Address)\n\n jack = User(\n login='jack',\n name='Jack',\n email='jack@example.com',\n token={\n 'key': 'vs7dfxxx',\n 'secret': 'ds5ds4xxx'\n },\n addresses=[\n {'line_1': 'Main Street'},\n {'line_1': 'Main St'}\n ]\n )\n\n if jack.is_valid:\n print jack.to_json(indent=2)\n else:\n print json.dumps(dict(jack.validation_errors))\n\n.. code-block:: json\n\n {\n \"email\": \"jack@example.com\",\n \"login\": \"jack\",\n \"token\": {\n \"secret\": \"ds5ds4xxx\",\n \"key\": \"vs7dfxxx\"\n },\n \"name\": \"Jack\",\n \"addresses\": [\n {\n \"line_1\": \"Main St\",\n \"line_2\": null\n },\n {\n \"line_1\": \"Main Street\",\n \"line_2\": null\n }\n ]\n }\n\nInstallation\n------------\n\nYou can install the last stable release of Booby from PyPI using pip or easy_install.\n\n.. code-block:: bash\n\n $ pip install booby\n\nAlso you can install the latest sources from Github.\n\n.. code-block:: bash\n\n $ pip install -e git+git://github.com/jaimegildesagredo/booby.git#egg=booby\n\nTests\n-----\n\nTo run the Booby test suite you should install the development requirements and then run nosetests.\n\n.. code-block:: bash\n\n $ pip install -r test-requirements.txt\n $ nosetests tests/unit\n $ nosetests tests/integration\n\nChanges\n-------\n\nSee `Changes `_.", "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/jaimegildesagredo/booby", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "booby", "package_url": "https://pypi.org/project/booby/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/booby/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/jaimegildesagredo/booby" }, "release_url": "https://pypi.org/project/booby/0.7.0/", "requires_dist": null, "requires_python": null, "summary": "Data modeling and validation Python library", "version": "0.7.0" }, "last_serial": 1329999, "releases": { "0.1.4": [], "0.2": [ { "comment_text": "", "digests": { "md5": "e0bc478881cfcee131fe12e73efbaf6e", "sha256": "d89568a91a806c5dbf4f1a964a190a0548f16c7438e2ed1e1428fd1104479b88" }, "downloads": -1, "filename": "booby-0.2.tar.gz", "has_sig": false, "md5_digest": "e0bc478881cfcee131fe12e73efbaf6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5706, "upload_time": "2012-12-30T16:01:34", "url": "https://files.pythonhosted.org/packages/63/af/98a12775799b49d95cba82f0c59ed3cee19ec3c3e0d463b52e15bf870ab6/booby-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "721997c1bef36238bf1c05251f125aab", "sha256": "48295cbd623627020fda1971f0581c16ecb8c2352cacc1473aeea396cf9f133e" }, "downloads": -1, "filename": "booby-0.2.1.tar.gz", "has_sig": false, "md5_digest": "721997c1bef36238bf1c05251f125aab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5928, "upload_time": "2013-01-16T19:16:20", "url": "https://files.pythonhosted.org/packages/7e/03/ba21549889fb5c2b04f7ce2831b7644dac94292668e9e4220eb9ad049dc1/booby-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "129b5f8c06dd1dce217e5ab5d9edd08c", "sha256": "2a6827945abad9ab98a97f1b5d2ba155f259bf2eaa282fa5a8827542c7958f70" }, "downloads": -1, "filename": "booby-0.2.2.tar.gz", "has_sig": false, "md5_digest": "129b5f8c06dd1dce217e5ab5d9edd08c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6108, "upload_time": "2013-03-07T20:12:20", "url": "https://files.pythonhosted.org/packages/6b/48/8a570b7656b46e4d957ce8677d02491827bd90e45cbd482196e953aa2e17/booby-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "cf7fa83228b675cfb1fbaa2ad6d14613", "sha256": "11951154804d20fbf2fe5bf1180a888eb54854d79c1a49204b25415f2f624d41" }, "downloads": -1, "filename": "booby-0.2.3.tar.gz", "has_sig": false, "md5_digest": "cf7fa83228b675cfb1fbaa2ad6d14613", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6457, "upload_time": "2013-06-10T22:05:24", "url": "https://files.pythonhosted.org/packages/84/ff/f393a38d92ae9a45e3c409febbc6b9b4378ac175959f113c6fe3c67b33ec/booby-0.2.3.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "e12f5f4546390aa9b7bd8e6eb120f150", "sha256": "912513e20c5511bb1a75dad4910715bc31305d11280df14928bca08d2e811a40" }, "downloads": -1, "filename": "booby-0.3.0.tar.gz", "has_sig": false, "md5_digest": "e12f5f4546390aa9b7bd8e6eb120f150", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6697, "upload_time": "2013-06-19T23:58:28", "url": "https://files.pythonhosted.org/packages/59/65/7476a6edfef55d1c3aa16de3f5fd88eee4432789982a496c1c1f66e7cabd/booby-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "293f1eded92c9a0a947b917635fc32de", "sha256": "93cebd2d06c3dcb895faf75abe684f64a470f4cd203213ba37d73eacdb78df56" }, "downloads": -1, "filename": "booby-0.4.0.tar.gz", "has_sig": false, "md5_digest": "293f1eded92c9a0a947b917635fc32de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7192, "upload_time": "2013-08-04T00:27:32", "url": "https://files.pythonhosted.org/packages/25/f0/ca6261a0de2a85cdc63ff7bd9ae310f50211ef5513c44005ea24bbae219b/booby-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "7e80bcd89b5b0f8d00b5beaab57b64d7", "sha256": "95accd976ad8ae4baff12ebaf366727651e8407f68098245a67f09dc1ba420d8" }, "downloads": -1, "filename": "booby-0.5.0.tar.gz", "has_sig": false, "md5_digest": "7e80bcd89b5b0f8d00b5beaab57b64d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7748, "upload_time": "2014-01-04T13:56:12", "url": "https://files.pythonhosted.org/packages/55/ee/538736ce02e83606c76e6b0a4d99a86a2d644b43c800f51da5a3cf51e534/booby-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "3e17d79cd4b547d89231003377fb3498", "sha256": "68d471b83ae6d5ceaeb06ded9202c4a0ff401de7e9c43ac0bc7040976b0fbe89" }, "downloads": -1, "filename": "booby-0.5.1.tar.gz", "has_sig": false, "md5_digest": "3e17d79cd4b547d89231003377fb3498", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8017, "upload_time": "2014-01-31T12:57:38", "url": "https://files.pythonhosted.org/packages/a9/93/a74c746692125cee50de58a96b68323a774ed04b27244350025c5df8924e/booby-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "57a48ce61cad823a6cd65e19348a09d8", "sha256": "b3a1b0147f0f0ab376f810fa9dd8103189bf402ca9399ba20334157954f03f29" }, "downloads": -1, "filename": "booby-0.5.2.tar.gz", "has_sig": false, "md5_digest": "57a48ce61cad823a6cd65e19348a09d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8262, "upload_time": "2014-03-22T21:50:44", "url": "https://files.pythonhosted.org/packages/49/f5/3468b1363e26f215d3569f7258e04983821101b72492c9ef1319b9fc9a92/booby-0.5.2.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "c98adb2527d716e2164a3793ea8fb0da", "sha256": "b6ec655b1fa969c0414a105868aecf748fbb051dae9687410127f4951c3352af" }, "downloads": -1, "filename": "booby-0.6.0.tar.gz", "has_sig": false, "md5_digest": "c98adb2527d716e2164a3793ea8fb0da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9494, "upload_time": "2014-10-12T10:51:22", "url": "https://files.pythonhosted.org/packages/d5/ae/cfaef7f74ab6880c6847b2825921b02319425a378b57cabae9627b4022c7/booby-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "0fc21489a623b19bf495dbe039acc7fe", "sha256": "2f7ea353cc3a0f9369136a4a97208e592ecbb3e9870a9df5ddef408ebe1d38a7" }, "downloads": -1, "filename": "booby-0.7.0.tar.gz", "has_sig": false, "md5_digest": "0fc21489a623b19bf495dbe039acc7fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10065, "upload_time": "2014-12-03T17:38:07", "url": "https://files.pythonhosted.org/packages/ad/82/18e86beb745154edff5077b1de41e048c0a2e27d1097c513d15e0c93e0c2/booby-0.7.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0fc21489a623b19bf495dbe039acc7fe", "sha256": "2f7ea353cc3a0f9369136a4a97208e592ecbb3e9870a9df5ddef408ebe1d38a7" }, "downloads": -1, "filename": "booby-0.7.0.tar.gz", "has_sig": false, "md5_digest": "0fc21489a623b19bf495dbe039acc7fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10065, "upload_time": "2014-12-03T17:38:07", "url": "https://files.pythonhosted.org/packages/ad/82/18e86beb745154edff5077b1de41e048c0a2e27d1097c513d15e0c93e0c2/booby-0.7.0.tar.gz" } ] }