{ "info": { "author": "Link Society", "author_email": "contact@link-society.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython" ], "description": "Schemapy\n========\n\n*Schemapy* allows you to generate objects for centralized database access. You\ndefine the schema for your API, the code that needs to be executed, then the\nvalidation part is dealt with for you. Everything is then encapsulated in a single\nobject.\n\n*Schemapy* relies on PyDAL_ for schema definition but is not tied to it.\n\nSee documentation_ for more informations.\n\n.. _documentation: https://schemapy.readthedocs.io\n.. _PyDAL: https://github.com/web2py/pydal\n\n.. image:: https://img.shields.io/pypi/l/schemapy.svg?style=flat-square\n :target: https://pypi.python.org/pypi/schemapy/\n :alt: License\n\n.. image:: https://img.shields.io/pypi/status/schemapy.svg?style=flat-square\n :target: https://pypi.python.org/pypi/schemapy/\n :alt: Development Status\n\n.. image:: https://img.shields.io/pypi/v/schemapy.svg?style=flat-square\n :target: https://pypi.python.org/pypi/schemapy/\n :alt: Latest release\n\n.. image:: https://img.shields.io/pypi/pyversions/schemapy.svg?style=flat-square\n :target: https://pypi.python.org/pypi/schemapy/\n :alt: Supported Python versions\n\n.. image:: https://img.shields.io/pypi/implementation/schemapy.svg?style=flat-square\n :target: https://pypi.python.org/pypi/schemapy/\n :alt: Supported Python implementations\n\n.. image:: https://img.shields.io/pypi/wheel/schemapy.svg?style=flat-square\n :target: https://pypi.python.org/pypi/schemapy\n :alt: Download format\n\n.. image:: https://travis-ci.org/link-society/schemapy.svg?branch=master&style=flat-square\n :target: https://travis-ci.org/link-society/schemapy\n :alt: Build status\n\n.. image:: https://coveralls.io/repos/github/link-society/schemapy/badge.svg?style=flat-square\n :target: https://coveralls.io/r/link-society/schemapy\n :alt: Code test coverage\n\n.. image:: https://landscape.io/github/link-society/schemapy/master/landscape.svg?style=flat-square\n :target: https://landscape.io/github/link-society/schemapy/master\n :alt: Code Health\n\nInstallation\n------------\n\n.. code-block:: text\n\n pip install schemapy\n\nUsage\n-----\n\nUsing *PyDAL*:\n\n.. code-block:: python\n\n from schemapy import API, DAL, Field\n from datetime import datetime, timedelta\n \n db = DAL('sqlite:memory')\n db.define_table(\n 'users',\n Field('name', type='string', required=True),\n Field('created_on', type='date')\n )\n \n db.define_table(\n 'posts',\n Field('subject', type='string', required=True),\n Field('author', type='reference users', required=True),\n Field('created_on', type='date'),\n Field('content', type='text', required=True)\n )\n \n api = API(db)\n \n @api.as_action(\n type='read',\n request=[\n Field('begin', type='date', required=True),\n Field('end', type='date', required=True)\n ],\n response=db.posts\n )\n def select_posts_by_date(db, req, action):\n query = (db.posts.created_on >= req.begin) | (db.posts.created_on <= req.end)\n return db(query).select()\n \n now = datetime.now()\n result = api.select_posts_by_date(\n begin=now - timedelta(days=1),\n end=now\n )\n print(list(result))\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/link-society/schemapy", "keywords": "schema api database", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "schemapy", "package_url": "https://pypi.org/project/schemapy/", "platform": "", "project_url": "https://pypi.org/project/schemapy/", "project_urls": { "Homepage": "https://github.com/link-society/schemapy" }, "release_url": "https://pypi.org/project/schemapy/0.2.4/", "requires_dist": null, "requires_python": "", "summary": "Centralize database access", "version": "0.2.4" }, "last_serial": 3568087, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "468505d7aa7a374201fa8db44698ce98", "sha256": "c0f6d5eaf6574cb6d7bd34ba4e979b471a34cdabd4686dbd135bb07b2cac4085" }, "downloads": -1, "filename": "schemapy-0.1.0.tar.gz", "has_sig": false, "md5_digest": "468505d7aa7a374201fa8db44698ce98", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4921, "upload_time": "2018-01-16T11:21:47", "url": "https://files.pythonhosted.org/packages/a1/ab/c373125cecaa551340fb996517d9c3cb103ebb70b51b0504fc7859101625/schemapy-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "ee8e530e8e44eaf95cc6b7a57e7d8084", "sha256": "695e3c0e7f645fba32bba483f751b3a6beff71c5c093966d950ee344552ba22e" }, "downloads": -1, "filename": "schemapy-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ee8e530e8e44eaf95cc6b7a57e7d8084", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 10484, "upload_time": "2018-02-05T19:13:52", "url": "https://files.pythonhosted.org/packages/4b/24/5813792a37eee4267d71db9ad6c10bf449bd0168224e58d13be5b9655719/schemapy-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "52e9dc256f160e39caa610ba1daadade", "sha256": "c5109fdb761e0f44e0c8ba36867b0b0c5b79748219fc5a2a94fa04ce2af012f5" }, "downloads": -1, "filename": "schemapy-0.2.0.tar.gz", "has_sig": false, "md5_digest": "52e9dc256f160e39caa610ba1daadade", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15543, "upload_time": "2018-02-05T19:13:50", "url": "https://files.pythonhosted.org/packages/e7/c8/a132a714620c1ff4a799bea71d3b8109d4b6f16bc57cf48bb50ef81b0c2b/schemapy-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "1064a7c227aae39bb1f5c84814dd2920", "sha256": "5123e070dc58b1163496eae8ccf4814a489a11fcef03d85de0400ab0c8af994a" }, "downloads": -1, "filename": "schemapy-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1064a7c227aae39bb1f5c84814dd2920", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 10472, "upload_time": "2018-02-05T19:17:16", "url": "https://files.pythonhosted.org/packages/b7/b7/191b4863e7da00c979c4c35e5b605e8f9041e2ea05ebc9dd915d2c091f3b/schemapy-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "23463f8b7a8ea2d167aefb372ef135e2", "sha256": "2b9abd994a88b97f4a3ced57793cdc34f987f74cc5bcadfda073101260053170" }, "downloads": -1, "filename": "schemapy-0.2.1.tar.gz", "has_sig": false, "md5_digest": "23463f8b7a8ea2d167aefb372ef135e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15613, "upload_time": "2018-02-05T19:17:13", "url": "https://files.pythonhosted.org/packages/3c/f8/f02badcfcef6be5c84c2b3e146891911e0e5c125bdcf13f658c9e1cf1353/schemapy-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "65db755f1132b9758260e60274a09ab5", "sha256": "2560846a044a23778e0d2b3e46b1f699d4dfa76600075f3c9cafd5ca2047eef6" }, "downloads": -1, "filename": "schemapy-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "65db755f1132b9758260e60274a09ab5", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10465, "upload_time": "2018-02-09T12:24:42", "url": "https://files.pythonhosted.org/packages/43/b3/1935ee6a20b372b73554246acbcfe9ec4c5e979ef46875d1c3dcbf87cad1/schemapy-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df70d7e1df29f8aa284e3bb712c515db", "sha256": "405fd075de1aef1d5bca7c88a1071f9c346a930ac6cf872a55c3ff5fb88a1d5c" }, "downloads": -1, "filename": "schemapy-0.2.2.tar.gz", "has_sig": false, "md5_digest": "df70d7e1df29f8aa284e3bb712c515db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6546, "upload_time": "2018-02-09T12:24:40", "url": "https://files.pythonhosted.org/packages/26/44/208963b3760d41984ed293c1e10f035362fc322d7d2210d4cf9359d1655f/schemapy-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "c069b6de35e8720fa306150e563a276c", "sha256": "68f94c09c364fbd13d2062e0e86bc1dd3fcc1dd82315a63ad8c3005c7a418a9a" }, "downloads": -1, "filename": "schemapy-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c069b6de35e8720fa306150e563a276c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10470, "upload_time": "2018-02-09T12:39:10", "url": "https://files.pythonhosted.org/packages/86/18/f7b15d35ad45d2407ba0896fbd0680eeb39f3e6810933af09ffa8a3dc532/schemapy-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c5d5efc744cbb20ce93e64c46038f97d", "sha256": "5eface27e50892617a0f63e7e38bea72a1aa45843a07a171d97f85f167912a20" }, "downloads": -1, "filename": "schemapy-0.2.3.tar.gz", "has_sig": false, "md5_digest": "c5d5efc744cbb20ce93e64c46038f97d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6551, "upload_time": "2018-02-09T12:39:06", "url": "https://files.pythonhosted.org/packages/1e/9e/5aa2e841789daa3720d834d62598d51580453c4d445ff93ab2f7d73c5a2c/schemapy-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "b30cc30f62e5fc7b918fa4ca7e374b34", "sha256": "b4a79ad1ad30c392afdcf3d7db9ccaea201ce7bd95627ed03c097e8a01c859a2" }, "downloads": -1, "filename": "schemapy-0.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b30cc30f62e5fc7b918fa4ca7e374b34", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10492, "upload_time": "2018-02-09T17:30:07", "url": "https://files.pythonhosted.org/packages/66/63/7835412cdc05268f10aecc4fa0144a4fd0e6f6304f6e3431c8b2ee88ee09/schemapy-0.2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c03da16d287524d5ac3623e56a1030d", "sha256": "d21e9cd627e42b0f2bee883ce48fcda7a1550328191fe4c2cef7ea33681966a0" }, "downloads": -1, "filename": "schemapy-0.2.4.tar.gz", "has_sig": false, "md5_digest": "8c03da16d287524d5ac3623e56a1030d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6573, "upload_time": "2018-02-09T17:30:06", "url": "https://files.pythonhosted.org/packages/9a/b5/b679384ce43931f31971710ce648e59fd54342027d31b097ad65cf7baa39/schemapy-0.2.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b30cc30f62e5fc7b918fa4ca7e374b34", "sha256": "b4a79ad1ad30c392afdcf3d7db9ccaea201ce7bd95627ed03c097e8a01c859a2" }, "downloads": -1, "filename": "schemapy-0.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b30cc30f62e5fc7b918fa4ca7e374b34", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10492, "upload_time": "2018-02-09T17:30:07", "url": "https://files.pythonhosted.org/packages/66/63/7835412cdc05268f10aecc4fa0144a4fd0e6f6304f6e3431c8b2ee88ee09/schemapy-0.2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c03da16d287524d5ac3623e56a1030d", "sha256": "d21e9cd627e42b0f2bee883ce48fcda7a1550328191fe4c2cef7ea33681966a0" }, "downloads": -1, "filename": "schemapy-0.2.4.tar.gz", "has_sig": false, "md5_digest": "8c03da16d287524d5ac3623e56a1030d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6573, "upload_time": "2018-02-09T17:30:06", "url": "https://files.pythonhosted.org/packages/9a/b5/b679384ce43931f31971710ce648e59fd54342027d31b097ad65cf7baa39/schemapy-0.2.4.tar.gz" } ] }