{ "info": { "author": "Csaba Palankai", "author_email": "csaba.palankai@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Internet :: WWW/HTTP :: WSGI", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "================================\nMicroService framework :: Schema\n================================\n\n.. image:: https://travis-ci.org/palankai/pyrs-schema.svg?branch=master\n :target: https://travis-ci.org/palankai/pyrs-schema\n\n.. image:: https://coveralls.io/repos/palankai/pyrs-schema/badge.svg?branch=master&service=github\n :target: https://coveralls.io/github/palankai/pyrs-schema?branch=master\n\n.. image:: https://readthedocs.org/projects/pyrs-schema/badge/?version=stable\n :target: http://pyrs-schema.readthedocs.org/en/stable/\n :alt: Documentation Status\n\n\n| Project homepage: ``_\n| Documentation: ``_\n| Issues: ``_\n\n\nWhat is this package for\n------------------------\n\nI've used different python frameworks for data serialisation many times. Mostly\nwhen I had to implement an API for my work. I felt many times those frameworks\ndid good job but not extensible enough.\nAlso writing easily an API which is satisfy every expectations of projects,\nwithout coupled restrictions sometimes really hard.\n\nNutshell\n--------\n\n.. code:: python\n\n from pyrs import schema\n\n class UserSchema(schema.Object):\n version = schema.Version(version='1.0')\n username = schema.StringField(required=True)\n password = schema.StringField(required=True, tags=['writeonly'])\n email = schema.EmailField(title='Registered email address')\n\n writer = schema.JSONWriter(UserSchema)\n jsonstring = writer.write(data) # The validation also happen\n\n schemawriter = schema.JSONSchemaWriter()\n jsonschemastr = writer.write(UserSchema)\n\nFeatures\n--------\n- Easy schema definition\n- Schema validation\n- Decoupled serialisation, validation\n- Extensible API\n\nInstallation\n------------\n\nThe code is tested with python 2.7, 3.3, 3.4.\n\n.. code:: bash\n\n $ pip install pyrs-schema\n\nDependencies\n------------\n\nSee requirements.txt. But The goal is less dependency as possible. The main\ndependency is the python `jsonchema `_\nThe validation is using that package.\n\nNotice that even it's a JSON schema validator this work still can be used\nfor any (compatible) schema validation.\n\nImportant caveats\n-----------------\n\nThis code is in beta version. I working hard on write stable as possible API in\nthe first place but while this code in 0.x version you should expect some major\nmodification on the API.\n\nThe ecosystem\n-------------\n\nThis work is part of `pyrs framework `_.\nThe complete framework follow the same intention to implement flexible\nsolution.\n\nContribution\n------------\n\nI really welcome any comments!\nI would be happy if you fork my code or create pull requests.\nI've already really strong opinions what I want to achieve and how, though any\nhelp would be welcomed.\n\nFeel free drop a message to me!", "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/palankai/pyrs-schema", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "pyrs-schema", "package_url": "https://pypi.org/project/pyrs-schema/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pyrs-schema/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/palankai/pyrs-schema" }, "release_url": "https://pypi.org/project/pyrs-schema/0.7.3/", "requires_dist": null, "requires_python": null, "summary": "Python microservice framework", "version": "0.7.3" }, "last_serial": 1700621, "releases": { "0.1.1": [], "0.2.0": [ { "comment_text": "", "digests": { "md5": "3dc2ec0d85d1d62e1917cf2150f453f1", "sha256": "43c981000a861511a16693dc38d55572e99a2fd2bcce9a7e51f4a0480cbebf8d" }, "downloads": -1, "filename": "pyrs-schema-0.2.0.tar.gz", "has_sig": false, "md5_digest": "3dc2ec0d85d1d62e1917cf2150f453f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10815, "upload_time": "2015-08-13T15:55:24", "url": "https://files.pythonhosted.org/packages/a2/7e/7619fc5235f9607db6959dee4608814428d2b4c600d6ea8c5743f83d9b6a/pyrs-schema-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "39877c7008ae03e739908af85fc14b1a", "sha256": "adcf84f7e03300e01d504711fb11c34e5bd056ec2aaa68ca53c866ad20e84af0" }, "downloads": -1, "filename": "pyrs-schema-0.3.0.tar.gz", "has_sig": false, "md5_digest": "39877c7008ae03e739908af85fc14b1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14561, "upload_time": "2015-08-16T09:49:02", "url": "https://files.pythonhosted.org/packages/7b/32/c2cc97de6ff52459b77778ad23db1d4e53d9e5008a99d1d4de5490716a67/pyrs-schema-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "5a7090ba711fc9c9cc5dd86dccff7078", "sha256": "7090874ded864e0c6e27e75dac27cfaefd599fdec3f950ba3f9b78792cbc57cf" }, "downloads": -1, "filename": "pyrs-schema-0.3.1.tar.gz", "has_sig": false, "md5_digest": "5a7090ba711fc9c9cc5dd86dccff7078", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14585, "upload_time": "2015-08-16T11:27:13", "url": "https://files.pythonhosted.org/packages/f5/1b/e88bb167397275b1c55727665fef3afb28a77f1f02107e2be89acb6b7418/pyrs-schema-0.3.1.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "cb1e0d2c45848a3a8780ca78bf27a4ca", "sha256": "727e03f250a472a9e7b92a76ef726308adf6d064a47da515515e60d509aae9cc" }, "downloads": -1, "filename": "pyrs-schema-0.4.1.tar.gz", "has_sig": false, "md5_digest": "cb1e0d2c45848a3a8780ca78bf27a4ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15163, "upload_time": "2015-08-19T22:40:16", "url": "https://files.pythonhosted.org/packages/65/09/938196439b6866577172681a732866a9da1278027ec115499bfc6f02d1b0/pyrs-schema-0.4.1.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "a9ba6318de7084ce8d18a70165c4fc72", "sha256": "58ea5738df9edab60a43732a172675b3709e27b3967dc3ee44a9a8d35e66b3e6" }, "downloads": -1, "filename": "pyrs-schema-0.5.tar.gz", "has_sig": false, "md5_digest": "a9ba6318de7084ce8d18a70165c4fc72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17853, "upload_time": "2015-08-21T21:37:28", "url": "https://files.pythonhosted.org/packages/d7/17/eef5c38c5ad87c4d5c87f29e20f76d2323b8ec68c0a125d4d857c38a4b40/pyrs-schema-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "8a32bcb3e8f5a7d7654d7d257ca32b57", "sha256": "2155c7de08fd184ed04826bcbe090a53f8eee6f0e27e2aee11abd95b78322153" }, "downloads": -1, "filename": "pyrs-schema-0.5.1.tar.gz", "has_sig": false, "md5_digest": "8a32bcb3e8f5a7d7654d7d257ca32b57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18881, "upload_time": "2015-08-22T10:30:35", "url": "https://files.pythonhosted.org/packages/70/d5/7af7a04ad2f88978dec0a942869b02192ee2da288b4992f596dc79d0832a/pyrs-schema-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "01cb728166316027a9dc912ac9b68751", "sha256": "02c3cee6cfacd3f697e9c6bde9886acdb52052b498e795812bb3d9c89c122bd8" }, "downloads": -1, "filename": "pyrs-schema-0.5.2.tar.gz", "has_sig": false, "md5_digest": "01cb728166316027a9dc912ac9b68751", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19055, "upload_time": "2015-08-22T10:54:05", "url": "https://files.pythonhosted.org/packages/f7/50/e28eeecfb309edaa6b39ffdbfdca6cccb03e5edba090749a5851c31e6e65/pyrs-schema-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "3df5d8de14d7f18c1d52655451b3f17f", "sha256": "c21f5a0a12fb061d8198700c85fab156f34265117011dbd845634b384ca491c9" }, "downloads": -1, "filename": "pyrs-schema-0.5.3.tar.gz", "has_sig": false, "md5_digest": "3df5d8de14d7f18c1d52655451b3f17f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20932, "upload_time": "2015-08-22T12:54:19", "url": "https://files.pythonhosted.org/packages/95/25/1da1a3a1f0e0e7eff33bc6e1fa0644e55d47e8d0aeca2d2b4af134efa794/pyrs-schema-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "d83ae0b997e5f85f39f9c41f8ca7b1c4", "sha256": "bdb373b8925021762197993473ca9262999d9f6a3a0a26e73c3c69bc9cd677c0" }, "downloads": -1, "filename": "pyrs-schema-0.5.4.tar.gz", "has_sig": false, "md5_digest": "d83ae0b997e5f85f39f9c41f8ca7b1c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20893, "upload_time": "2015-08-23T14:52:41", "url": "https://files.pythonhosted.org/packages/36/d1/af4e8dadc5e9cfc8b3733103e58688bd17797997e580855f0fbd431fad9a/pyrs-schema-0.5.4.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "6075e2fe69a976e686e8173e9e0de56f", "sha256": "c2014b66e270f4afee11c66c0e1c52693b832b107daa0018223aff1ce1031e2f" }, "downloads": -1, "filename": "pyrs-schema-0.6.tar.gz", "has_sig": false, "md5_digest": "6075e2fe69a976e686e8173e9e0de56f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21010, "upload_time": "2015-08-28T21:20:54", "url": "https://files.pythonhosted.org/packages/9f/5a/54205c442a1d2ded6d080e5c471a04ec295d5890be02e61ad0d7109d5360/pyrs-schema-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "d4d3f5ef8910fce515705266c4e1b4c7", "sha256": "1e7ccf763c093a455396a1cc14137f70408eec43ec87187e03d13b3f1a9ec0bc" }, "downloads": -1, "filename": "pyrs-schema-0.7.tar.gz", "has_sig": false, "md5_digest": "d4d3f5ef8910fce515705266c4e1b4c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13628, "upload_time": "2015-08-30T18:38:16", "url": "https://files.pythonhosted.org/packages/a1/d3/0b2ab6a12b4dd77bc78c4d5b72d534d2a37fb9b73eb738055d5b5e8f554b/pyrs-schema-0.7.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "f3700c134629772768e1b64574b32a14", "sha256": "b7509bec7223b532637e1970a87e875c7437aa585ef2273f554cfe58d010a215" }, "downloads": -1, "filename": "pyrs-schema-0.7.1.tar.gz", "has_sig": false, "md5_digest": "f3700c134629772768e1b64574b32a14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13656, "upload_time": "2015-08-30T18:44:37", "url": "https://files.pythonhosted.org/packages/f4/55/fff5e5e13a30b3b6d5ef755dbccbb1638a956adef3376760704922615b4e/pyrs-schema-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "2cc40674140f5b84f23e7730668f0dc9", "sha256": "a1b3de0279ed888eef131ed515f503f599919448da0238c6d49ad4b391237ce9" }, "downloads": -1, "filename": "pyrs-schema-0.7.2.tar.gz", "has_sig": false, "md5_digest": "2cc40674140f5b84f23e7730668f0dc9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13635, "upload_time": "2015-08-30T19:13:48", "url": "https://files.pythonhosted.org/packages/ec/6c/0853e79d09de24d3d74cefa72636354cf8c242527b99c3dee512d883e03e/pyrs-schema-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "6b446aa00aa9d161f75845ee0952f76f", "sha256": "bc178d237e3a398a599f85d6848ec468a438c071beab30e090e95ca31e19951a" }, "downloads": -1, "filename": "pyrs-schema-0.7.3.tar.gz", "has_sig": false, "md5_digest": "6b446aa00aa9d161f75845ee0952f76f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13695, "upload_time": "2015-08-30T19:42:43", "url": "https://files.pythonhosted.org/packages/33/88/5d64b0baa5befba84632dddacdc1f6e69bd37a393858f89b0226a5a45390/pyrs-schema-0.7.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6b446aa00aa9d161f75845ee0952f76f", "sha256": "bc178d237e3a398a599f85d6848ec468a438c071beab30e090e95ca31e19951a" }, "downloads": -1, "filename": "pyrs-schema-0.7.3.tar.gz", "has_sig": false, "md5_digest": "6b446aa00aa9d161f75845ee0952f76f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13695, "upload_time": "2015-08-30T19:42:43", "url": "https://files.pythonhosted.org/packages/33/88/5d64b0baa5befba84632dddacdc1f6e69bd37a393858f89b0226a5a45390/pyrs-schema-0.7.3.tar.gz" } ] }