Peewee integration for Muffin framework
Project description
muffin-peewee – Peewee ORM integration to Muffin framework.
Requirements
python >= 3.7
Installation
Muffin Peewee should be installed using pip:
pip install muffin-peewee
Optionally you are able to install it with postgresql drivers:
pip install muffin-peewee[postgres]
Usage
from muffin import Application
from muffin_peewee import Plugin as Peewee
# Create Muffin Application
app = Application('example')
# Initialize the plugin
# As alternative: jinja2 = Jinja2(app, **options)
db = Peewee()
db.init(app, PEEWEE_CONNECTION='postgres+pool+async://postgres:postgres@localhost:5432/database')
Options
Format: Name – Description (default value)
CONNECTION – connection string to your database (sqlite:///db.sqlite)
CONNECTION_PARAMS – Additional params for connection ({})
MANAGE_CONNECTIONS – Install a middleware to manage db connections automatically (True)
MIGRATIONS_ENABLED – Enable migrations with peewee-migrate (True)
MIGRATIONS_PATH – Set path to the migrations folder (migrations)
Queries
@db.register class Test(peewee.Model): data = peewee.CharField() @app.route('/') async def view(request): return [t.data for t in Test.select()]
Manage connections
# Set configuration option `MANAGE_CONNECTIONS` to False # Use context manager @app.route('/') async def view(request): async with db: # Work with db # ...
Migrations
Create migrations:
$ muffin example:app pw_create [NAME] [--auto]
Run migrations:
$ muffin example:app pw_migrate [NAME] [--fake]
Rollback migrations:
$ muffin example:app pw_rollback [NAME]
List migrations:
$ muffin example:app pw_list
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/issues
Contributing
Development of Muffin Peewee happens at: https://github.com/klen/muffin-peewee
Contributors
klen (Kirill Klenov)
License
Licensed under a MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for muffin_peewee-1.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f0ce361f1b95431d0ecbd33fcd0def348e79b2d101d3de775313914c1592f20 |
|
MD5 | fe7fdde6ef31db170e3bfc81006591d5 |
|
BLAKE2b-256 | 67cbf9d471000c00e85cc31a5536fa8d98e6624b521da3a146360f71ae4fdcfd |