Fastapi Migrations
This library provides a small wrapper for alembic.
Notice
Under inital development. This can not be ready-for-production library.
This can means:
- Breaking changes may be introduced
- Poor documentation and changeslogs
- Not totally tested
- Be forced to navigate through the source code to find out how it works
Wait to a version > 0.1.0 for usage in production environments.
Installation
You can install this library with:
pip3 install fastapi-migrations
Usage
You can use both programatically and by CLI (command line interface).
Imagine your project folders
app/
cli/
__init__.py
action.py
db/
__init__.py
base.py
models/
__init__.py
my_model.py
endpoints/
__init__.py
my_endpoint.py
__init__.py
config.py
main.py
This is an example of main.py:
from fastapi import FastAPI
from fastapi_sqlalchemy import DBSessionMiddleware
# Load configs and endpoints
from app.config import settings
from app.endpoints import router
app: FastAPI = FastAPI(title=settings.project_name)
# register routes
app.include_router(router)
# add middlewares
app.add_middleware(DBSessionMiddleware, db_url=settings.database_uri)
if __name__ == '__main__':
# Load cli commands
from app.cli import app as cli
cli()
Then your app/cli/__init__.py can be like:
import typer
from fastapi_migrations.cli import MigrationsCli
import app.cli.action as action
# main cli app
app: typer.Typer = typer.Typer()
# these are our cli actions
app.add_typer(action.app, name='action', help='Common actions the app do')
# this line adds the fastapi-migrations cli commands to our app
app.add_typer(MigrationsCli())
Now you can call your app from the command line and use fastapi-migrations like:
py app/main.py db show
If you want to use this library programatically, this is an example:
The file app/cli/action.py can be like:
import typer
from fastapi_migrations import MigrationsConfig, Migrations
app: typer.Typer = typer.Typer()
@app.command()
def show() -> None:
config = MigrationsConfig()
migrations = Migrations(config)
migrations.show()
You can add this lines where you wish in your proyect. Here we ar adding it to a command line so we can call our app like:
py app/main.py action show
License
This software is distributed under MIT license.
Metadata
Release files for fastapi-migrations 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| fastapi-migrations-0.0.5.tar.gz | 9.6 kB | Without provenance | Details for fastapi-migrations-0.0.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| fastapi_migrations-0.0.5-py3-none-any.whl | Python 3 | none | any | Details for fastapi_migrations-0.0.5-py3-none-any.whl |
Total release size: 18.3 kB
Release files / fastapi-migrations-0.0.5.tar.gz
| Download URL | fastapi-migrations-0.0.5.tar.gz |
|---|---|
| Size | 9.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f62b35fb7e12fcb60a50b6826330f327a7ccad3b6cadbb2de6278312071470aa
|
|
BLAKE2b-256 checksum How to use checksums |
5e997109e1cff35b2dde426fe4857e3f7ce90b4da30640bb6323d4e42379e796
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.1.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.1
|
Release files / fastapi_migrations-0.0.5-py3-none-any.whl
| Download URL | fastapi_migrations-0.0.5-py3-none-any.whl |
|---|---|
| Size | 8.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a3c35cf43b5d827d1edda8c261b105764114e66eab533390a1d4e6ca08cb85f7
|
|
BLAKE2b-256 checksum How to use checksums |
e6c02cc5a485910eb982589fad7b59122008dbef4ce319afd01780fd0842c7ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.1.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.1
|
Security for fastapi-migrations 0.0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.