{ "info": { "author": "Dominik Kellner (original)", "author_email": "dkellner@dkellner.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "Eve-SQLAlchemy extension\n========================\n\n.. image:: https://travis-ci.org/pyeve/eve-sqlalchemy.svg?branch=master\n :target: https://travis-ci.org/pyeve/eve-sqlalchemy\n\nPowered by Eve, SQLAlchemy and good intentions this extension allows\nto effortlessly build and deploy highly customizable, fully featured\nRESTful Web Services with SQL-based backends.\n\nEve-SQLAlchemy is simple\n------------------------\n\nThe following code blocks are excerpts of ``examples/one_to_many`` and should\ngive you an idea of how Eve-SQLAlchemy is used. A complete working example can\nbe found there. If you are not familiar with `Eve `_\nand `SQLAlchemy `_, it is recommended to read up\non them first.\n\nFor this example, we declare two SQLAlchemy mappings (from ``domain.py``):\n\n.. code-block:: python\n\n class Parent(BaseModel):\n __tablename__ = 'parent'\n id = Column(Integer, primary_key=True)\n children = relationship(\"Child\")\n\n class Child(BaseModel):\n __tablename__ = 'child'\n id = Column(Integer, primary_key=True)\n parent_id = Column(Integer, ForeignKey('parent.id'))\n\nAs for Eve, a ``settings.py`` is used to configure our API. Eve-SQLAlchemy,\nhaving access to a lot of metadata from your models, can automatically generate\na great deal of the `DOMAIN` dictionary for you:\n\n.. code-block:: python\n\n DEBUG = True\n SQLALCHEMY_DATABASE_URI = 'sqlite://'\n SQLALCHEMY_TRACK_MODIFICATIONS = False\n RESOURCE_METHODS = ['GET', 'POST']\n\n DOMAIN = DomainConfig({\n 'parents': ResourceConfig(Parent),\n 'children': ResourceConfig(Child)\n }).render()\n\nFinally, running our application server is easy (from ``app.py``):\n\n.. code-block:: python\n\n app = Eve(validator=ValidatorSQL, data=SQL)\n\n db = app.data.driver\n Base.metadata.bind = db.engine\n db.Model = Base\n\n # create database schema on startup and populate some example data\n db.create_all()\n db.session.add_all([Parent(children=[Child() for k in range(n)])\n for n in range(10)])\n db.session.commit()\n\n # using reloader will destroy the in-memory sqlite db\n app.run(debug=True, use_reloader=False)\n\nThe API is now live, ready to be consumed:\n\n.. code-block:: console\n\n $ curl -s http://localhost:5000/parents | python -m json.tool\n\n.. code-block:: json\n\n {\n \"_items\": [\n {\n \"_created\": \"Sun, 22 Oct 2017 07:58:28 GMT\",\n \"_etag\": \"f56d7cb013bf3d8449e11e8e1f0213f5efd0f07d\",\n \"_links\": {\n \"self\": {\n \"href\": \"parents/1\",\n \"title\": \"Parent\"\n }\n },\n \"_updated\": \"Sun, 22 Oct 2017 07:58:28 GMT\",\n \"children\": [],\n \"id\": 1\n },\n {\n \"_created\": \"Sun, 22 Oct 2017 07:58:28 GMT\",\n \"_etag\": \"dd1698161cb6beef04f564b2e18804d4a7c4330d\",\n \"_links\": {\n \"self\": {\n \"href\": \"parents/2\",\n \"title\": \"Parent\"\n }\n },\n \"_updated\": \"Sun, 22 Oct 2017 07:58:28 GMT\",\n \"children\": [\n 1\n ],\n \"id\": 2\n },\n \"...\"\n ],\n \"_links\": {\n \"parent\": {\n \"href\": \"/\",\n \"title\": \"home\"\n },\n \"self\": {\n \"href\": \"parents\",\n \"title\": \"parents\"\n }\n },\n \"_meta\": {\n \"max_results\": 25,\n \"page\": 1,\n \"total\": 10\n }\n }\n\nAll you need to bring your API online is a database, a configuration\nfile (defaults to ``settings.py``) and a launch script. Overall, you\nwill find that configuring and fine-tuning your API is a very simple\nprocess.\n\nEve-SQLAlchemy is thoroughly tested under Python 2.7-3.6 and PyPy.\n\nDocumentation\n-------------\n\nThe offical project documentation can be accessed at\n`eve-sqlalchemy.readthedocs.org\n`_. For full working examples,\nespecially regarding different relationship types, see the ``examples``\ndirectory in this repository.\n\n\nChangelog\n---------\n\n0.6.0 (unreleased)\n~~~~~~~~~~~~~~~~~~\n\n- Return None-values again (#155) [Cuong Manh Le]\n- Allow to supply own Flask-SQLAlchemy driver (#86) [fubu]\n- Support columns with server_default (#160) [Asif Mahmud Shimon]\n\n\n0.5.0 (2017-10-22)\n~~~~~~~~~~~~~~~~~~\n\n- Add DomainConfig and ResourceConfig to ease configuration (#152)\n [Dominik Kellner]\n- Fixes in documentation (#151) [Alessandro De Angelis]\n- Fix deprecated import warning (#142) [Cuong Manh Le]\n- Configure `zest.releaser` for release management (#137)\n [Dominik Kellner, \u00d8ystein S. Haaland]\n- Leverage further automated syntax and formatting checks (#138)\n [Dominik Kellner]\n- Clean up specification of dependencies [Dominik Kellner]\n- Added 'Contributing' section to docs (#129) [Mario Kralj]\n- Fix trivial app output in documentation (#131) [Michal Vlas\u00e1k]\n- Added dialect-specific PostgreSQL JSON type (#133) [Mario Kralj]\n- Fix url field in documentation about additional lookup (#110) [Killian Kemps]\n- Compatibility with Eve 0.6.4 and refactoring of tests (#92) [Dominik Kellner]\n\n\n0.4.1 (2015-12-16)\n~~~~~~~~~~~~~~~~~~\n\n- improve query with null values [amleczko]\n\n\n0.4.0a3 (2015-10-20)\n~~~~~~~~~~~~~~~~~~~~\n\n- `hybrid_properties` are now readonly in Eve schema [amleczko]\n\n\n0.4.0a2 (2015-09-17)\n~~~~~~~~~~~~~~~~~~~~\n\n- PUT drops/recreates item in the same transaction [goneri]\n\n\n0.4.0a1 (2015-06-18)\n~~~~~~~~~~~~~~~~~~~~\n\n- support the Python-Eve generic sorting syntax [Goneri Le Bouder]\n- add support for `and_` and `or_` conjunctions in sqla expressions [toxsick]\n- embedded table: use DOMAIN to look up the resource fields [Goneri Le Bouder]\n\n\n0.3.4 (2015-05-18)\n~~~~~~~~~~~~~~~~~~\n\n- fix setup.py metadata\n- fix how embedded documents are resolved [amleczko]\n\n\n0.3.3 (2015-05-13)\n~~~~~~~~~~~~~~~~~~\n\n- added support of SA association proxy [Kevin Roy]\n- make sure relationships are generated properly [amleczko]\n\n\n0.3.2 (2015-05-01)\n~~~~~~~~~~~~~~~~~~\n\n- add fallback on attr.op if the operator doesn't exists in the\n `ColumnProperty` [Kevin Roy]\n- add support for PostgreSQL JSON type [Goneri Le Bouder]\n\n\n0.3.1 (2015-04-29)\n~~~~~~~~~~~~~~~~~~\n\n- more flexible handling sqlalchemy operators [amleczko]\n\n\n0.3 (2015-04-17)\n~~~~~~~~~~~~~~~~\n\n- return everything as dicts instead of SQLAResult, remove SQLAResult\n [Leonidaz0r]\n- fix update function, this closes #22 [David Durieux]\n- fixed replaced method, we are compatible with Eve>=0.5.1 [Kevin Roy]\n- fixed jsonify function [Leonidaz0r]\n- update documentation [Alex Kerney]\n- use id_field column from the config [Goneri Le Bouder]\n- add flake8 in tox [Goneri Le Bouder]\n\n\n0.2.1 (2015-02-25)\n~~~~~~~~~~~~~~~~~~\n\n- always wrap embedded documents [amleczko]\n\n\n0.2 (2015-01-27)\n~~~~~~~~~~~~~~~~\n\n- various bugfixing [Arie Brosztein, toxsick]\n- refactor sorting parser, add sql order by expresssions; please check\n http://eve-sqlalchemy.readthedocs.org/#sqlalchemy-sorting for more details\n [amleczko]\n\n\n0.1 (2015-01-13)\n~~~~~~~~~~~~~~~~\n\n- First public preview release. [amleczko]", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/pyeve/eve-sqlalchemy", "keywords": "flask sqlalchemy rest", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "Eve-SQLAlchemy-alpha", "package_url": "https://pypi.org/project/Eve-SQLAlchemy-alpha/", "platform": "any", "project_url": "https://pypi.org/project/Eve-SQLAlchemy-alpha/", "project_urls": { "Homepage": "https://github.com/pyeve/eve-sqlalchemy" }, "release_url": "https://pypi.org/project/Eve-SQLAlchemy-alpha/0.7.10/", "requires_dist": null, "requires_python": "", "summary": "Unofficial version of Eve Sqlalchemy, REST API framework powered by Eve, SQLAlchemy.This was build with intention that this should be highly customizable, should be able to bend according to the need of the hour.", "version": "0.7.10" }, "last_serial": 5549254, "releases": { "0.6.2": [ { "comment_text": "", "digests": { "md5": "3181457f851a1cd97dea4fffc826ee47", "sha256": "4a0d39eff4fd4437776a33e762e744c8aafbcc825d1592f6bfcf14ad341821b4" }, "downloads": -1, "filename": "Eve-SQLAlchemy-alpha-0.6.2.tar.gz", "has_sig": false, "md5_digest": "3181457f851a1cd97dea4fffc826ee47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 119947, "upload_time": "2019-05-21T18:51:18", "url": "https://files.pythonhosted.org/packages/ff/dc/2b93843d99236ab9a36e8632fd0131eaa26be6a49040df47234d4d3edd43/Eve-SQLAlchemy-alpha-0.6.2.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "dd3425c0f4defd86dbd9ccbd9520c1d2", "sha256": "383dea4f89e45919ca57fa907b5e5923bd2e463dbe9f04f32b55f0a1c9d63d2a" }, "downloads": -1, "filename": "Eve-SQLAlchemy-alpha-0.7.1.tar.gz", "has_sig": false, "md5_digest": "dd3425c0f4defd86dbd9ccbd9520c1d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 120633, "upload_time": "2019-06-01T18:20:19", "url": "https://files.pythonhosted.org/packages/1d/8e/7f01536b39faa2e3715f720103ecf4107fc5c6760a8f069d99fa81d77c81/Eve-SQLAlchemy-alpha-0.7.1.tar.gz" } ], "0.7.10": [ { "comment_text": "", "digests": { "md5": "3b3303ae331ea80537f2217bcba0f0df", "sha256": "f1cf0dd26eb84d0140291f2b4e0b75f377d9d2f271afefd7cf1cd8f00ca0ebf9" }, "downloads": -1, "filename": "Eve-SQLAlchemy-alpha-0.7.10.tar.gz", "has_sig": false, "md5_digest": "3b3303ae331ea80537f2217bcba0f0df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 121164, "upload_time": "2019-07-18T06:14:40", "url": "https://files.pythonhosted.org/packages/71/67/ccd6c29bdd53a8ff1feeb52e3d05cfc61e6b621d82e8cab006efab5cae1e/Eve-SQLAlchemy-alpha-0.7.10.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "03f2db5779bc863231e138d2075c2667", "sha256": "bc1c13e9da22258dba189aebb2abf752296864dc303f30d92c5011ac469918f8" }, "downloads": -1, "filename": "Eve-SQLAlchemy-alpha-0.7.2.tar.gz", "has_sig": false, "md5_digest": "03f2db5779bc863231e138d2075c2667", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 120678, "upload_time": "2019-06-02T13:47:46", "url": "https://files.pythonhosted.org/packages/8f/7e/5f3b2b127064ee122a6e5b608c5919c45e6c193fa9d4a35a92e948509bcd/Eve-SQLAlchemy-alpha-0.7.2.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "a481aea65af497bec7e7e17c7cc79e75", "sha256": "2039a305f3cb58bd85588b166e9b6841f9b3d8e8a2dc9d6ce3db4a7bd04a9a6d" }, "downloads": -1, "filename": "Eve-SQLAlchemy-alpha-0.7.4.tar.gz", "has_sig": false, "md5_digest": "a481aea65af497bec7e7e17c7cc79e75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 120751, "upload_time": "2019-06-11T10:06:57", "url": "https://files.pythonhosted.org/packages/fa/24/b3731e32004de1c9ba4f069cc5119396b093c634fb43a3687b5a387b33ef/Eve-SQLAlchemy-alpha-0.7.4.tar.gz" } ], "0.7.5": [ { "comment_text": "", "digests": { "md5": "a01210c57589cfdb3960008ada02c326", "sha256": "9ed04ac299f3f2e4e9799a09a4403b21392aa3624d56560ce1ede9deb97a28b9" }, "downloads": -1, "filename": "Eve-SQLAlchemy-alpha-0.7.5.tar.gz", "has_sig": false, "md5_digest": "a01210c57589cfdb3960008ada02c326", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 120793, "upload_time": "2019-06-24T09:37:21", "url": "https://files.pythonhosted.org/packages/fd/ee/779fdd8ec7794193c982189381e6b70f61ea5695e51eaacba3318a5da3bf/Eve-SQLAlchemy-alpha-0.7.5.tar.gz" } ], "0.7.6": [ { "comment_text": "", "digests": { "md5": "ed41a56c0b46fb1d825a09d72e3e76ab", "sha256": "7533ae89827d9363ee1ec22d510eef6c66d0740c4ab45c597536de1164fd1d43" }, "downloads": -1, "filename": "Eve-SQLAlchemy-alpha-0.7.6.tar.gz", "has_sig": false, "md5_digest": "ed41a56c0b46fb1d825a09d72e3e76ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 120798, "upload_time": "2019-07-03T14:50:35", "url": "https://files.pythonhosted.org/packages/10/a2/d84dc96d46550e04dd063c91bf68c8bd16428714ec51876ac7d87f450b40/Eve-SQLAlchemy-alpha-0.7.6.tar.gz" } ], "0.7.7": [ { "comment_text": "", "digests": { "md5": "e62c903a7f78af8f52a552e0e78c3d7b", "sha256": "0ba20bb672533c34e406197920bc605898d3bb554f0a579dc42b26f9e8255fe6" }, "downloads": -1, "filename": "Eve-SQLAlchemy-alpha-0.7.7.tar.gz", "has_sig": false, "md5_digest": "e62c903a7f78af8f52a552e0e78c3d7b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 121552, "upload_time": "2019-07-10T11:10:11", "url": "https://files.pythonhosted.org/packages/21/9b/ed6312b7812ba25696657e3055553f0a0c3287eb012e5025db575aed443a/Eve-SQLAlchemy-alpha-0.7.7.tar.gz" } ], "0.7.8": [ { "comment_text": "", "digests": { "md5": "f118bda0fa564ea2aa8f2be6bcf31e81", "sha256": "90cbda7d6b8fd5c7d6ae2bd8f3c76f1f130dc86ee16e0aa675beb1a623066eb2" }, "downloads": -1, "filename": "Eve-SQLAlchemy-alpha-0.7.8.tar.gz", "has_sig": false, "md5_digest": "f118bda0fa564ea2aa8f2be6bcf31e81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 121679, "upload_time": "2019-07-14T16:01:52", "url": "https://files.pythonhosted.org/packages/93/9b/86bbf56b8cb5c156411205480bba1bbdfe43864ed7e26b166b66c0961484/Eve-SQLAlchemy-alpha-0.7.8.tar.gz" } ], "0.7.9": [ { "comment_text": "", "digests": { "md5": "1174b70bb5bd5e2c87b904ce0c078963", "sha256": "873e4c60bebd2e511dfa450a87fd7228787b80fb07baa1ac226b4f07fe9960c0" }, "downloads": -1, "filename": "Eve-SQLAlchemy-alpha-0.7.9.tar.gz", "has_sig": false, "md5_digest": "1174b70bb5bd5e2c87b904ce0c078963", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 120949, "upload_time": "2019-07-16T09:28:33", "url": "https://files.pythonhosted.org/packages/bf/9e/de882a6143c58e5e42dca180905913f19887ba079b53098af9b9b029491a/Eve-SQLAlchemy-alpha-0.7.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3b3303ae331ea80537f2217bcba0f0df", "sha256": "f1cf0dd26eb84d0140291f2b4e0b75f377d9d2f271afefd7cf1cd8f00ca0ebf9" }, "downloads": -1, "filename": "Eve-SQLAlchemy-alpha-0.7.10.tar.gz", "has_sig": false, "md5_digest": "3b3303ae331ea80537f2217bcba0f0df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 121164, "upload_time": "2019-07-18T06:14:40", "url": "https://files.pythonhosted.org/packages/71/67/ccd6c29bdd53a8ff1feeb52e3d05cfc61e6b621d82e8cab006efab5cae1e/Eve-SQLAlchemy-alpha-0.7.10.tar.gz" } ] }