Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

muffin-peewee-aio

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

muffin-peewee-aio

Peewee-AIO integration for Muffin framework

  • 1.1.0
  • PyPI
  • Socket score

Maintainers
1

Muffin Peewee AIO #################

.. _description:

muffin-peewee-aio -- Peewee_ ORM integration to Muffin_ framework.

.. _badges:

.. image:: https://github.com/klen/muffin-peewee-aio/workflows/tests/badge.svg :target: https://github.com/klen/muffin-peewee-aio/actions :alt: Tests Status

.. image:: https://img.shields.io/pypi/v/muffin-peewee-aio :target: https://pypi.org/project/muffin-peewee-aio/ :alt: PYPI Version

.. image:: https://img.shields.io/pypi/pyversions/muffin-peewee-aio :target: https://pypi.org/project/muffin-peewee-aio/ :alt: Python Versions

.. _contents:

.. contents::

.. _requirements:

Requirements

  • python >= 3.9

.. _installation:

Installation

Muffin Peewee should be installed using pip: ::

$ pip install muffin-peewee-aio

You can install optional database drivers with: ::

$ pip install muffin-peewee-aio[aiosqlite]
$ pip install muffin-peewee-aio[aiopg]
$ pip install muffin-peewee-aio[asyncpg]
$ pip install muffin-peewee-aio[aiomysql]

.. _usage:

Usage

.. code-block:: python

from muffin import Application
from muffin_peewee import Plugin as Peewee

# Create Muffin Application
app = Application('example')

# Initialize the plugin
# As alternative: db = Peewee(app, **options)
db = Peewee()
db.setup(app, PEEWEE_CONNECTION='postgresql://postgres:postgres@localhost:5432/database')

Options

=========================== ======================================= =========================== Name Default value Desctiption


CONNECTION sqlite:///db.sqlite Database URL CONNECTION_PARAMS {} Additional params for DB connection AUTO_CONNECTION True Automatically get a connection from db for a request AUTO_TRANSACTION True Automatically wrap a request into a transaction MIGRATIONS_ENABLED True Enable migrations with MIGRATIONS_PATH "migrations" Set path to the migrations folder PYTEST_SETUP_DB True Manage DB schema and connection in pytest =========================== ======================================= ===========================

You are able to provide the options when you are initiliazing the plugin:

.. code-block:: python

db.setup(app, connection='DB_URL')

Or setup it inside Muffin.Application config using the PEEWEE_ prefix:

.. code-block:: python

PEEWEE_CONNECTION = 'DB_URL'

Muffin.Application configuration options are case insensitive

Queries

.. code-block:: python

class Test(db.Model):
    data = peewee.CharField()


@app.route('/')
async def view(request):
    return [t.data async for t in Test.select()]

Manage connections

.. code-block:: python

# Set configuration option `MANAGE_CONNECTIONS` to False

# Use context manager
@app.route('/')
async def view(request):
    # Aquire a connection
    async with db.manager.connection():
        # Work with db
        # ...

Migrations

Create migrations: ::

$ muffin example:app peewee-create [NAME] [--auto]

Run migrations: ::

$ muffin example:app peewee-migrate [NAME] [--fake]

Rollback migrations: ::

$ muffin example:app peewee-rollback [NAME]

List migrations: ::

$ muffin example:app peewee-list

Clear migrations from DB: ::

$ muffin example:app peewee-clear

Merge migrations: ::

$ muffin example:app peewee-merge

.. _bugtracker:

Bug tracker

If you have any suggestions, bug reports or annoyances please report them to the issue tracker at https://github.com/klen/muffin-peewee-aio/issues

.. _contributing:

Contributing

Development of Muffin Peewee happens at: https://github.com/klen/muffin-peewee-aio

Contributors

  • klen_ (Kirill Klenov)

.. _license:

License

Licensed under a MIT license_.

.. _links:

.. _MIT license: http://opensource.org/licenses/MIT .. _Muffin: https://github.com/klen/muffin .. _Peewee: http://docs.peewee-orm.com/en/latest/ .. _klen: https://github.com/klen

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc