Skip to main content

Peewee ORM integration for Sanic framework

Project description

# Sanic-PW

A port of the [Flask-PW](https://github.com/klen/flask-pw) package for [Sanic framework](https://github.com/channelcat/sanic).

# Features
- Configuring Peewee ORM like in Flask with SQLAlchemy
- Migrate commands (create, rollback, etc.) via:
- using commands as a part of Sanic-Script
- click CLI
- Pre- and post-signals support for saving and deleting

# Requirements
- Python 3.6+ (older not tested)

# Dependency note
For using the 2nd version of Peewee ORM, please use `sanic-pw==0.1.0`.

# Using
## Installing
For installing Sanic-PW use the following command:
```
pip install sanic-pw
```

## List of available settings
| Config parameter | Description | Default value |
|------------------|-------------|----------------|
| PEEWEE_DATABASE_URI | A connection URI | `'sqlite:///peewee.sqlite'` |
| PEEWEE_CONNECTION_PARAMS | Connection parameters for Peewee ORM | `{}` |
| PEEWEE_MIGRATE_DIR | Path to directory with migrations | `'migrations'` |
| PEEWEE_MIGRATE_TABLE | Name of database table with migrations | `'migratehistory'` |
| PEEWEE_MODELS_MODULE | Path to module which contains you applications' Models | `''` |
| PEEWEE_MODELS_IGNORE | Models which should be ignored in migrations | `[]` |
| PEEWEE_MODELS_CLASS | Base models class | `<sanic_pw.Model>` |
| PEEWEE_MANUAL | Don't connect to db when request starts and close when it ends automatically | `False` |
| PEEWEE_USE_READ_SLAVES | Use database slaves for reading data when coming `SELECT ...` queries | `True` |
| PEEWEE_READ_SLAVES | A list of nodes which can be used for reading | `[]` |

## Migrations
If you're using the Sanic-Script package, then append a new command to your manager:
```python
from sanic_pw import Peewee

# ...
app.db = Peewee(app)

manager = Manager(app)
manager.add_command('db', app.db.manager)
```
For a case when you're prefer to use click it almost the same:
```python
from sanic_pw import Peewee

# ...
app.db = Peewee(app)
app.db.cli()
```
After it, you can use database `create`, `migrate` or `rollback` commands.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sanic-pw-0.2.0.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

sanic_pw-0.2.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file sanic-pw-0.2.0.tar.gz.

File metadata

  • Download URL: sanic-pw-0.2.0.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for sanic-pw-0.2.0.tar.gz
Algorithm Hash digest
SHA256 7c33c7091970d48549c07abdefa134b1b019df388cc76f76e19215251cdc1146
MD5 933b72d99bddd5f7887b7a2b0e881fab
BLAKE2b-256 0899f5124955f5292e32acfab26e4e59befa989be756d7332c162d70d2ab1168

See more details on using hashes here.

File details

Details for the file sanic_pw-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sanic_pw-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7d76fa19fe6a2dc1b3908b343a92af234bbbee6ccb2653078ffc4426c3282720
MD5 e14d9b4ef09e30c539d375b3acb7de16
BLAKE2b-256 f38df136c2e5ccc635dca61ca2a5602d8e21a4b670f088a9c582ce425a11998f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page