Metadata-Version: 2.4
Name: db-schema-viz
Version: 0.3.0
Summary: Interactive database schema visualization utils for Python notebooks (Jupyter, Marimo)
Author-email: Samo Kolter <samo.kolter@gmail.com>
License: MIT
Keywords: database,er-diagram,jupyter,marimo,schema,visualization,widget
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: Jupyter
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.9
Requires-Dist: anywidget
Requires-Dist: pydantic>=2
Provides-Extra: duckdb
Requires-Dist: duckdb>=1.0; extra == 'duckdb'
Description-Content-Type: text/markdown

# db_schema_viz

## Installation

```sh
pip install db_schema_viz
```

or with [uv](https://github.com/astral-sh/uv):

```sh
uv add db_schema_viz
```

## Development

We recommend using [uv](https://github.com/astral-sh/uv) for development.
It will automatically manage virtual environments and dependencies for you.

```sh
uv run jupyter lab example.ipynb
```

Alternatively, create and manage your own virtual environment:

```sh
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
jupyter lab example.ipynb
```

The widget front-end code bundles it's JavaScript dependencies. After setting up Python,
make sure to install these dependencies locally:

```sh
pnpm install
```

While developing, you can run the following in a separate terminal to automatically
rebuild JavaScript as you make changes:

```sh
pnpm run dev
```

Open `notebooks/example.ipynb` in JupyterLab, VS Code, or your favorite editor
to start developing. Changes made in `web/` will be reflected
in the notebook.
