Metadata-Version: 2.1
Name: peewee-aio
Version: 0.2.0
Summary: Peewee support for async frameworks (Asyncio, Trio)
Home-page: https://github.com/klen/peewee-aio
Author: Kirill Klenov
Author-email: horneds@gmail.com
License: MIT
Project-URL: Documentation, https://github.com/klen/peewee-aio
Project-URL: Source code, https://github.com/klen/peewee-aio
Project-URL: Issue tracker, https://github.com/klen/peewee-aio/issues
Description: # Peewee-AIO
        
        Async support for [Peewee ORM](https://github.com/coleifer/peewee)
        
        [![Tests Status](https://github.com/klen/peewee-aio/workflows/tests/badge.svg)](https://github.com/klen/peewee-aio/actions)
        [![PYPI Version](https://img.shields.io/pypi/v/peewee-aio)](https://pypi.org/project/peewee-aio/)
        [![Python Versions](https://img.shields.io/pypi/pyversions/peewee-aio)](https://pypi.org/project/peewee-aio/)
        
        ## Features
        
        * Make [Peewee ORM](https://github.com/coleifer/peewee) to work async
        * Supports PostgresQL, MySQL, SQLite
        * Supports [asyncio](https://docs.python.org/3/library/asyncio.html) and
          [trio](https://github.com/python-trio/trio)
        * Drivers supported:
            - [aiosqlite](https://github.com/omnilib/aiosqlite)
            - [aiomysql](https://github.com/aio-libs/aiomysql)
            - [aiopg](https://github.com/aio-libs/aiopg)
            - [asyncpg](https://github.com/MagicStack/asyncpg)
            - [triopg](https://github.com/python-trio/triopg)
            - [trio_mysql](https://github.com/python-trio/trio-mysql)
        
        
        ## Requirements
        
        * python >= 3.7
        
        ## Installation
        
        **peewee-aio** should be installed using pip:
        
        ```shell
        $ pip install peewee-aio
        ```
        
        You can install optional database drivers with:
        
        ```shell
        $ pip install peewee-aio[aiosqlite]
        $ pip install peewee-aio[aiomysql]
        $ pip install peewee-aio[aiopg]
        $ pip install peewee-aio[asyncpg]
        $ pip install peewee-aio[trio_mysql]
        $ pip install peewee-aio[triopg]
        ```
        
        ### Quickstart
        
        ```python
            import peewee
            from peewee_aio import Manager
        
            manager = Manager('aiosqlite:///:memory:')
        
            class TestModel(manager.Model):
                text = peewee.CharField()
        
            async def handler():
        
                # Initialize the database
                async with manager:
                    async with manager.connection():
        
                        # Create the table in database
                        await TestModel.create_table()
        
                        # Create a record
                        test = await TestModel.create(text="I'm working!")
                        assert test
                        assert test.id
        
                        # Iterate through records
                        async for test in TestModel.select():
                            assert test
                            assert test.id
        
                        # Change records
                        test.text = "I'm changed'
                        await test.save()
        
                        # Update records
                        await TestModel.update({'text': "I'm updated'"}).where(TestModel.id == test.id)
        
                        # Delete records
                        await TestModel.delete().where(TestModel.id == test.id)
        
                        # Drop the table in database
                        await TestModel.drop_table()
        
            # Run the handler with your async library
            import asyncio
        
            asyncio.run(handler())
        ```
        
        ## Usage
        
        TODO
        
        ## Bug tracker
        
        If you have any suggestions, bug reports or annoyances please report them to
        the issue tracker at https://github.com/klen/peewee-aio/issues
        
        
        ## Contributing
        
        Development of the project happens at: https://github.com/klen/peewee-aio
        
        
        ## License
        
        Licensed under a [MIT License](http://opensource.org/licenses/MIT)
        
Keywords: peewee,asyncio,trio,orm
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Framework :: AsyncIO
Classifier: Framework :: Trio
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Provides-Extra: aiosqlite
Provides-Extra: aiomysql
Provides-Extra: aiopg
Provides-Extra: asyncpg
Provides-Extra: triopg
Provides-Extra: trio_mysql
Provides-Extra: tests
