{ "info": { "author": "Tim Savage", "author_email": "tim.savage@poweredbypenguins.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 7 - Inactive", "Intended Audience :: Developers", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3" ], "description": "##############################################\r\nJSRN - JavaScript Resource Notation for Python\r\n##############################################\r\n\r\nThis library has been deprecated in favour of `Odin `_\r\n\r\nA JSON based notation for resources that can be easily converted into object graphs.\r\n\r\n.. note::\r\n Official location of this project is now `GitHub `_ (for Travis-CI support), the\r\n `BitBucket `_ repository may not contain the latest code.\r\n\r\n.. image:: https://travis-ci.org/timsavage/jsrn.png?branch=master\r\n :target: https://travis-ci.org/timsavage/jsrn\r\n :alt: Travis CI Status\r\n\r\nHighlights\r\n**********\r\n\r\n* Class based declarative style\r\n* Support for all JSON primitive types (including JavaScript Date)\r\n* Fields for building composite resources\r\n* Field and Resource level validation\r\n* Easy extension to support custom fields\r\n* Python 2.7+ and Python 3.3+ supported\r\n\r\n\r\nQuick links\r\n***********\r\n\r\n* `Documentation `_\r\n* `Project home `_\r\n* `Issue tracker `_\r\n\r\n\r\nUpcoming features\r\n*****************\r\n\r\n**In development**\r\n\r\n* Customisable generation of documentation of resources (for integration into `Sphinx `_)\r\n* Complete documentation (around 70-80% complete for current features)\r\n\r\n**Planning**\r\n\r\n* Integration with other libraries (ie `Django `_ Models/Forms)\r\n\r\n\r\nRequires\r\n********\r\n\r\n* six\r\n\r\n**Optional**\r\n\r\n* jinja2 >= 2.7 - For documentation generation\r\n* simplejson - Performance improvements\r\n\r\n\r\nExample\r\n*******\r\n\r\n**With definition:**\r\n::\r\n\r\n import jsrn\r\n\r\n class Author(jsrn.Resource):\r\n name = jsrn.StringField()\r\n\r\n class Publisher(jsrn.Resource):\r\n name = jsrn.StringField()\r\n\r\n class Book(jsrn.Resource):\r\n title = jsrn.StringField()\r\n authors = jsrn.ArrayOf(Author)\r\n publisher = jsrn.ObjectAs(Publisher)\r\n genre = jsrn.StringField()\r\n num_pages = jsrn.IntegerField()\r\n\r\n\r\n::\r\n\r\n >>> b = Book(\r\n title=\"Consider Phlebas\",\r\n genre=\"Space Opera\",\r\n publisher=Publisher(name=\"Macmillan\"),\r\n num_pages=471\r\n )\r\n >>> b.authors.append(Author(name=\"Iain M. Banks\"))\r\n >>> jsrn.dumps(b, pretty_print=True)\r\n {\r\n \"$\": \"Book\",\r\n \"authors\": [\r\n {\r\n \"$\": \"Author\",\r\n \"name\": \"Iain M. Banks\"\r\n }\r\n ],\r\n \"genre\": \"Space Opera\",\r\n \"num_pages\": 471,\r\n \"publisher\": {\r\n \"$\": \"Publisher\",\r\n \"name\": \"Macmillan\"\r\n },\r\n \"title\": \"Consider Phlebas\"\r\n }", "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/timsavage/jsrn", "keywords": "", "license": "LICENSE", "maintainer": "", "maintainer_email": "", "name": "jsrn", "package_url": "https://pypi.org/project/jsrn/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/jsrn/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/timsavage/jsrn" }, "release_url": "https://pypi.org/project/jsrn/0.3.2/", "requires_dist": null, "requires_python": null, "summary": "JavaScript Resource Notation for Python", "version": "0.3.2" }, "last_serial": 1988012, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "0808cde29bfc0c5d42ae2206a9519483", "sha256": "db22e9858c2eeb5ad058c257069310be4e5d317ec75b264211ebe438765458ff" }, "downloads": -1, "filename": "jsrn-0.2.0.tar.gz", "has_sig": false, "md5_digest": "0808cde29bfc0c5d42ae2206a9519483", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9566, "upload_time": "2013-06-17T03:54:11", "url": "https://files.pythonhosted.org/packages/1c/14/391c0c17d9bf920eabcc384b37d070a8b854a89d3ae195eade493a340b62/jsrn-0.2.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "adce099f7e2c15a3abddac131e399eba", "sha256": "06b53e7c312ce8c2224d585f9ad06d762a89740a9795347c06aac6538ed3d677" }, "downloads": -1, "filename": "jsrn-0.3.1.tar.gz", "has_sig": false, "md5_digest": "adce099f7e2c15a3abddac131e399eba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12519, "upload_time": "2013-07-15T07:04:06", "url": "https://files.pythonhosted.org/packages/99/19/49743cd00c8d30f516d758cbf21894befe8821bf98f1acdba55cc0246a9a/jsrn-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "f2b38b914e997eeb3da9698e7f2240f9", "sha256": "cf8361577b278e172355317980070be30421cade5f9c2d219830babc511594aa" }, "downloads": -1, "filename": "jsrn-0.3.2.tar.gz", "has_sig": false, "md5_digest": "f2b38b914e997eeb3da9698e7f2240f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13720, "upload_time": "2013-07-16T14:21:02", "url": "https://files.pythonhosted.org/packages/6e/ab/fc820d483dead1c68d2a713729e2b50952f9e216ae636f7143274895cb74/jsrn-0.3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f2b38b914e997eeb3da9698e7f2240f9", "sha256": "cf8361577b278e172355317980070be30421cade5f9c2d219830babc511594aa" }, "downloads": -1, "filename": "jsrn-0.3.2.tar.gz", "has_sig": false, "md5_digest": "f2b38b914e997eeb3da9698e7f2240f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13720, "upload_time": "2013-07-16T14:21:02", "url": "https://files.pythonhosted.org/packages/6e/ab/fc820d483dead1c68d2a713729e2b50952f9e216ae636f7143274895cb74/jsrn-0.3.2.tar.gz" } ] }