Metadata-Version: 2.1
Name: dbstudio
Version: 0.1.0
Summary: Web-based database management tool.
Author-email: Luca Faggianelli <luca@velvetlab.tech>
License: MIT
Keywords: python,db,sqlalchemy,sqlmodel,web-ui,fastapi,starlette,pydantic
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: black==23.10.1; extra == "dev"
Requires-Dist: coverage==7.3.2; extra == "dev"
Requires-Dist: fastapi>=0.70.0; extra == "dev"
Requires-Dist: flake8==6.1.0; extra == "dev"
Requires-Dist: pytest==7.4.3; extra == "dev"
Requires-Dist: pytest_asyncio==0.21.1; extra == "dev"
Requires-Dist: pytest-env==1.1.0; extra == "dev"
Requires-Dist: sqlalchemy>=1.4.0; extra == "dev"

# DB Studio

A web-based database management tool that allows you to manage your databases, tables, and data.

It is designed to be embedded into your Python web applications, is currently compatible with FastAPI,
Starlette, SQLAlchemy and SQLModel.

## Get started

Install DB Studio from PyPI using pip or your favorite package manager:

```sh
pip install dbstudio
```

After configuring DB Studio, the UI will be available at `http://<your-server>/dbstudio`.

## FastAPI

```python
from fastapi import FastAPI
from dbstudio.fastapi import get_fastapi_router

# Be sure to import your DB models before initializing DBStudio
import .models

app = FastAPI()

# The router must be mounted at /dbstudio
app.mount("/dbstudio", get_fastapi_router(Base.metadata))
```

## Starlette

```python
from starlette.applications import Starlette
from dbstudio.starlette import get_startlette_mount

# Be sure to import your DB models before initializing DBStudio
import .models

app = Starlette(
    routes=[get_startlette_mount(Base.metadata)],
)
```
