{ "info": { "author": "hsz", "author_email": "hsz1273327@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Documentation :: Sphinx" ], "description": "\naioorm\n===============================\n\n* version: 0.1.6\n\n* status: production\n\n* author: hsz\n\n* email: hsz1273327@gmail.com\n\n\n\n--------------------------------------------\n\nAsyncio interface for peewee_ modeled after torpeewee_\n\n\nFeature\n----------------------\n\n* support mysql and postgresql\n* database factory using database URL\n* use peewee's fields\n* ManyToManyField support\n* Shortcuts support\n* csv dump /load support\n* can use playhose.postgres_ext.JSONField\n\nInstall\n--------------------------------\n\n- ``python -m pip install aioorm``\n\nExample: GRUD\n-------------------------------\n\n.. code:: python\n\n from aioorm import AioModel, AioMySQLDatabase\n from peewee import CharField, TextField, DateTimeField\n from peewee import ForeignKeyField, PrimaryKeyField\n\n\n db = AioMySQLDatabase('test', host='127.0.0.1', port=3306,\n user='root', password='')\n\n\n class User(AioModel):\n username = CharField()\n\n class Meta:\n database = db\n\n\n class Blog(AioModel):\n user = ForeignKeyField(User)\n title = CharField(max_length=25)\n content = TextField(default='')\n pub_date = DateTimeField(null=True)\n pk = PrimaryKeyField()\n\n class Meta:\n database = db\n\n\n # create connection pool\n await db.connect(loop)\n\n # count\n await User.select().count()\n\n # async iteration on select query\n async for user in User.select():\n print(user)\n\n # fetch all records as a list from a query in one pass\n users = await User.select()\n\n # insert\n user = await User.create(username='kszucs')\n\n # modify\n user.username = 'krisztian'\n await user.save()\n\n # async iteration on blog set\n [b.title async for b in user.blog_set.order_by(Blog.title)]\n\n # close connection pool\n await db.close()\n\n # see more in the tests\n\n\n\nExample: Many to many\n-------------------------------\n\nNote that `AioManyToManyField` must be used instead of `ManyToMany`.\n\n\n.. code:: python\n\n from aioorm import AioManyToManyField\n\n\n class User(AioModel):\n username = CharField(unique=True)\n\n class Meta:\n database = db\n\n\n class Note(AioModel):\n text = TextField()\n users = AioManyToManyField(User)\n\n class Meta:\n database = db\n\n\n NoteUserThrough = Note.users.get_through_model()\n\n\n async for user in note.users:\n # do something with the users\n\n\nCurrently the only limitation I'm aware of immidiate setting of instance relation must be replaced with a method call:\n\n.. code:: python\n\n # original, which is not supported\n charlie.notes = [n2, n3]\n\n # use instead\n await charlie.notes.set([n2, n3])\n\n\nSerializing\n-----------\n\nConverting to dict requires the asyncified version of `model_to_dict`\n\n.. code:: python\n\n from aioorm import model_to_dict\n\n serialized = await model_to_dict(user)\n\nDump to csv\n-------------\n\ntables can be dump to a csv file.\n\n\n.. code:: python\n\n from aioorm.utils import aiodump_csv\n query = User.select().order_by(User_csv.id)\n await aiodump_csv(query,str(filepath))\n\n\n\nDocumentation\n--------------------------------\n\n`Documentation on Readthedocs `_.\n\n\n\nTODO\n-----------------------------------\n* async dataset support\n* more test\n\n\n\nLimitations\n-----------\n* untested transactions\n* only support mysql and postgresql\n\n\nBug fix\n-------------\n* fixed `get` and `get_or_create` 's bug\n\n.. _peewee: http://docs.peewee-orm.com/en/latest/\n.. _torpeewee: https://github.com/snower/torpeewee\n.. _aiopeewee: https://github.com/kszucs/aiopeewee\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Python-Tools/aioorm", "keywords": "orm", "license": "Mozilla", "maintainer": "", "maintainer_email": "", "name": "aioorm", "package_url": "https://pypi.org/project/aioorm/", "platform": "", "project_url": "https://pypi.org/project/aioorm/", "project_urls": { "Homepage": "https://github.com/Python-Tools/aioorm" }, "release_url": "https://pypi.org/project/aioorm/0.1.6/", "requires_dist": null, "requires_python": "", "summary": "a simple orm suport asyncio,fork of aiopeewee", "version": "0.1.6" }, "last_serial": 4279945, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "d3a66889dac4d40c1d865fb64f432ebf", "sha256": "92ffb733e2b38eb1f1e27a37c013d616c97bebf275c3ff0ca47ae82f96273d82" }, "downloads": -1, "filename": "aioorm-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d3a66889dac4d40c1d865fb64f432ebf", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 26893, "upload_time": "2017-06-21T16:02:38", "url": "https://files.pythonhosted.org/packages/c4/8b/2d10ad0a342d2d1f4f6e629ad9a4163333b6ddef2236989d692523d75fc9/aioorm-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0d7b92afb8f9fe99e6ba2009e47f6cce", "sha256": "6c5d42e07a52d1e9024dfd15a4c8762e3baa16c7aeab61168d365ffdb68fa65c" }, "downloads": -1, "filename": "aioorm-0.0.2.tar.gz", "has_sig": false, "md5_digest": "0d7b92afb8f9fe99e6ba2009e47f6cce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27973, "upload_time": "2017-06-21T16:02:09", "url": "https://files.pythonhosted.org/packages/80/f6/25206383e81fefb38eec0ca98f1812a9ccc9b4a1ebfb67423d61b8ffffb1/aioorm-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "5178e62e123bddde19cecd581a38f586", "sha256": "c5e372c32f49ea306b6fb6e431d22459fc58127d6ff152e2b0d83e1d0841af01" }, "downloads": -1, "filename": "aioorm-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "5178e62e123bddde19cecd581a38f586", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 31281, "upload_time": "2017-06-22T07:20:35", "url": "https://files.pythonhosted.org/packages/38/80/0eee906af743659e1474094ed758dadcbfa457fb801166bcde1a2f4366c0/aioorm-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "87202904f40337e24c8d79b9075a6c48", "sha256": "1088866270f349134fd290655e15eb207633d57da3d6ebdb589346d07ae009dc" }, "downloads": -1, "filename": "aioorm-0.0.3.tar.gz", "has_sig": false, "md5_digest": "87202904f40337e24c8d79b9075a6c48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28786, "upload_time": "2017-06-22T07:20:27", "url": "https://files.pythonhosted.org/packages/91/df/99611bc130c5aa756afe99296334d8bde1791c4448a3ac6892c1a2dee02b/aioorm-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "af90f66095934977a2b9da21d93058d1", "sha256": "11f77cffe142f97ac5150a1faaa173b1fc983dc7a6b634ce6a43fcac0fad7e45" }, "downloads": -1, "filename": "aioorm-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "af90f66095934977a2b9da21d93058d1", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 31345, "upload_time": "2017-07-27T12:25:32", "url": "https://files.pythonhosted.org/packages/94/f1/d8e70a99784b410a1904183dd35a63176e34d89a8aaac70fbb4ecbff61bd/aioorm-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "89c916e067a2faa99f4b5a47dc46feae", "sha256": "515fbd9a6a6cef75de0c245e9fcb74faa5f05a8d39aacd31c9da557eb638a978" }, "downloads": -1, "filename": "aioorm-0.0.4.tar.gz", "has_sig": false, "md5_digest": "89c916e067a2faa99f4b5a47dc46feae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28820, "upload_time": "2017-07-27T12:25:16", "url": "https://files.pythonhosted.org/packages/eb/68/7badc057fb58f1461acb7689af2ec3a5bdeb6203796dfed81ba928b87a4d/aioorm-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "8473974baa3ebeea57f065de649e1424", "sha256": "ee024d153e571915e6ac8c9ce9675651d2e205b7cd14f19ceb863e543a198bbd" }, "downloads": -1, "filename": "aioorm-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "8473974baa3ebeea57f065de649e1424", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 25801, "upload_time": "2017-08-30T14:39:13", "url": "https://files.pythonhosted.org/packages/8d/c4/92a6f4eb115c722d0cdecae13b91d6f1122d97e1273be04a4974edd386d0/aioorm-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bb904b7c83821aeac03df5d05ae041d8", "sha256": "f257b120a6a3948d7a2383815e6514cd60c0bcc497413b947f86fc1c499fbcd7" }, "downloads": -1, "filename": "aioorm-0.0.5.tar.gz", "has_sig": false, "md5_digest": "bb904b7c83821aeac03df5d05ae041d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29328, "upload_time": "2017-08-30T14:39:07", "url": "https://files.pythonhosted.org/packages/c5/89/927387b98b21d8aa84f1c649d18b5668fa1e061fbe7e1adc8e3022f5e2c4/aioorm-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "a051e628e2a7c2f22a640fe73a8b5cac", "sha256": "9ba4881211cd5669e5b08958fead04417b8f60618c62b108147e0acace33091c" }, "downloads": -1, "filename": "aioorm-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "a051e628e2a7c2f22a640fe73a8b5cac", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 25808, "upload_time": "2017-08-31T01:56:19", "url": "https://files.pythonhosted.org/packages/e5/e7/36b5b4c49547e0606b28bf41274246b5e09cbf077acee1d65877e52c1714/aioorm-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cfca827b5c72dd55348227ad074586ae", "sha256": "d84e69ae940d20e0e40651fbb197af6f2f148d22825a8d2ad30e9189ec522258" }, "downloads": -1, "filename": "aioorm-0.0.6.tar.gz", "has_sig": false, "md5_digest": "cfca827b5c72dd55348227ad074586ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29284, "upload_time": "2017-08-31T01:56:14", "url": "https://files.pythonhosted.org/packages/b3/c2/076753b145a08601da622612dbca2b8cea6ff18367ccb76ca51c22d6210d/aioorm-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "01eb9d62d347a94efc85afc6f522d66d", "sha256": "4c2bdd82225135d3afe732e3805a50a4bb79639ccfbac464efe581a6825ca83a" }, "downloads": -1, "filename": "aioorm-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "01eb9d62d347a94efc85afc6f522d66d", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 31855, "upload_time": "2017-08-31T13:37:05", "url": "https://files.pythonhosted.org/packages/91/c4/bc726a60d10aa9edf3dd9f465c59f6185c97a370af820ef079628d979b3a/aioorm-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b261b1dba879399bdddcf4736cd4ffcb", "sha256": "bf8f78d97c02ebf35dac2867e0e7845281b28cc97f9d2fd0b1aa5d35efdd6e89" }, "downloads": -1, "filename": "aioorm-0.0.7.tar.gz", "has_sig": false, "md5_digest": "b261b1dba879399bdddcf4736cd4ffcb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29132, "upload_time": "2017-08-31T13:37:01", "url": "https://files.pythonhosted.org/packages/b2/37/5e7a6cd44c5a660159b75e6ce1237e96670ad5339422e9913b7c3c73bcbf/aioorm-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "fefcf4421fc0a4d877551d049ff4bf6b", "sha256": "a2233b120afce35564d3d20a3b2b71c6b3c1d63c4a9f22f74e4c20fe93273814" }, "downloads": -1, "filename": "aioorm-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "fefcf4421fc0a4d877551d049ff4bf6b", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 27553, "upload_time": "2017-09-09T15:48:17", "url": "https://files.pythonhosted.org/packages/2f/04/453c518c596e4bf113cabd809cd2f7e92f18f427e0f4fcc6e67ac8c4c4b5/aioorm-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e0f3d5bf76bc7bf6c8c65da85717dc5", "sha256": "b678a4c4ac6fccd994149b44ee6584eddd845765a3d1c64dda3af70c0232dc40" }, "downloads": -1, "filename": "aioorm-0.0.8.tar.gz", "has_sig": false, "md5_digest": "2e0f3d5bf76bc7bf6c8c65da85717dc5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29516, "upload_time": "2017-09-09T15:48:12", "url": "https://files.pythonhosted.org/packages/34/10/0b7f887c13f5d3b5d36113d07111879a69621a468242ae6c50bbfd3e3860/aioorm-0.0.8.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "677aef273c714b95822fdbac71dfcf3d", "sha256": "6589941c52bfdba60c289611db236e40894ece3bc824f79963791e4746810ad8" }, "downloads": -1, "filename": "aioorm-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "677aef273c714b95822fdbac71dfcf3d", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 27363, "upload_time": "2017-11-08T15:22:07", "url": "https://files.pythonhosted.org/packages/eb/a7/68063d36f58e883bd8efc3608f62113acd18639082d2147d700df3eae0cc/aioorm-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80a94caaf7cc36523c84a627475d7db0", "sha256": "a3421590dc90afb1396c5cf37858243cb86be58f735f1e2ce3b7f4062aa59eae" }, "downloads": -1, "filename": "aioorm-0.1.0.tar.gz", "has_sig": false, "md5_digest": "80a94caaf7cc36523c84a627475d7db0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29312, "upload_time": "2017-11-08T15:21:58", "url": "https://files.pythonhosted.org/packages/c3/6b/5f2f8c643b04cd29a80e11e24c4cdd43817afd4b008a3c74865eff538824/aioorm-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "39da26be711e8791ec7e416555b2ed2c", "sha256": "cbaa12bf3589860ae58c19508f4474d09d416deeb5d16345d81b0b5485aed5ed" }, "downloads": -1, "filename": "aioorm-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "39da26be711e8791ec7e416555b2ed2c", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 27552, "upload_time": "2017-11-08T16:35:35", "url": "https://files.pythonhosted.org/packages/58/88/e553b54fea2363502bde87cb89bf7adff378becf0db87c1652f00fabccd2/aioorm-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e619db0deb0e4406d61def3c9d0958eb", "sha256": "c23b4a67074d17c8a64c15f2b4de1aff4ddbe381f3331d84171baf59f321096d" }, "downloads": -1, "filename": "aioorm-0.1.1.tar.gz", "has_sig": false, "md5_digest": "e619db0deb0e4406d61def3c9d0958eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29661, "upload_time": "2017-11-08T16:35:28", "url": "https://files.pythonhosted.org/packages/1a/ee/a0fc54968198f22aa821503bb47eebd623704f241c40d69813fec34d357e/aioorm-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "39690253ac4ff8c4a75bcd64aa2b2aa1", "sha256": "da1a3cee24c3a2edee53d531c7a44dbb439347ded0bce66d6f6f4b0985ec05d3" }, "downloads": -1, "filename": "aioorm-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "39690253ac4ff8c4a75bcd64aa2b2aa1", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 27577, "upload_time": "2018-02-27T17:55:55", "url": "https://files.pythonhosted.org/packages/fd/89/79c2d91da0c2a3558db50bc0502500967f65fab576f82182470baf0ed577/aioorm-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bddfbb24f3843a0172d7030f1c5c409a", "sha256": "a0d4b47fbcf35b6abfe6991120a13569ca4f3d649fea5459d96be1007629d164" }, "downloads": -1, "filename": "aioorm-0.1.2.tar.gz", "has_sig": false, "md5_digest": "bddfbb24f3843a0172d7030f1c5c409a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29464, "upload_time": "2018-02-27T17:55:50", "url": "https://files.pythonhosted.org/packages/c8/73/c879cfa22798b9c630e0233470abdc08bdfe67a2e06f797c9e2a909cf711/aioorm-0.1.2.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "3597abeb63336fe2e45ee273e1138066", "sha256": "7b7e9a8bf80551d963f961a4570db63a507f3504f1c5750f4175e67868ee87f4" }, "downloads": -1, "filename": "aioorm-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "3597abeb63336fe2e45ee273e1138066", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 27438, "upload_time": "2018-07-28T11:44:34", "url": "https://files.pythonhosted.org/packages/51/57/693c450a93c76dc4a2b4af0277351ac59fdb0a488b2941638d4ed465fadf/aioorm-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1c3bcacb76bcda72f9fed497085bfb56", "sha256": "aeb01eb9b4a579b48d23117f68adeff4ec9ebcdba10b5915b3ed877028347564" }, "downloads": -1, "filename": "aioorm-0.1.4.tar.gz", "has_sig": false, "md5_digest": "1c3bcacb76bcda72f9fed497085bfb56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31818, "upload_time": "2018-07-28T11:44:30", "url": "https://files.pythonhosted.org/packages/8d/10/d7d22ce3d0cc0fef55222a2cbc373ff2d38923e2af7ba86a2fbcbff677bb/aioorm-0.1.4.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "223a14d47e50cce29940c63b0de15c30", "sha256": "ce93894caf6f63913f868a5b5a4b5f47c9ce5efc2c12d713851b2572da634522" }, "downloads": -1, "filename": "aioorm-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "223a14d47e50cce29940c63b0de15c30", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 27437, "upload_time": "2018-09-17T16:03:37", "url": "https://files.pythonhosted.org/packages/17/27/cca3916a9af9c00fb37d03953368bd84dfa3bf3c7e02b8b4597c91479588/aioorm-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "318fc59c38989ce4486a1bc5a4f02663", "sha256": "fc6b105e422e5549b7591d78cd883baaeeb0532a0844433b73bce22511a76bf1" }, "downloads": -1, "filename": "aioorm-0.1.6.tar.gz", "has_sig": false, "md5_digest": "318fc59c38989ce4486a1bc5a4f02663", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31871, "upload_time": "2018-09-17T16:03:25", "url": "https://files.pythonhosted.org/packages/9f/17/ddfdc49f637bf79b76e4691109fc3443ebf5f7521892059ac0ac8de84f1b/aioorm-0.1.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "223a14d47e50cce29940c63b0de15c30", "sha256": "ce93894caf6f63913f868a5b5a4b5f47c9ce5efc2c12d713851b2572da634522" }, "downloads": -1, "filename": "aioorm-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "223a14d47e50cce29940c63b0de15c30", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 27437, "upload_time": "2018-09-17T16:03:37", "url": "https://files.pythonhosted.org/packages/17/27/cca3916a9af9c00fb37d03953368bd84dfa3bf3c7e02b8b4597c91479588/aioorm-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "318fc59c38989ce4486a1bc5a4f02663", "sha256": "fc6b105e422e5549b7591d78cd883baaeeb0532a0844433b73bce22511a76bf1" }, "downloads": -1, "filename": "aioorm-0.1.6.tar.gz", "has_sig": false, "md5_digest": "318fc59c38989ce4486a1bc5a4f02663", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31871, "upload_time": "2018-09-17T16:03:25", "url": "https://files.pythonhosted.org/packages/9f/17/ddfdc49f637bf79b76e4691109fc3443ebf5f7521892059ac0ac8de84f1b/aioorm-0.1.6.tar.gz" } ] }