{ "info": { "author": "aohan237", "author_email": "aohan237@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Topic :: Software Development", "Topic :: Software Development :: Libraries" ], "description": "# asyncnsq\n[![Downloads](https://pepy.tech/badge/async-sqlalchemy)](https://pepy.tech/project/async-sqlalchemy)\n[![PyPI version](https://badge.fury.io/py/async-sqlalchemy.svg)](https://badge.fury.io/py/async-sqlalchemy)\n\n## asyncio sqlalchemy support,with async/await\n\nadd asyncio sqlalchemy support\n\n## Install\n\n--------------\n\npip install async-sqlalchemy\n\n## Usage examples\n\n--------------\n\n\n```python\nimport asyncio\nfrom sqlalchemy import Integer, Column, String, ForeignKey\nfrom async_sqlalchemy.manager.async_pg import PostgresManager\nfrom async_sqlalchemy.model.mixin import Mixin\nfrom sqlalchemy.ext.declarative import declarative_base\nfrom sqlalchemy.orm import relationship\nfrom sqlalchemy.sql import select\n\ndsn = \"postgres://postgres:test@localhost:2345/test\"\n\nconf = {'dsn': dsn}\n\nBase = declarative_base()\n\n\nManager = PostgresManager(conf=conf)\n\n\nclass User(Mixin, Base):\n\n _manager = Manager\n\n __tablename__ = 'test'\n id = Column(Integer, autoincrement=True, primary_key=True)\n name = Column(String(50))\n\n def __repr__(self):\n return \"\" % (\n self.name, self.id)\n\n\nclass Parent(Mixin, Base):\n __tablename__ = 'parent'\n _manager = Manager\n id = Column(Integer, primary_key=True)\n child = relationship(\"Child\", lazy='joined')\n\n\nclass Child(Mixin, Base):\n _manager = Manager\n __tablename__ = 'child'\n id = Column(Integer, primary_key=True)\n parent_id = Column(Integer, ForeignKey('parent.id'))\n parent = relationship(\"Parent\", back_populates=\"child\")\n\n\nif __name__ == '__main__':\n\n loop = asyncio.get_event_loop()\n loop.run_until_complete(Manager.connect())\n\n result = loop.run_until_complete(Manager.get(\n User.objects([User.id]).join(\n Parent.__table__,\n Parent.id == User.id)))\n print(result)\n\n # result = loop.run_until_complete(Child.create_table())\n # print(result)\n # u = loop.run_until_complete(User.create(name='test'))\n # print('create', u)\n # print('get', loop.run_until_complete(User.get(name='test')))\n # print('all', loop.run_until_complete(User.all()))\n # u.name = 'aaa'\n # print('save', loop.run_until_complete(u.save()))\n\n```\n\nLicense\n-------\n\nThe asyncnsq is offered under MIT license.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/aohan237/async-sqlalchemy", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "async-sqlalchemy", "package_url": "https://pypi.org/project/async-sqlalchemy/", "platform": "POSIX", "project_url": "https://pypi.org/project/async-sqlalchemy/", "project_urls": { "Homepage": "https://github.com/aohan237/async-sqlalchemy" }, "release_url": "https://pypi.org/project/async-sqlalchemy/1.0.0/", "requires_dist": [ "sqlalchemy", "asyncpg", "aiomysql" ], "requires_python": "", "summary": "asyncio sqlalchemy support", "version": "1.0.0" }, "last_serial": 5095634, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "9c55c9dfd44fbc0ffedef977e797b82e", "sha256": "211c923ff3a0f885357496c3902ef1bd03af4e74c43758688321cb1a03f44a8e" }, "downloads": -1, "filename": "async_sqlalchemy-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9c55c9dfd44fbc0ffedef977e797b82e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2145, "upload_time": "2019-04-04T08:59:13", "url": "https://files.pythonhosted.org/packages/72/6f/f06aed37c5b3eb8fc4f820f2a08b588cd39ec8f2a800b2eb499d5e657439/async_sqlalchemy-1.0.0-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9c55c9dfd44fbc0ffedef977e797b82e", "sha256": "211c923ff3a0f885357496c3902ef1bd03af4e74c43758688321cb1a03f44a8e" }, "downloads": -1, "filename": "async_sqlalchemy-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9c55c9dfd44fbc0ffedef977e797b82e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2145, "upload_time": "2019-04-04T08:59:13", "url": "https://files.pythonhosted.org/packages/72/6f/f06aed37c5b3eb8fc4f820f2a08b588cd39ec8f2a800b2eb499d5e657439/async_sqlalchemy-1.0.0-py3-none-any.whl" } ] }