{ "info": { "author": "Fantix King", "author_email": "fantix.king@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "====\nGINO\n====\n\n.. image:: https://img.shields.io/pypi/v/gino.svg\n :target: https://pypi.python.org/pypi/gino\n\n.. image:: https://img.shields.io/travis/fantix/gino/master.svg\n :target: https://travis-ci.org/fantix/gino\n\n.. image:: https://img.shields.io/coveralls/github/fantix/gino/master.svg\n :target: https://coveralls.io/github/fantix/gino?branch=master\n\n.. image:: https://img.shields.io/readthedocs/python-gino/latest.svg\n :target: https://python-gino.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://pyup.io/repos/github/fantix/gino/shield.svg\n :target: https://pyup.io/repos/github/fantix/gino/\n :alt: Updates\n\n.. image:: https://img.shields.io/gitter/room/python-gino/Lobby.svg\n :target: https://gitter.im/python-gino/Lobby\n :alt: Gitter chat\n\n\nGINO - GINO Is Not ORM - is a lightweight asynchronous ORM built on top of\nSQLAlchemy_ core for Python asyncio_. Now (early 2018) GINO supports only one\ndialect asyncpg_.\n\n* Free software: BSD license\n* Requires: Python 3.5\n\n\nDocumentation\n-------------\n\n* English_\n* Chinese_\n\n\nFeatures\n--------\n\n* Robust SQLAlchemy-asyncpg bi-translator with no hard hack\n* Asynchronous SQLAlchemy-alike engine and connection\n* Asynchronous dialect API\n* Asynchronous-friendly CRUD objective models\n* Well-considered contextual connection and transaction management\n* Reusing native SQLAlchemy core to build queries with grammar sugars\n* Support Sanic_, Tornado_, aiohttp_ and Quart_\n* Rich PostgreSQL JSONB support\n\n\nInstallation\n------------\n\n.. code-block:: console\n\n pip install gino\n\n\nShowcase\n--------\n\n.. code-block:: python\n\n import asyncio\n from gino import Gino\n\n db = Gino()\n\n\n class User(db.Model):\n __tablename__ = 'users'\n\n id = db.Column(db.Integer(), primary_key=True)\n nickname = db.Column(db.Unicode(), default='noname')\n\n\n async def main():\n await db.set_bind('postgresql://localhost/gino')\n\n # Create tables\n await db.gino.create_all()\n\n # Create object, `id` is assigned by database\n u1 = await User.create(nickname='fantix')\n print(u1.id, u1.nickname) # 1 fantix\n\n # Returns all user objects with \"d\" in their nicknames\n users = await User.query.where(User.nickname.contains('d')).gino.all()\n print(users) # [, ]\n\n # Find one user object, None if not found\n user = await User.query.where(User.nickname == 'daisy').gino.first()\n print(user) # or None\n\n # Execute complex statement and return command status\n status, result = await User.update.values(\n nickname='No.' + db.cast(User.id, db.Unicode),\n ).where(\n User.id > 10,\n ).gino.status()\n print(status) # UPDATE 8\n\n # Iterate over the results of a large query in a transaction as required\n async with db.transaction():\n async for u in User.query.order_by(User.id).gino.iterate():\n print(u.id, u.nickname)\n\n\n asyncio.get_event_loop().run_until_complete(main())\n\n\nAbout The Name\n--------------\n\nAbout the name GINO Is Not ORM - because I don't really like ORM (smile). GINO\ndoes perform the Object-Relational Mapping work under the\n`Data Mapper Pattern`_, but it is just not a traditional ORM. The Objects in\nGINO are completely stateless from database - they are pure plain Python\nobjects in memory. Changing their attribute values does not make them \"dirty\" -\nor in a different way of thinking they are always \"dirty\". Any access to\ndatabase must be explicitly executed. Using GINO is more like making up SQL\nclauses with Models and Objects, executing them to make changes in database, or\nloading data from database and wrapping the results with Objects again. Objects\nare just row data containers, you are still dealing with SQL which is\nrepresented by Models and SQLAlchemy core grammars. Besides if you don't like\nORM at all, you can use GINO without ORM:\n\n.. code-block:: python\n\n from gino import Gino\n\n db = Gino()\n\n user = db.Table(\n 'users', db,\n db.Column('id', db.BigInteger(), primary_key=True),\n db.Column('nickname', db.Unicode()),\n )\n\n async def main():\n async with db.with_bind('postgresql://localhost/gino'):\n users = await db.select([user]).gino.all()\n print(users)\n\n\n import asyncio\n\n asyncio.get_event_loop().run_until_complete(main())\n\n\nContribute\n----------\n\nThere are a few tasks in GitHub issues marked as ``help wanted``. Please feel\nfree to take any of them and pull requests are greatly welcome.\n\nTo run tests (please read more in CONTRIBUTING.rst):\n\n.. code-block:: console\n\n $ python setup.py test\n\nMeanwhile, these are also very much appreciated:\n\n* Just use it, tap the star and spread the love :)\n* Tell me about your story: gino@decentfox.com\n* Report_ a bug/issue, or request for new features\n* `Hire me`_ or `hire us`_ for your work (coding, consulting, troubleshooting)\n* `Become a patron`_\n\n\nProjects using GINO\n-------------------\n\n* AintQ_ - asyncio task queue on PostgreSQL\n* ExchangeratesAPI_ - Foreign exchange rates API with currency conversion\n\n\nCredits\n-------\n\nCredit goes to all contributors listed or not listed in the AUTHORS file. This\nproject is inspired by asyncpgsa_, peewee-async_ and asyncorm_. asyncpg_ and\nSQLAlchemy_ as the dependencies did most of the heavy lifting. This package was\ncreated with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project\ntemplate.\n\nSpecial thanks to my wife Daisy and her outsourcing company `DecentFoX Studio`_,\nfor offering me the opportunity to build this project. We are open for global\nsoftware project outsourcing on Python, iOS and Android development. And we are\nhiring_!\n\nGINO is developed proudly with |PyCharm|.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n.. _SQLAlchemy: https://www.sqlalchemy.org/\n.. _asyncpg: https://github.com/MagicStack/asyncpg\n.. _PostgreSQL: https://www.postgresql.org/\n.. _asyncio: https://docs.python.org/3/library/asyncio.html\n.. _Alembic: https://bitbucket.org/zzzeek/alembic\n.. _Sanic: https://github.com/channelcat/sanic\n.. _asyncpgsa: https://github.com/CanopyTax/asyncpgsa\n.. _peewee-async: https://github.com/05bit/peewee-async\n.. _asyncorm: https://github.com/monobot/asyncorm\n.. _Tornado: http://www.tornadoweb.org/\n.. _Quart: https://gitlab.com/pgjones/quart/\n.. _English: https://python-gino.readthedocs.io/\n.. _Chinese: https://python-gino.readthedocs.io/zh/latest/\n.. _DecentFoX Studio: https://decentfox.com/\n.. _`Data Mapper Pattern`: https://en.wikipedia.org/wiki/Data_mapper_pattern\n.. _aiohttp: https://github.com/aio-libs/aiohttp\n.. _Report: https://github.com/fantix/gino/issues\n.. _`Hire me`: https://www.linkedin.com/in/fantix/\n.. _`hire us`: https://decentfox.com/\n.. _`Become a patron`: https://www.patreon.com/fantixking\n.. _hiring: https://www.zhipin.com/gongsi/c6e283cf57f2d9361nF92NS7GA~~.html\n.. _contextvars: https://github.com/MagicStack/contextvars\n.. _replaced: https://github.com/MagicStack/contextvars/issues/2\n.. _`Python 3.7`: https://docs.python.org/3.7/library/contextvars.html\n.. _AintQ: https://github.com/fantix/aintq\n.. _ExchangeratesAPI: https://github.com/madisvain/exchangeratesapi\n.. |PyCharm| image:: ./docs/pycharm.svg\n :height: 20px\n :target: https://www.jetbrains.com/?from=GINO\n\n\n=======\nHistory\n=======\n\nGINO 0.8\n--------\n\nThis is also version 1.0 release candidate.\n\nMigrating to GINO 0.8\n^^^^^^^^^^^^^^^^^^^^^\n\n1. contextvars\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nWe introduced aiocontextvars_ 0.2.0 which is revamped to be compatible with\nPEP-567 without manual interference by a few simple implicit patches. To\nupgrade to GINO 0.8, please remove the ``enable_inherit()`` or\n``disable_inherit()`` calls, because they are the default behavior now thus\nno longer exist. However, you'll need to confirm that the event loop in use is\nalways created **after** importing ``gino`` or ``aiocontextvars``, or the patch\nwon't work correctly.\n\nThere is nothing to worry about in Python 3.7.\n\n2. none_as_none\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nWhen GINO tries to load a row with all ``NULL`` values into an instance, it\nwill now by default return ``None`` instead of an instance with all ``None``\nattributes. To recover the default behavior of 0.7, please specify\n``none_as_none(False)`` in affected model loader.\n\nThis is especially applicable to relationship sub-loaders - if the sub-loader\nfound it all ``NULL``, no instance will be set to parent instance. For\nexample::\n\n child = await Child.load(parent=Parent).query.gino.first()\n\nIf ``child.parent_id`` is ``NULL`` in database, then the ``child`` instance\nwon't be called with any ``setattr(child, 'parent', ...)`` at all. (If you need\n``child.parent == None`` in this case, consider setting default value\n``parent = None`` in child model.)\n\nPlease note, it is deprecated to disable ``none_as_none``, and disabling will\nbe removed in GINO 1.0.\n\n0.8.3 (2019-06-06)\n^^^^^^^^^^^^^^^^^^\n\n* Fixed deprecated warnings in asyncpg dialect and aiohttp (#425)\n* Customizable db attribute name in aiohttp app instance (#457)\n* Added Starlette support (#486)\n\n0.8.2 (2019-03-07)\n^^^^^^^^^^^^^^^^^^\n\n* Added exception for unknown JSON properties (#406 #408)\n* Supported Quart 0.7 (#411)\n* Accepted kwargs for db init in extensions (#407 #427)\n* Added custom config parameter to aiohttp middleware (Contributed by Micha\u0142 Dziewulski in #440)\n* Added NullPool (#437 #441)\n* Unpinned dependency versions (#447)\n* Added support for SQLAlchemy 1.3 (#433 #451)\n\n0.8.1 (2018-12-08)\n^^^^^^^^^^^^^^^^^^\n\n* Alias supported ``Label`` (#365)\n* Docs update (#308, 4c59ad, #401 by Pascal van Kooten)\n* Version requirement for SQLAlchemy is updated to ``>=1.2`` (#378 #382)\n* Added option for SSL in aiohttp extension (Contributed by Martin Za\u0165ko in #387 #393)\n * And all other extensions (#395)\n* Supported Tornado 5 (#396, also thanks to Vladimir Goncharov)\n* Fixed custom JSON/JSONB type support (#402 #403)\n\n(Most fixes done by Tony Wang)\n\n0.8.0 (2018-10-16)\n^^^^^^^^^^^^^^^^^^\n\n* Welcome Tony Wang to the maintenance team (#335)\n* Allowed custom column names (#261 #297)\n* Allowed column instance in ``model.load()`` (Contributed by Jekel in #323)\n* [Breaking] Upgraded to aiocontextvars 0.2.0 (#333)\n* Fixed bug that the same empty stack is shared between sub-tasks (#313 #334)\n* [Breaking] Made ``none_as_none()`` the default behavior (#351)\n* Bug fixes and docs update\n\n\nGINO 0.7\n--------\n\nThis is also version 1.0 beta 3.\n\n0.7.7 (2018-12-08)\n^^^^^^^^^^^^^^^^^^\n\n* Backported fix for custom JSON/JSONB type support (#402 #403)\n\n0.7.6 (2018-08-26)\n^^^^^^^^^^^^^^^^^^\n\n* Updated library support (Contributed by Tony Wang in #275 #309)\n* Added ``none_as_none()`` (#281 #282)\n* Added ``ARRAY`` alias in asyncpg dialect module (Contributed by Mykyta Holubakha in #289)\n* Added ``Model.lookup()`` to prevent updating whole table without primary key (#287 #288)\n* Added ``DB_ECHO`` in extension options (Contributed by Mykyta Holubakha in #298)\n* Fixed broken JSON/JSONB result processor since 0.5.8 (Contributed by Tony Wang in #291 #305)\n* Removed bad rollback after a failing commit (Contributed by Tony Wang in #302 #304)\n* Fixed to raise ``UninitializedError`` if bind is ``None`` (Contributed by Tony Wang in #307 #310)\n\n0.7.5 (2018-07-26)\n^^^^^^^^^^^^^^^^^^\n\n* Added friendly error message when using abstract models by mistake (#224)\n* Supported Python 3.7 (Contributed by Tony Wang in #265)\n* Updated documentation\n* Fixed a bug in TupleLoader (Contributed by Pavol Vargovcik in #279 #280)\n\n0.7.4 (2018-06-10)\n^^^^^^^^^^^^^^^^^^\n\n* Added aiocontextvars as required dependency required for Python 3.5 and 3.6 (#228)\n* Added Quart support (#213)\n* Fixed Tornado options parsing (#231)\n* Improved coding style and test coverage\n\n0.7.3 (2018-05-19)\n^^^^^^^^^^^^^^^^^^\n\n* Fix for failing binary type (#225)\n\n0.7.2 (2018-05-15)\n^^^^^^^^^^^^^^^^^^\n\n* Added prepared statement support (#14)\n* Added dsn in extension config (Contributed by Yurii Shtrikker in #215)\n\n0.7.1 (2018-05-03)\n^^^^^^^^^^^^^^^^^^\n\n* Added support for inline model constraints (Contributed by Kinware in #198)\n* Added docs and tests for using SSL (#202)\n* Added ``declared_attr`` (#204)\n* Allowed ``ModelLoader`` passively load partial model (#216)\n\n0.7.0 (2018-04-18)\n^^^^^^^^^^^^^^^^^^\n\n* Added Python 3.5 support (#187)\n* Added support to use ``dict`` as ident for ``Model.get`` (#192)\n* Added result loader (partial relationship support) (#13)\n* Added documentation on relationship and transaction (#146)\n\n\nGINO 0.6\n--------\n\nThis is also version 1.0 beta 2.\n\nMigrating to GINO 0.6\n^^^^^^^^^^^^^^^^^^^^^\n\n1. Task Local\n\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nWe created a new Python package aiocontextvars_ from previous ``local.py``. If\nyou made use of the task local features, you should install this package.\n\nPrevious ``gino.enable_task_local()`` and ``gino.disable_task_local()`` are\nreplaced by ``aiocontextvars.enable_inherit()`` and\n``aiocontextvars.disable_inherit()``. However in GINO 0.5 they controls the\nwhole task local feature switch, while aiocontextvars_ by default offers task\nlocal even without ``enable_inherit()``, which controls whether the local\nstorage should be passed between chained tasks. When enabled, it behaves the\nsame as enabled in 0.5, but you cannot completely turn off the task local\nfeature while aiocontextvars_ is installed.\n\nThere is no ``gino.get_local()`` and ``gino.reset_local()`` relevant in\naiocontextvars_. The similar thing is ``aiocontextvars.ContextVar`` instance\nthrough its ``get()``, ``set()`` and ``delete()`` methods.\n\nPrevious ``gino.is_local_root()`` is now\n``not aiocontextvars.Context.current().inherited``.\n\n2. Engine\n\"\"\"\"\"\"\"\"\"\n\nGINO 0.6 hides ``asyncpg.Pool`` behind the new SQLAlchemy-alike\n``gino.GinoEngine``. Instead of doing this in 0.5::\n\n async with db.create_pool('postgresql://...') as pool:\n # your code here\n\nYou should change it to this in 0.6::\n\n async with db.with_bind('postgresql://...') as engine:\n # your code here\n\nThis equals to::\n\n engine = await gino.create_engine('postgresql://...')\n db.bind = engine\n try:\n # your code here\n finally:\n db.bind = None\n await engine.close()\n\nOr::\n\n engine = await db.set_bind('postgresql://...')\n try:\n # your code here\n finally:\n await db.pop_bind().close()\n\nOr even this::\n\n db = await gino.Gino('postgresql://...')\n try:\n # your code here\n finally:\n await db.pop_bind().close()\n\nChoose whichever suits you the best.\n\nObviously ``GinoEngine`` doesn't provide ``asyncpg.Pool`` methods directly any\nlonger, but you can get the underlying ``asyncpg.Pool`` object through\n``engine.raw_pool`` property.\n\n``GinoPool.get_current_connection()`` is now changed to ``current_connection``\nproperty on ``GinoEngine`` instances to support multiple engines.\n\n``GinoPool.execution_option`` is gone, instead ``update_execution_options()``\non ``GinoEngine`` instance is available.\n\n``GinoPool().metadata`` is gone, ``dialect`` is still available.\n\n``GinoPool.release()`` is removed in ``GinoEngine`` and ``Gino``, the\n``release()`` method on ``GinoConnection`` object should be used instead.\n\nThese methods exist both in 0.5 ``GinoPool`` and 0.6 ``GinoEngine``:\n``close()``, ``acquire()``, ``all()``, ``first()``, ``scalar()``, ``status()``.\n\n3. GinoConnection\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nSimilarly, ``GinoConnection`` in 0.6 is no longer a subclass of\n``asyncpg.Connection``, instead it has a ``asyncpg.Connection`` instance,\naccessable through ``GinoConnection.raw_connection`` property.\n\n``GinoConnection.metadata`` is deleted in 0.6, while ``dialect`` remained.\n\n``GinoConnection.execution_options()`` is changed from a mutable dict in 0.5 to\na method returning a copy of current connection with the new options, the same\nas SQLAlchemy behavior.\n\n``GinoConnection.release()`` is still present, but its default behavior has\nbeen changed to permanently release this connection. You should add argument\n``permanent=False`` to remain its previous behavior.\n\nAnd ``all()``, ``first()``, ``scalar()``, ``status()``, ``iterate()``,\n``transaction()`` remained in 0.6.\n\n4. Query API\n\"\"\"\"\"\"\"\"\"\"\"\"\n\nAll five query APIs ``all()``, ``first()``, ``scalar()``, ``status()``,\n``iterate()`` now accept the same parameters as SQLAlchemy ``execute()``,\nmeaning they accept raw SQL text, or multiple sets of parameters for\n\"executemany\". Please note, if the parameters are recognized as \"executemany\",\nnone of the methods will return anything. Meanwhile, they no longer accept the\nparameter ``bind`` if they did. Just use the API on the ``GinoEngine`` or\n``GinoConnection`` object instead.\n\n5. Transaction\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nTransaction interface is rewritten. Now in 0.6, a ``GinoTransaction`` object is\nprovided consistently from all 3 methods::\n\n async with db.transaction() as tx:\n # within transaction\n\n async with engine.transaction() as tx:\n # within transaction\n\n async with engine.acquire() as conn:\n async with conn.transaction() as tx:\n # within transaction\n\nAnd different usage with ``await``::\n\n tx = await db.transaction()\n try:\n # within transaction\n await tx.commit()\n except:\n await tx.rollback()\n raise\n\nThe ``GinoConnection`` object is available at ``tx.connection``, while\nunderlying transaction object from database driver is available at\n``tx.transaction`` - for asyncpg it is an ``asyncpg.transaction.Transaction``\nobject.\n\n0.6.6 (2018-05-18)\n^^^^^^^^^^^^^^^^^^\n\n* Backported a fix for failing binary type (#225)\n\n0.6.5 (2018-04-18)\n^^^^^^^^^^^^^^^^^^\n\n* Abandoned 0.6.4 and keep 0.6.x stable\n* Backported doc for transaction\n\n0.6.4 (2018-04-16)\n^^^^^^^^^^^^^^^^^^\n\nAbandoned version, please use 0.7.0 instead.\n\n0.6.3 (2018-04-08)\n^^^^^^^^^^^^^^^^^^\n\n* Added aiohttp support\n* Added support for calling ``create()`` on model instances (Contributed by Kinware in #178 #180)\n* Fixed ``get()`` by string, and misc environment issues (Contributed by Tony Wang in #191 193 #183 #184)\n\n0.6.2 (2018-03-24)\n^^^^^^^^^^^^^^^^^^\n\n* Fixed SQLAlchemy prefetch issue (#141)\n* Fixed issue that mixin class on Model not working (#174)\n* Added more documentation (Thanks Olaf Conradi for reviewing)\n\n0.6.1 (2018-03-18)\n^^^^^^^^^^^^^^^^^^\n\n* Fixed ``create`` and ``drop`` for ``Enum`` type (#160)\n* A bit more documentation (#159)\n\n0.6.0 (2018-03-14)\n^^^^^^^^^^^^^^^^^^\n\n* [Breaking] API Refactored, ``Pool`` replaced with ``Engine``\n\n * New API ``Engine`` replaced asyncpg ``Pool`` (#59)\n * Supported different dialects, theoretically\n * Used aiocontextvars_ instead of builtin task local (#89)\n* [Breaking] Fixed query API with ``multiparams`` (executemany) to return correctly (#20)\n* [Breaking] The query methods no longer accept the parameter ``bind``\n* [Breaking] ``Gino`` no longer exposes ``postgresql`` types\n* Added ``echo`` on engine (#142)\n* Added tests to cover 80% of code\n* Added ``gino`` extension on ``SchemaItem`` for ``create_all`` and so on (#76 #106)\n* Added ``gino`` extension on model classes for ``create()`` or ``drop()``\n* Added ``_update_request_cls`` on ``CRUDModel`` (#147)\n* Rewrote the documentation (#146)\n\n.. _aiocontextvars: https://github.com/fantix/aiocontextvars\n\n\nGINO 0.5\n--------\n\nThis is also version 1.0 beta 1.\n\n0.5.8 (2018-02-14)\n^^^^^^^^^^^^^^^^^^\n\n* Preparing for 0.6.0 which will be a breaking release\n* Fixed wrong value of ``Enum`` in creation (Contributed by Sergey Kovalev in #126)\n\n0.5.7 (2017-11-24)\n^^^^^^^^^^^^^^^^^^\n\nThis is an emergency fix for 0.5.6.\n\n* Fixed broken lazy connection (Contributed by \u00c1d\u00e1m Barancsuk in #114)\n* Added ``Model.outerjoin``\n\n0.5.6 (2017-11-23)\n^^^^^^^^^^^^^^^^^^\n\n* Changed to use unnamed statement when possible (#80 #90)\n* Added more example (Contributed by Kentoseth in #109)\n* Added ``Model.join`` and made ``Model`` selectable (Contributed by \u00c1d\u00e1m Barancsuk in #112 #113)\n\n0.5.5 (2017-10-18)\n^^^^^^^^^^^^^^^^^^\n\n* Ensured clean connection if transaction acquire fails (Contributed by Vladimir Goncharov in #87)\n* Added ability to reset local storage (#84)\n* Fixed bug in JSON property update\n* Added update chaining feature\n\n0.5.4 (2017-10-04)\n^^^^^^^^^^^^^^^^^^\n\n* Updated example (Contributed by Kinware in #75)\n* Added ``Model.insert`` (Contributed by Neal Wang in #63)\n* Fixed issue that non-lazy acquiring fails dirty (#79)\n\n0.5.3 (2017-09-23)\n^^^^^^^^^^^^^^^^^^\n\n* Fixed ``no module named cutils`` error (Contributed by Vladimir Goncharov in #73)\n\n0.5.2 (2017-09-10)\n^^^^^^^^^^^^^^^^^^\n\n* Added missing driver name on dialect (#67)\n* Fixed dialect to support native decimal type (#67)\n\n0.5.1 (2017-09-09)\n^^^^^^^^^^^^^^^^^^\n\nThis is an emergency fix for 0.5.0.\n\n* Reverted the extension, back to pure Python (#60)\n* Used SQLAlchemy ``RowProxy``\n* Added ``first_or_404``\n* Fixed bug that ``GinoPool`` cannot be inherited\n\n0.5.0 (2017-09-03)\n^^^^^^^^^^^^^^^^^^\n\n* [Breaking] Internal refactor: extracted and isolated a few modules, partially rewritten\n\n * Extracted CRUD operations\n * Core operations are moved to ``dialect`` and execution context\n * Removed ``guess_model``, switched to explicit execution options\n * Turned ``timeout`` parameter to an execution option\n * Extracted ``pool``, ``connection`` and ``api`` from ``asyncpg_delegate``\n* Added support for SQLAlchemy execution options, and a few custom options\n* [Breaking] Made `Model.select` return rows by default (#39)\n* Moved `get_or_404` to extensions (#38)\n* Added iterator on model classes (#43)\n* Added Tornado extension (Contributed by Vladimir Goncharov)\n* Added `Model.to_dict` (#47)\n* Added an extension module to update `asyncpg.Record` with processed results\n\n\nEarly Development Releases\n--------------------------\n\nConsidered as alpha releases.\n\n\n0.4.1 (2017-08-20)\n^^^^^^^^^^^^^^^^^^\n\n* Support ``select`` on model instance\n\n0.4.0 (2017-08-15)\n^^^^^^^^^^^^^^^^^^\n\n* Made ``get_or_404`` more friendly when Sanic is missing (Contributed by Neal Wang in #23 #31)\n* Delegated ``sqlalchemy.__all__`` (Contributed by Neal Wang in #10 #33)\n* [Breaking] Rewrote JSON/JSONB support (#29)\n* Added ``lazy`` parameter on ``db.acquire`` (Contributed by Binghan Li in #32)\n* Added Sanic integration (Contributed by Binghan Li, Tony Wang in #30 #32 #34)\n* Fixed ``iterate`` API to be compatible with asyncpg (#32)\n* Unified exceptions\n* [Breaking] Changed ``update`` API (#29)\n* Bug fixes\n\n0.3.0 (2017-08-07)\n^^^^^^^^^^^^^^^^^^\n\n* Supported ``__table_args__`` (#12)\n* Introduced task local to manage connection in context (#19)\n* Added ``query.gino`` extension for in-place execution\n* Refreshed README (#3)\n* Adopted PEP 487 (Contributed by Tony Wang in #17 #27)\n* Used ``weakref`` on ``__model__`` of table and query (Contributed by Tony Wang)\n* Delegated asyncpg ``timeout`` parameter (Contributed by Neal Wang in #16 #22)\n\n0.2.3 (2017-08-04)\n^^^^^^^^^^^^^^^^^^\n\n* Supported any primary key (Contributed by Tony Wang in #11)\n\n0.2.2 (2017-08-02)\n^^^^^^^^^^^^^^^^^^\n\n* Supported SQLAlchemy result processor\n* Added rich support on JSON/JSONB\n* Bug fixes\n\n0.2.1 (2017-07-28)\n^^^^^^^^^^^^^^^^^^\n\n* Added ``update`` and ``delete`` API\n\n0.2.0 (2017-07-28)\n^^^^^^^^^^^^^^^^^^\n\n* Changed API, no longer reuses asyncpg API\n\n0.1.1 (2017-07-25)\n^^^^^^^^^^^^^^^^^^\n\n* Added ``db.bind``\n* API changed: parameter ``conn`` renamed to optional ``bind``\n* Delegated asyncpg Pool with ``db.create_pool``\n* Internal enhancement and bug fixes\n\n0.1.0 (2017-07-21)\n^^^^^^^^^^^^^^^^^^\n\n* First release on PyPI.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/fantix/gino", "keywords": "orm asyncio sqlalchemy asyncpg python3 sanic aiohttp tornado", "license": "BSD license", "maintainer": "", "maintainer_email": "", "name": "gino", "package_url": "https://pypi.org/project/gino/", "platform": "", "project_url": "https://pypi.org/project/gino/", "project_urls": { "Documentation": "https://python-gino.readthedocs.io/", "Funding": "https://www.patreon.com/fantixking", "Homepage": "https://github.com/fantix/gino", "Source": "https://github.com/fantix/gino", "Tracker": "https://github.com/fantix/gino/issues" }, "release_url": "https://pypi.org/project/gino/0.8.3/", "requires_dist": [ "asyncpg (~=0.18)", "SQLAlchemy (~=1.2)", "aiocontextvars (~=0.2)" ], "requires_python": ">=3.5", "summary": "GINO Is Not ORM - a Python asyncio ORM on SQLAlchemy core.", "version": "0.8.3" }, "last_serial": 5367614, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "68e0236a7cd8de56fb7e06e5b74a85ac", "sha256": "017f830b4111ef76effd46b7d31629dd04b98fd473b677550387843b5c47d880" }, "downloads": -1, "filename": "gino-0.1.0.tar.gz", "has_sig": false, "md5_digest": "68e0236a7cd8de56fb7e06e5b74a85ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17048, "upload_time": "2017-07-22T02:59:19", "url": "https://files.pythonhosted.org/packages/78/e3/f8106fda62c5041806f358ae1dd582b4b1907e528879d7cba2c4e624284b/gino-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "d842e5fc9b7aecc00feba3a809f00022", "sha256": "858027f23e47e074c82f83ceaedb6a97b953955a8c578e4be79f37ca49fdb844" }, "downloads": -1, "filename": "gino-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d842e5fc9b7aecc00feba3a809f00022", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19004, "upload_time": "2017-07-25T09:13:34", "url": "https://files.pythonhosted.org/packages/ea/4c/e532ad9320a815b9ca10af30b638cbf8f8de7c2486f49f2c8e3aaf7836ee/gino-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "626afe5c4bef16bb30d6c98b38f22b34", "sha256": "b27662cdfd585f37673e964e8101fc8b7d5f043468594786587a58de99d5d81c" }, "downloads": -1, "filename": "gino-0.2.0.tar.gz", "has_sig": false, "md5_digest": "626afe5c4bef16bb30d6c98b38f22b34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19285, "upload_time": "2017-07-28T06:35:53", "url": "https://files.pythonhosted.org/packages/2f/2c/1b1bf5a93c82381d70ddea758f5dad7470ef4f128cbebfacd2c5332f6049/gino-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "045ce30e475fc9e545fa6858b6756f34", "sha256": "4e30001413edce5f5245e9b3bdd14b191234ae10799815d4d86268abc2ce2d83" }, "downloads": -1, "filename": "gino-0.2.1.tar.gz", "has_sig": false, "md5_digest": "045ce30e475fc9e545fa6858b6756f34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19474, "upload_time": "2017-07-28T07:07:43", "url": "https://files.pythonhosted.org/packages/1b/54/b9ce428ade3d1119f26780c6ac96e1531866b53ad6cb518439564e2d66e9/gino-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "55cd5a60f2e27bfff2f42e346946614f", "sha256": "340d8c0c87869c3396e5505a86d5d1bd249333ef5c02219d072541e6429906b5" }, "downloads": -1, "filename": "gino-0.2.2.tar.gz", "has_sig": false, "md5_digest": "55cd5a60f2e27bfff2f42e346946614f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20580, "upload_time": "2017-08-02T02:02:36", "url": "https://files.pythonhosted.org/packages/ac/07/a71e5039a2f31b28064e8670b6a3a57fd3015d27d7cd8887836f2414b55c/gino-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "b9ef2c953f4939fcdb3af7cc72640828", "sha256": "bf4ecc71d5017bd5c4c0e509701efc4a05f49d3c7b0348e2cd459b83f405595b" }, "downloads": -1, "filename": "gino-0.2.3.tar.gz", "has_sig": false, "md5_digest": "b9ef2c953f4939fcdb3af7cc72640828", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22413, "upload_time": "2017-08-04T03:23:36", "url": "https://files.pythonhosted.org/packages/07/ed/a20a7bb30080d858c2600c22c09f61d5057cdec12cc4217b5d5f7e56b182/gino-0.2.3.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "0994fde3a8dce61cd89f848dacb710e1", "sha256": "211b5cdc6d6c612b969a57a551e5d267e2be147c97e54582e96e91c17c452ce2" }, "downloads": -1, "filename": "gino-0.3.0.tar.gz", "has_sig": false, "md5_digest": "0994fde3a8dce61cd89f848dacb710e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27956, "upload_time": "2017-08-07T06:11:57", "url": "https://files.pythonhosted.org/packages/6f/ea/7038a98f49a6802a5a8c4f710c309fbc7f52ce4c8a0e3c697ede87bceba0/gino-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "a8b2ca88bc3cbd8240d5f2c295f856a9", "sha256": "3d86bcee5a90ef8408b784f31df88a161b73cc032ddfb42ab59f27f31a1aa689" }, "downloads": -1, "filename": "gino-0.4.0.tar.gz", "has_sig": false, "md5_digest": "a8b2ca88bc3cbd8240d5f2c295f856a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34192, "upload_time": "2017-08-15T03:59:39", "url": "https://files.pythonhosted.org/packages/9a/4a/3c1312241beffb7d1babddbfc74cd491a8c05e28e6937fcb1d8d295ed045/gino-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "6276f3b6a943045fb327353143812bb1", "sha256": "7aae91c8bcf443c2f547c61fd5afd354687bd74808fb1a06a75b61e28b4b7d1d" }, "downloads": -1, "filename": "gino-0.4.1.tar.gz", "has_sig": false, "md5_digest": "6276f3b6a943045fb327353143812bb1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34300, "upload_time": "2017-08-20T11:16:08", "url": "https://files.pythonhosted.org/packages/84/c5/1b475ae57b214e4c3f17744824a72e8e2b0d79d6196edadc33f01756295d/gino-0.4.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "9a5b43ea07df047edba038071bb2beec", "sha256": "b13a755b54a6ddaa82dfa50ec307322f9a2cae8fd88559b45823c878b9c55831" }, "downloads": -1, "filename": "gino-0.5.0.tar.gz", "has_sig": false, "md5_digest": "9a5b43ea07df047edba038071bb2beec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40461, "upload_time": "2017-09-03T06:58:10", "url": "https://files.pythonhosted.org/packages/c5/dc/0f834a79815cec09550f3d64ea0f932749cf5b4113a5b234e025cc077374/gino-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "ed486eac02bd334ab9c2918ea80ea067", "sha256": "69b10ef27bef663b3f9f6e14c2d44ff34ae0dc130bc40baec123478a2df432c4" }, "downloads": -1, "filename": "gino-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ed486eac02bd334ab9c2918ea80ea067", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 36717, "upload_time": "2017-09-09T07:40:13", "url": "https://files.pythonhosted.org/packages/05/b1/ba5bab363c267d751f69b93992c5362128ca886315982bce12f8650f3405/gino-0.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3c149a5f70b6030f60006ea6e55fd22b", "sha256": "6e7adb1aed008f407b8d808ee4e34356d49d1d580bd9d384a2d1d750e75637b6" }, "downloads": -1, "filename": "gino-0.5.1.tar.gz", "has_sig": false, "md5_digest": "3c149a5f70b6030f60006ea6e55fd22b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41612, "upload_time": "2017-09-09T07:40:14", "url": "https://files.pythonhosted.org/packages/aa/56/a8077e0001e246064abe3ecb56d54ff8176ce85cd1847af7ffd32074a7b5/gino-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "369659235d7e7b48e13e6f453bbe1f97", "sha256": "fe1f683be037098f62bb65b601abfe7bd5191e800f53e8532be38663c0dfb52a" }, "downloads": -1, "filename": "gino-0.5.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "369659235d7e7b48e13e6f453bbe1f97", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 36831, "upload_time": "2017-09-10T10:49:17", "url": "https://files.pythonhosted.org/packages/c5/93/3a87d80abeca8b76ae3e18a838c3866cc4458a939c3382fbbd6edf7a0a54/gino-0.5.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9241262e28cc518ec1547c498c6c461c", "sha256": "5f98a3f183398e0d302e1ee669b1771eed6b612a296b74ee9bb4955f00534761" }, "downloads": -1, "filename": "gino-0.5.2.tar.gz", "has_sig": false, "md5_digest": "9241262e28cc518ec1547c498c6c461c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41744, "upload_time": "2017-09-10T10:49:19", "url": "https://files.pythonhosted.org/packages/28/01/ccac52a50d4f473a11d70595d5eb519c983ed619ddf790c5dc4d49a62d27/gino-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "dec31bc9f60975eba99f0a47966002c7", "sha256": "fe6c7cf1a63f4f01022913733406c16a369b8c6373cc1c89db53380d4768bbfb" }, "downloads": -1, "filename": "gino-0.5.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dec31bc9f60975eba99f0a47966002c7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 36906, "upload_time": "2017-09-23T01:41:47", "url": "https://files.pythonhosted.org/packages/e8/74/2a53b11b0ec10b892873f18b5f39d3e40ec23a11717cf351d38d58c25afc/gino-0.5.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f4591f4d5a9f99325746b25b49ed2992", "sha256": "7f261287280a3290ecb9911b5805331e62f47832358cb7e3e0806b0aedfe6fec" }, "downloads": -1, "filename": "gino-0.5.3.tar.gz", "has_sig": false, "md5_digest": "f4591f4d5a9f99325746b25b49ed2992", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42208, "upload_time": "2017-09-23T01:41:49", "url": "https://files.pythonhosted.org/packages/9d/98/25b1171768ca450838c8650b5ac2f5450d0ec5cc1139d0ec64c4d445081e/gino-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "e764aee17182415b8c2abe3324437755", "sha256": "49399b7205a9b056ecf73ab898f99d2f11e1a9bb3b2174916169cf6de3b2b231" }, "downloads": -1, "filename": "gino-0.5.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e764aee17182415b8c2abe3324437755", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 37629, "upload_time": "2017-10-04T03:50:08", "url": "https://files.pythonhosted.org/packages/e3/d3/b89e2f4d4955d47d77fdc43a1e43bdefef11b177c36b0392f5e7317d717c/gino-0.5.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca0f798494a6c38972e4a8f2b200cf53", "sha256": "9011493c38d7ad82c3757ace5581a0e3420ddfad5a627d5b4b2b25e09df83b72" }, "downloads": -1, "filename": "gino-0.5.4.tar.gz", "has_sig": false, "md5_digest": "ca0f798494a6c38972e4a8f2b200cf53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42641, "upload_time": "2017-10-04T03:50:11", "url": "https://files.pythonhosted.org/packages/b4/f2/27fb6ca85416771e155fed7fdd5780b1f2d96e4ac360b053527d12f3baa7/gino-0.5.4.tar.gz" } ], "0.5.5": [ { "comment_text": "", "digests": { "md5": "a0e89e6a538cdc206c1dcaf8a738a969", "sha256": "9e15cd38abdd84a8bcd65bc751ec802aa012d65ad5b915214ea47619ac37877e" }, "downloads": -1, "filename": "gino-0.5.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a0e89e6a538cdc206c1dcaf8a738a969", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 39142, "upload_time": "2017-10-18T10:33:08", "url": "https://files.pythonhosted.org/packages/0a/f3/53c65a8499ce92c5d4b3f69b6345d2170f73ecb9779f9ac5ecd5f0adac70/gino-0.5.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ea4e0fb990cba0d32088b1e95ae0f352", "sha256": "5fd2c4b991bee4a00da5f4a1e6f0c5947660414bf09332ffff4c23633be1deaf" }, "downloads": -1, "filename": "gino-0.5.5.tar.gz", "has_sig": false, "md5_digest": "ea4e0fb990cba0d32088b1e95ae0f352", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43879, "upload_time": "2017-10-18T10:33:09", "url": "https://files.pythonhosted.org/packages/a7/ac/843992d82066f987a0266881eac62a94098a89211dc46b04357e61063eca/gino-0.5.5.tar.gz" } ], "0.5.6": [ { "comment_text": "", "digests": { "md5": "7d01c7bc21847d1d61cd8121353aa508", "sha256": "015867c0fe91c9b6e319c1fe5da8228cc92f65fcab46e673ff8100ed47e9fd7e" }, "downloads": -1, "filename": "gino-0.5.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7d01c7bc21847d1d61cd8121353aa508", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 39977, "upload_time": "2017-11-23T08:16:28", "url": "https://files.pythonhosted.org/packages/23/16/84a1fb8408ac0ba7a4fbc228b220b9b28a6e06695480fe1810514feaf879/gino-0.5.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fa991cf7cccca35a32c8b4e2d9dc2b8c", "sha256": "00e45c68fff41b64f97cbf56450d9a48cb153491100b26070e713e17525425b0" }, "downloads": -1, "filename": "gino-0.5.6.tar.gz", "has_sig": false, "md5_digest": "fa991cf7cccca35a32c8b4e2d9dc2b8c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44405, "upload_time": "2017-11-23T08:16:29", "url": "https://files.pythonhosted.org/packages/88/d8/14ef28b5bccf0ea2f117b9380c3eb8323f1271b83e28542cde91f06c95c1/gino-0.5.6.tar.gz" } ], "0.5.7": [ { "comment_text": "", "digests": { "md5": "f72d96322d389fe6d125e6725130b2d5", "sha256": "90a58e7937f7af8d7af471b33a8cc608dc5fe0f45e11ac1be82d28318f59d4fa" }, "downloads": -1, "filename": "gino-0.5.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f72d96322d389fe6d125e6725130b2d5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 40290, "upload_time": "2017-11-24T02:02:28", "url": "https://files.pythonhosted.org/packages/5a/4d/a476de9ab0adf3699e9e6b3789d11809115616a74f6b54c89744eb589db5/gino-0.5.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "18e71f50f50e3c26ea73c8eacf9af981", "sha256": "3f62db2bc6708cb5cea81e3b2835cd5711cf4f31021ead60a73cdd8787440162" }, "downloads": -1, "filename": "gino-0.5.7.tar.gz", "has_sig": false, "md5_digest": "18e71f50f50e3c26ea73c8eacf9af981", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44739, "upload_time": "2017-11-24T02:02:29", "url": "https://files.pythonhosted.org/packages/f9/37/41de055f280eae37dd511a31352f136c01322622f1c368319503f6d0968f/gino-0.5.7.tar.gz" } ], "0.5.8": [ { "comment_text": "", "digests": { "md5": "4c4bdfaa1b80809f10aa0b22dd4e440a", "sha256": "8872b51f3ee17117daaa107285ea6202003d8ee1a19cc1b8cf07f0fa8e382663" }, "downloads": -1, "filename": "gino-0.5.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4c4bdfaa1b80809f10aa0b22dd4e440a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 40527, "upload_time": "2018-02-14T10:30:33", "url": "https://files.pythonhosted.org/packages/9f/40/05c03857e4b43926fc95437ef76881054e2d435a5826d0358c94111fb6de/gino-0.5.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dd7a40074de3c9a9c1707562e1e5e874", "sha256": "2f009d1bf52c8eff92071395d5ef1d0a686411bfbbb47347504c2fb14067792f" }, "downloads": -1, "filename": "gino-0.5.8.tar.gz", "has_sig": false, "md5_digest": "dd7a40074de3c9a9c1707562e1e5e874", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44986, "upload_time": "2018-02-14T10:30:34", "url": "https://files.pythonhosted.org/packages/7f/75/10d6548e0fdf10b63e07d708474438d8b97a6584f1b8d0de6c071b8e7331/gino-0.5.8.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "ce77c7ba7f347d15a45a9ec0d57e13e3", "sha256": "202b390fbaa91d98b5d92f85231e414d641ceac049bb8472c47860c5d789de79" }, "downloads": -1, "filename": "gino-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ce77c7ba7f347d15a45a9ec0d57e13e3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 63258, "upload_time": "2018-03-14T10:12:01", "url": "https://files.pythonhosted.org/packages/a0/b5/15cc27315ecf2d6984d557cc0eb496386cdac4a42c1df900c4e753453087/gino-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2260a2f7664083a33aac0bb458ac47b9", "sha256": "de9a7b0decc6861e87fdabbb8a31885fd2a50fd716bcc284a52e50c72427a4eb" }, "downloads": -1, "filename": "gino-0.6.0.tar.gz", "has_sig": false, "md5_digest": "2260a2f7664083a33aac0bb458ac47b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 70917, "upload_time": "2018-03-14T10:12:03", "url": "https://files.pythonhosted.org/packages/6c/bb/b30d02e8b9bd143d8f4f13fffe5052d84b740a4b600a5cd2c8e580335228/gino-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "8311f2a0b7960a58f39c7cc22d71b1a0", "sha256": "1f4aa7f14c361c175fd0013111c421650f80e6360e646397a58a5304b83dbe50" }, "downloads": -1, "filename": "gino-0.6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8311f2a0b7960a58f39c7cc22d71b1a0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 65529, "upload_time": "2018-03-18T10:55:24", "url": "https://files.pythonhosted.org/packages/78/bb/3fee4195ba9f457b87f1296575b20c704bce1c98619fec1db9c8e79e218e/gino-0.6.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7ccd6e35d64fa54924fd8613e33cadb6", "sha256": "3735fa2d6eea043a0281fd696c08439dbeadfd3458237de562dc5964289ba2af" }, "downloads": -1, "filename": "gino-0.6.1.tar.gz", "has_sig": false, "md5_digest": "7ccd6e35d64fa54924fd8613e33cadb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76338, "upload_time": "2018-03-18T10:55:26", "url": "https://files.pythonhosted.org/packages/cb/2a/a9d7347e2d5d34bc6db0acad93a9c252c0b82ef55c276ae91654879e8916/gino-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "d4860a5e444f15f40323d7c54fa9a9b9", "sha256": "e46d36e45a8e11bb72010f32c952a8ab4bd75b68fcfc3ad963f63165b1912c5d" }, "downloads": -1, "filename": "gino-0.6.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d4860a5e444f15f40323d7c54fa9a9b9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 50905, "upload_time": "2018-03-24T07:29:10", "url": "https://files.pythonhosted.org/packages/3a/da/3e55166b894ff5e1cee08a044904e1a75c16510e2c52adbcf5e17f8ecdc1/gino-0.6.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c8ff20eeb47177e87d086524efd5382c", "sha256": "4b0fb856207f4666d98f294bdbef1e59a282db371d470b761ab9f1537cc20712" }, "downloads": -1, "filename": "gino-0.6.2.tar.gz", "has_sig": false, "md5_digest": "c8ff20eeb47177e87d086524efd5382c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 185227, "upload_time": "2018-03-24T07:29:11", "url": "https://files.pythonhosted.org/packages/4f/3e/95e0e6f6a907901bcb3b1b1b34987d9964596f2aca92899b4e9e4caf1fb3/gino-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "03724b49ea7ea9c326aea20a3a302c7a", "sha256": "495df9a3d8ab11833b623dcfe31899514d2ed60c3effaebb54ba296199f86b70" }, "downloads": -1, "filename": "gino-0.6.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "03724b49ea7ea9c326aea20a3a302c7a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 45838, "upload_time": "2018-04-08T02:12:24", "url": "https://files.pythonhosted.org/packages/09/49/8a06cb04d67ca34b0e44b6b41c253bd6ec0b754ef89c1cb47a8e4c483a60/gino-0.6.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bfd589df0b326814e67f0e52d8dfe870", "sha256": "b1d5ba90c4fdeef03f68d2fa6a9e6fbedcb05cd2e911dd9607f501bcf5f6496c" }, "downloads": -1, "filename": "gino-0.6.3.tar.gz", "has_sig": false, "md5_digest": "bfd589df0b326814e67f0e52d8dfe870", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 187884, "upload_time": "2018-04-08T02:12:25", "url": "https://files.pythonhosted.org/packages/02/7a/f6a4bdb1da513d4d78f366f0c1b5dc2830460d4129c6985de9ba5b4377c0/gino-0.6.3.tar.gz" } ], "0.6.5": [ { "comment_text": "", "digests": { "md5": "463c587dc3c530f866bb13bc557384e2", "sha256": "f952e0d5f961815784f05b19497af739a191c290d63993cfbeb08e9745ebc26f" }, "downloads": -1, "filename": "gino-0.6.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "463c587dc3c530f866bb13bc557384e2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 45880, "upload_time": "2018-04-18T08:01:32", "url": "https://files.pythonhosted.org/packages/c8/d0/69e86b213367d9aec0642ee839770879afe7d1fc73c81d83f8b36edf9b32/gino-0.6.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9da6a1295d542a3d183aff2ae41a252a", "sha256": "3de2ceb0d8a4ba21b4b0c992c442c9c5fd2d4ebb42a508b2744a2571b11b745a" }, "downloads": -1, "filename": "gino-0.6.5.tar.gz", "has_sig": false, "md5_digest": "9da6a1295d542a3d183aff2ae41a252a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 189409, "upload_time": "2018-04-18T08:01:34", "url": "https://files.pythonhosted.org/packages/85/74/3a563e05bd42daca9fc815022c16f0cc4daaa5df18ad4bb4d7dd791f31b2/gino-0.6.5.tar.gz" } ], "0.6.6": [ { "comment_text": "", "digests": { "md5": "93e84a828010070e0cc69608ba1291fe", "sha256": "5b31173b685f4fc179c14538de6ac5aa53ac59a55c42e806974ae3a1746c5d6f" }, "downloads": -1, "filename": "gino-0.6.6-py3-none-any.whl", "has_sig": false, "md5_digest": "93e84a828010070e0cc69608ba1291fe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 46028, "upload_time": "2018-05-18T13:03:07", "url": "https://files.pythonhosted.org/packages/72/6e/4253f03a23932717c2c85ab54fa2cda4a01d8e674be6078622f4276b9308/gino-0.6.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "66ea2dae1d5c3797df74442666697f8b", "sha256": "1e2f74c998e5b1e45ae70c56601a84dc45e56bd6b86863afdf5ab439540bd2d3" }, "downloads": -1, "filename": "gino-0.6.6.tar.gz", "has_sig": false, "md5_digest": "66ea2dae1d5c3797df74442666697f8b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 189909, "upload_time": "2018-05-18T13:03:08", "url": "https://files.pythonhosted.org/packages/c3/0e/44d267dec5da659604e60f1fb161112fdefa1931d9ee98b3bee76e987de8/gino-0.6.6.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "063c5abe86d5886bc568ea39afd88fb1", "sha256": "af4e9018283ad41d6d3310fba66f7204951443fc9a34aeedd47336bbabfc7584" }, "downloads": -1, "filename": "gino-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "063c5abe86d5886bc568ea39afd88fb1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 48956, "upload_time": "2018-04-18T07:55:14", "url": "https://files.pythonhosted.org/packages/03/76/89ca1ef3e5804effb0972a7ebe0af7b7635fcad6deb8a50e0d7c8c6fb633/gino-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "155024af29e822b74d5040d34b0101f9", "sha256": "42b42a6328ceca1c42b96d19584a8960995be32bd13074b6e9810d0e6b9f3cc2" }, "downloads": -1, "filename": "gino-0.7.0.tar.gz", "has_sig": false, "md5_digest": "155024af29e822b74d5040d34b0101f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 197246, "upload_time": "2018-04-18T07:55:16", "url": "https://files.pythonhosted.org/packages/2f/7c/a4da918cb8287aff52269584ea6777f696b9d7491c184f7389facea71a52/gino-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "72bac18b50f362db290c10c485c81e5f", "sha256": "187a7b66dc68b1488f0119ba98ff2971a49a063ab8cc8a87321c45d0339ccc66" }, "downloads": -1, "filename": "gino-0.7.1-py3-none-any.whl", "has_sig": false, "md5_digest": "72bac18b50f362db290c10c485c81e5f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 49958, "upload_time": "2018-05-03T03:43:34", "url": "https://files.pythonhosted.org/packages/fa/7c/829cd3e244c758727c41c79e133a071e20a7c550d3d2d0ee07e4d9bcc75d/gino-0.7.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "91fe6247ae4b985c14713b5ff382488e", "sha256": "304c5b8f48df68a92563221ffb296f04429a65f45d2481950d276483f7b8153d" }, "downloads": -1, "filename": "gino-0.7.1.zip", "has_sig": false, "md5_digest": "91fe6247ae4b985c14713b5ff382488e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 219481, "upload_time": "2018-05-03T03:43:39", "url": "https://files.pythonhosted.org/packages/88/90/e7ddb359ced7c5dda8ecc381a57e658fd1e2756ba417abaa197bdec015a0/gino-0.7.1.zip" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "b82d8d87ee59a67e9a5887a0310156d1", "sha256": "f67bb2fc2bdd2d8358cdffb74d438cfdc3192043b080ac2577f028b54083e135" }, "downloads": -1, "filename": "gino-0.7.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b82d8d87ee59a67e9a5887a0310156d1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 51905, "upload_time": "2018-05-15T09:22:07", "url": "https://files.pythonhosted.org/packages/a0/aa/52e346b8043aecf00125f5c7fa227ba5fd36237b583340f1b6576fbf049b/gino-0.7.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5b090ebedb36f6687dbf14c9be5aa43f", "sha256": "9c4e2863fb3667e939070767091f4b0a22781494801d798d691e79f277d5cf69" }, "downloads": -1, "filename": "gino-0.7.2.tar.gz", "has_sig": false, "md5_digest": "5b090ebedb36f6687dbf14c9be5aa43f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 203455, "upload_time": "2018-05-15T09:22:09", "url": "https://files.pythonhosted.org/packages/39/3c/f19952c65a6c3eca12ad3de6c29ab90315073eb8c440a29e1fe75ab33506/gino-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "fdd6dc6afce1e66e8781e48f08e2ca3b", "sha256": "85c622d6638012c66c3ce8d2b57fde07aff7ff0b62904a21586cc367d7af6bb8" }, "downloads": -1, "filename": "gino-0.7.3-py3-none-any.whl", "has_sig": false, "md5_digest": "fdd6dc6afce1e66e8781e48f08e2ca3b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 52152, "upload_time": "2018-05-19T04:48:07", "url": "https://files.pythonhosted.org/packages/1a/f4/ccd43b9b2a1582f238340bf6f97b1c951c864122155ca0b548fda2e1d5f8/gino-0.7.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0b4efc5b8ab9689affe74309f88fe0a9", "sha256": "2417f3272398a353ceaf544b226b165c659ae06a88d8ea8521c4ce37e00fbd57" }, "downloads": -1, "filename": "gino-0.7.3.tar.gz", "has_sig": false, "md5_digest": "0b4efc5b8ab9689affe74309f88fe0a9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 203867, "upload_time": "2018-05-19T04:48:08", "url": "https://files.pythonhosted.org/packages/56/2a/9bc2938ce19e21690ac07317782ad42388c0cded2c9bee09bc5e12b9e76c/gino-0.7.3.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "36197ed12177662ff038ed1ec19949c2", "sha256": "080c562a17daf601f39a8eebdbab548ce1131731cf723b48b9342168b6849393" }, "downloads": -1, "filename": "gino-0.7.4-py3-none-any.whl", "has_sig": false, "md5_digest": "36197ed12177662ff038ed1ec19949c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 54295, "upload_time": "2018-06-11T03:09:10", "url": "https://files.pythonhosted.org/packages/96/42/b469c0725d62ab09f1c5dc0ce36c001e04d0c86aee0ed0827e52484e36ac/gino-0.7.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d6549304dd9893743446b75fd4d5f83", "sha256": "fa46168c8c351d72da6feffad1da07f608999a5a7bab899f1ce10757e199f681" }, "downloads": -1, "filename": "gino-0.7.4.tar.gz", "has_sig": false, "md5_digest": "3d6549304dd9893743446b75fd4d5f83", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 206850, "upload_time": "2018-06-11T03:09:11", "url": "https://files.pythonhosted.org/packages/bf/7d/b14b8498e095904771dd106c4dfc6312367cefbfc6aa11bb00f43614275a/gino-0.7.4.tar.gz" } ], "0.7.5": [ { "comment_text": "", "digests": { "md5": "7001291404d691d79a80abc4e1761ad0", "sha256": "7612470254471c6add8ed35a9705a297e1eda2ff8f1609838658d0c56766e825" }, "downloads": -1, "filename": "gino-0.7.5-py3-none-any.whl", "has_sig": false, "md5_digest": "7001291404d691d79a80abc4e1761ad0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 54398, "upload_time": "2018-07-26T11:24:27", "url": "https://files.pythonhosted.org/packages/75/1f/dff50c67dd7ab75f8dbe5ea8ded3f28f802107a2918de6bdc00f23a4f809/gino-0.7.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b3e5f7cd5185014e181af41434ab75f8", "sha256": "8fed1e63f0dcdccf49cf69886345f3599e241fb6a213f5e5e4212d270f2600bc" }, "downloads": -1, "filename": "gino-0.7.5.tar.gz", "has_sig": false, "md5_digest": "b3e5f7cd5185014e181af41434ab75f8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 202111, "upload_time": "2018-07-26T11:24:29", "url": "https://files.pythonhosted.org/packages/d2/07/65576dc6dc88d33ecba8f41be3baa1134c4654b04ae5e65da40d9f9edd67/gino-0.7.5.tar.gz" } ], "0.7.6": [ { "comment_text": "", "digests": { "md5": "378f421c8f576258895c512d15c6b048", "sha256": "6f542cc4919144b6844a6386229bb919499aaae5a767c8d19a151484949a0db9" }, "downloads": -1, "filename": "gino-0.7.6-py3-none-any.whl", "has_sig": false, "md5_digest": "378f421c8f576258895c512d15c6b048", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 55503, "upload_time": "2018-09-29T11:01:02", "url": "https://files.pythonhosted.org/packages/eb/00/38d4bef5a47bc97381154b238cb0e21c251832bc6710bc5d7d0decd0d4b2/gino-0.7.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c5eb7ca67303534957555dcac3022277", "sha256": "7993069dbfbdb423121ba6782bec609c075ef0af88f7977b36b507b583c11335" }, "downloads": -1, "filename": "gino-0.7.6.tar.gz", "has_sig": false, "md5_digest": "c5eb7ca67303534957555dcac3022277", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 204277, "upload_time": "2018-09-29T11:01:03", "url": "https://files.pythonhosted.org/packages/d7/65/ea6f17c6e4ace6d78b4e36fe0fa5ca16b7d6c1ce9bc91355addd02537c94/gino-0.7.6.tar.gz" } ], "0.7.7": [ { "comment_text": "", "digests": { "md5": "6e8461f94c73b34252862e420cd5571c", "sha256": "0f039222cca97dc260d443319ae8191fe161b9fa74247216d84baa8017fc5145" }, "downloads": -1, "filename": "gino-0.7.7-py3-none-any.whl", "has_sig": false, "md5_digest": "6e8461f94c73b34252862e420cd5571c", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 55529, "upload_time": "2018-12-08T07:53:17", "url": "https://files.pythonhosted.org/packages/63/69/f7103812be382f5920168063e1b2bab10badbf2c9a60b4dce051e4ed3966/gino-0.7.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f5f44e4f20314f5c45e35ec2324a612b", "sha256": "a4cb0223cfb7a4cd30bea152f5f62360e431e954fc2c8bdb04748d7ac5d13220" }, "downloads": -1, "filename": "gino-0.7.7.tar.gz", "has_sig": false, "md5_digest": "f5f44e4f20314f5c45e35ec2324a612b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 204573, "upload_time": "2018-12-08T07:53:12", "url": "https://files.pythonhosted.org/packages/6e/c5/94469f95174c0f5d81fad0190c6cb752190110d30ceaf7202d286e1611f8/gino-0.7.7.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "8eae01866729b68092c50e42d7e4b815", "sha256": "721f9686d3860dba3264157c302b7d32362b961e0e3570412a56c9bccab505fc" }, "downloads": -1, "filename": "gino-0.8.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8eae01866729b68092c50e42d7e4b815", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 58072, "upload_time": "2018-10-16T14:58:46", "url": "https://files.pythonhosted.org/packages/4f/3f/6e48f935e64be3621daac231b52e975caff3e5f0384553bea70842abc170/gino-0.8.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d1f91e4d1113551fcadace7228ad87e0", "sha256": "bc3d89d5582223cbf61795c0020be6f522c1d8b28da30a8c1e7bb4c397519a15" }, "downloads": -1, "filename": "gino-0.8.0.tar.gz", "has_sig": false, "md5_digest": "d1f91e4d1113551fcadace7228ad87e0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 207946, "upload_time": "2018-10-16T14:58:47", "url": "https://files.pythonhosted.org/packages/07/07/d9d6a5a9642d5e3cbf221c452fa58dd2ef7ce76311f80a7d62040d50a655/gino-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "5e698e3d7e3a9f6feac0d259547d8f15", "sha256": "741cc5b96fbf8d7f62a8ce37efc14204ab67a17efa78c38b34f74fcc8155b4b2" }, "downloads": -1, "filename": "gino-0.8.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5e698e3d7e3a9f6feac0d259547d8f15", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 56275, "upload_time": "2018-12-08T07:20:06", "url": "https://files.pythonhosted.org/packages/51/06/7d4716505c476becdce95f46a7f780e37edd62a77b9f196c7a38361b6b5f/gino-0.8.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "60d48162bb0637a03ff35f40fc811ca0", "sha256": "3471e2f5b44f787eff3381d47e3e252ba184749ba2747adca06658d56272e912" }, "downloads": -1, "filename": "gino-0.8.1.tar.gz", "has_sig": false, "md5_digest": "60d48162bb0637a03ff35f40fc811ca0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 207346, "upload_time": "2018-12-08T07:20:08", "url": "https://files.pythonhosted.org/packages/63/83/f4efd94cec730caae0f6c5ad46cbb130f179bf22bd52630dfaf6abf8a42b/gino-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "96f66c4ab413da9c5f3c7fd301df3c0c", "sha256": "ef4b05b05a9f27e14b3eb92167ae24fc34ccf3559d3c305eafca698afff7b9a2" }, "downloads": -1, "filename": "gino-0.8.2-py3-none-any.whl", "has_sig": false, "md5_digest": "96f66c4ab413da9c5f3c7fd301df3c0c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 57158, "upload_time": "2019-03-08T16:15:33", "url": "https://files.pythonhosted.org/packages/dd/2c/be5915f148b84b125fb854d36db58f1aa91eb96e2958d72f9c3b27304860/gino-0.8.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "080b7b3be1e650a937edaf7b94ebe972", "sha256": "d46372b7c8ce4e451878c884b0d119e972fd103111e140d168029dc86670e60a" }, "downloads": -1, "filename": "gino-0.8.2.tar.gz", "has_sig": false, "md5_digest": "080b7b3be1e650a937edaf7b94ebe972", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 210528, "upload_time": "2019-03-08T16:15:35", "url": "https://files.pythonhosted.org/packages/88/d0/5efb8fc5c4f329ed5e18bc248847f62af0119b579b42ca0f02b121a7a37a/gino-0.8.2.tar.gz" } ], "0.8.3": [ { "comment_text": "", "digests": { "md5": "c9db2c11bcc14a87fb95ae7622777edd", "sha256": "3aebbe8776efefa49b878f00b48d6ad483b0f4ebcd8630641ea7c3c9f63bb260" }, "downloads": -1, "filename": "gino-0.8.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c9db2c11bcc14a87fb95ae7622777edd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 59300, "upload_time": "2019-06-06T14:59:57", "url": "https://files.pythonhosted.org/packages/ac/83/cbb3c8ab9dc52c873b733277bf64ef4940e8e033b69244f396d0aab9dffe/gino-0.8.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd3df1224fda795478b58a1c4c3bcb5c", "sha256": "187492619c347df41fdbc876b058b85e77f7c50739d552ad720ff439d3d83753" }, "downloads": -1, "filename": "gino-0.8.3.tar.gz", "has_sig": false, "md5_digest": "fd3df1224fda795478b58a1c4c3bcb5c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 212009, "upload_time": "2019-06-06T14:59:59", "url": "https://files.pythonhosted.org/packages/a0/fd/7ea61c5c5f242f61b9d254d6ef93f2df750ee17ad4e0c746b590465dc470/gino-0.8.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c9db2c11bcc14a87fb95ae7622777edd", "sha256": "3aebbe8776efefa49b878f00b48d6ad483b0f4ebcd8630641ea7c3c9f63bb260" }, "downloads": -1, "filename": "gino-0.8.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c9db2c11bcc14a87fb95ae7622777edd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 59300, "upload_time": "2019-06-06T14:59:57", "url": "https://files.pythonhosted.org/packages/ac/83/cbb3c8ab9dc52c873b733277bf64ef4940e8e033b69244f396d0aab9dffe/gino-0.8.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd3df1224fda795478b58a1c4c3bcb5c", "sha256": "187492619c347df41fdbc876b058b85e77f7c50739d552ad720ff439d3d83753" }, "downloads": -1, "filename": "gino-0.8.3.tar.gz", "has_sig": false, "md5_digest": "fd3df1224fda795478b58a1c4c3bcb5c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 212009, "upload_time": "2019-06-06T14:59:59", "url": "https://files.pythonhosted.org/packages/a0/fd/7ea61c5c5f242f61b9d254d6ef93f2df750ee17ad4e0c746b590465dc470/gino-0.8.3.tar.gz" } ] }