A Pydantic(+) model generator for Supabase
Project description
Supabase Pydantic Schemas
A project for generating Pydantic (& other) models from Supabase (& other) databases. Currently, this is ideal for integrating FastAPI with supabase-py as a primary use-case, but more updates are coming! This project is a inspired by the TS type generating capabilities of supabase cli. Its aim is to provide a similar experience for Python developers.
Installation
$ pip install supabase-pydantic # install
$ touch .env # create .env file
$ echo "DB_NAME=<your_db_name>" >> .env # add your postgres db name
$ echo "DB_USER=<your_db_user>" >> .env # add your postgres db user
$ echo "DB_PASS=<your_db_password>" >> .env # add your postgres db password
$ echo "DB_HOST=<your_db_host>" >> .env # add your postgres db host
$ echo "DB_PORT=<your_db_port>" >> .env # add your postgres db port
Usage
Generate Pydantic models for FastAPI using a local supabase connection:
$ sb-pydantic gen --type pydantic --framework fastapi --local
PostGres connection is open.
PostGres connection is closed.
Generating FastAPI Pydantic models...
FastAPI Pydantic models generated successfully: /path/to/your/project/entities/fastapi/schemas.py
File formatted successfully: /path/to/your/project/entities/fastapi/schemas.py
Or generate with a url:
$ sb-pydantic gen --type pydantic --framework fastapi --db-url postgresql://postgres:postgres@127.0.0.1:54322/postgres
Checking local database connection.postgresql://postgres:postgres@127.0.0.1:54322/postgres
Connecting to database: postgres on host: 127.0.0.1 with user: postgres and port: 54322
PostGres connection is open.
Generating FastAPI Pydantic models...
FastAPI Pydantic models generated successfully: /path/to/your/project/entities/fastapi/schemas.py
File formatted successfully: /path/to/your/project/entities/fastapi/schemas.py
For some users, integrating a Makefile command may be more convenient:
gen-types:
@echo "Generating FastAPI Pydantic models..."
@sb-pydantic gen --type pydantic --framework fastapi --dir <your path> --local
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
supabase_pydantic-0.12.0.tar.gz
(25.7 kB
view hashes)
Built Distribution
Close
Hashes for supabase_pydantic-0.12.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6247994f5a3b8535b11ecbce072e78c2385476acf10bba07090acdddb504383 |
|
MD5 | aa676aec32316d5941ef1f78f9e03bb8 |
|
BLAKE2b-256 | 57d091979923c4ce15dd509c027cb8cc675a8db2418a4bacf516a44d80005a9b |