Metadata-Version: 2.4
Name: modelvision
Version: 0.1.0
Summary: Framework-agnostic neural network architecture visualizer — publication-quality diagrams without executing a forward pass.
Project-URL: Homepage, https://github.com/pianistprogrammer/ModelVision
Project-URL: Issues, https://github.com/pianistprogrammer/ModelVision/issues
Author: Jerry Abimbola
License: MIT
Keywords: diagram,flax,huggingface,jax,keras,neural network,onnx,pytorch,sklearn,svg,tensorflow,transformers,visualization
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Typing :: Typed
Requires-Python: <3.13,>=3.10
Requires-Dist: click>=8.0
Requires-Dist: networkx>=3.0
Requires-Dist: pillow>=10.0
Requires-Dist: rich>=13.0
Requires-Dist: svgwrite>=1.4
Requires-Dist: typing-extensions>=4.9
Provides-Extra: all
Requires-Dist: cairosvg>=2.7; extra == 'all'
Requires-Dist: dm-haiku>=0.0.10; extra == 'all'
Requires-Dist: flax>=0.7; extra == 'all'
Requires-Dist: jax>=0.4; extra == 'all'
Requires-Dist: matplotlib>=3.7; extra == 'all'
Requires-Dist: onnx>=1.15; extra == 'all'
Requires-Dist: scikit-learn>=1.3; extra == 'all'
Requires-Dist: tensorflow>=2.12; extra == 'all'
Requires-Dist: torch>=2.0; extra == 'all'
Requires-Dist: torchvision>=0.15; extra == 'all'
Requires-Dist: transformers>=4.30; extra == 'all'
Provides-Extra: dev
Requires-Dist: beautifulsoup4>=4.12; extra == 'dev'
Requires-Dist: hypothesis>=6; extra == 'dev'
Requires-Dist: lxml>=5; extra == 'dev'
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pre-commit>=3.7; extra == 'dev'
Requires-Dist: pytest-cov>=5; extra == 'dev'
Requires-Dist: pytest-xdist>=3; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: ruff>=0.5; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9; extra == 'docs'
Requires-Dist: mkdocstrings[python]>=0.25; extra == 'docs'
Provides-Extra: huggingface
Requires-Dist: transformers>=4.30; extra == 'huggingface'
Provides-Extra: jax
Requires-Dist: dm-haiku>=0.0.10; extra == 'jax'
Requires-Dist: flax>=0.7; extra == 'jax'
Requires-Dist: jax>=0.4; extra == 'jax'
Provides-Extra: onnx
Requires-Dist: onnx>=1.15; extra == 'onnx'
Provides-Extra: pdf
Requires-Dist: cairosvg>=2.7; extra == 'pdf'
Provides-Extra: plot
Requires-Dist: matplotlib>=3.7; extra == 'plot'
Provides-Extra: sklearn
Requires-Dist: scikit-learn>=1.3; extra == 'sklearn'
Provides-Extra: tensorflow
Requires-Dist: tensorflow>=2.12; extra == 'tensorflow'
Provides-Extra: torch
Requires-Dist: torch>=2.0; extra == 'torch'
Requires-Dist: torchvision>=0.15; extra == 'torch'
Description-Content-Type: text/markdown

# ModelVision

Framework-agnostic neural network architecture visualizer. Renders publication-quality, fully styleable diagrams for models built in **PyTorch, TensorFlow/Keras, JAX/Flax, JAX/Haiku, Hugging Face Transformers, scikit-learn, and ONNX** — without running a forward pass.

> **Status:** early development (Week 0 foundations landing; M1 next). See `PRD_ModelVision.md` for the full spec.

## Install

```bash
uv add modelvision                    # core only
uv add "modelvision[torch]"           # per-framework extras
uv add "modelvision[all]"             # everything
```

## Quick start

```python
import torchvision.models as models
import modelvision as mvision

model = models.vgg16()
mvision.render(
    model,
    output="vgg16.svg",
    theme="dark",
    layer_palette={
        "Conv2d":    "#4a90d9",
        "ReLU":      "#27ae60",
        "MaxPool2d": "#e67e22",
        "Linear":    "#9b59b6",
    },
)
```

## CLI

```bash
uvx modelvision model.py MyNet --output diagram.svg --theme dark
uvx modelvision model.onnx --output diagram.html
```

## Development

```bash
git clone https://github.com/pianistprogrammer/ModelVision.git
cd modelvision
uv sync --all-extras --extra dev
uv run pytest
```

## License

MIT
