FastAPI Users - Database adapter for Tortoise ORM
Project description
Fastapi-users-tortoise
Tortoise orm database adapter for fastapi-users v10 and above.
Installation
pip install fastapi-users-tortoise
Usage
# models.py
from fastapi_users_tortoise import TortoiseBaseUserAccountModelUUID, TortoiseUserDatabase, TortoiseBaseUserOAuthAccountModelUUID
from fastapi_users_tortoise.access_token import TortoiseBaseAccessTokenModel, TortoiseAccessTokenDatabase
from tortoise import fields
class User(TortoiseBaseUserAccountModelUUID):
full_name = fields.CharField(max_length=255, null=True)
short_name = fields.CharField(max_length=255, null=True)
class OAuthAccount(TortoiseBaseUserOAuthAccountModelUUID):
pass
async def get_user_db():
yield TortoiseUserDatabase(User)
# If you need to store access token to the database
class AccessToken(TortoiseBaseAccessTokenModel):
pass
async def get_access_token_db():
yield TortoiseAccessTokenDatabase(AccessToken)
Note: Until the documentation is ready you can use the fastapi-users sqlalchemy setup guide as reference.
Development
Setup environment
You should create a virtual environment and activate it:
python -m venv venv/
source venv/bin/activate
And then install the development dependencies:
pip install -r requirements.dev.txt
Run unit tests
You can run all the tests with:
make test
Alternatively, you can run pytest
yourself:
pytest
There are quite a few unit tests, so you might run into ulimit issues where there are too many open file descriptors. You may be able to set a new, higher limit temporarily with:
ulimit -n 2048
Format the code
Execute the following command to apply isort
and black
formatting:
make format
TODO
- Improve type hint and generics usage
License
This project is licensed under the terms of the 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 Distribution
Built Distribution
Hashes for fastapi-users-tortoise-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | abd07a64ce23041785d292f09c7e9a9d5c9664433e4b63d9ee1863ae0959beb9 |
|
MD5 | 352f6c46c078e75afdc1024ff5d66833 |
|
BLAKE2b-256 | 2ffffae136d4ecf02f29e2611e5d621350342f716f3ec4008654b266fb3e1461 |
Hashes for fastapi_users_tortoise-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0935d2c42c70015b7ff9e54476bd48d814ac1f57e6052765902a839ee453cb1 |
|
MD5 | 3dc1a808bd12f73e9ff5c76f3e902195 |
|
BLAKE2b-256 | 379b368795c1529a6e25437d1454b3fdaa765e7cb37eeb4b9877e9da46b90823 |