Metadata-Version: 2.5
Name: snapdelta-web
Version: 0.1.0
Summary: Web UI, JSON API and MCP server for snapdelta: snapshot your devices and services, then see exactly what changed
Project-URL: Homepage, https://github.com/antoinekh/snapdelta
Project-URL: Documentation, https://github.com/antoinekh/snapdelta/tree/main/docs
Project-URL: Issues, https://github.com/antoinekh/snapdelta/issues
Project-URL: Changelog, https://github.com/antoinekh/snapdelta/blob/main/CHANGELOG.md
Author-email: Antoine Keranflec'h <antoine.keranflech@gmail.com>
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: diff,diffsync,fastapi,mcp,netdevops,network-automation,snapshot
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Telecommunications Industry
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: System :: Networking
Classifier: Topic :: System :: Networking :: Monitoring
Requires-Python: >=3.13
Requires-Dist: fastapi>=0.115
Requires-Dist: jinja2>=3.1
Requires-Dist: markupsafe>=2.1
Requires-Dist: mcp<3,>=2.3
Requires-Dist: python-multipart>=0.0.9
Requires-Dist: snapdelta<0.2,>=0.1.0
Requires-Dist: uvicorn>=0.30
Description-Content-Type: text/markdown

<p align="center">
  <img src="https://raw.githubusercontent.com/antoinekh/snapdelta/main/docs/images/logo-wordmark-light.svg" width="400" alt="snapdelta" />
</p>

**Web UI, JSON API and MCP server for [snapdelta](https://pypi.org/project/snapdelta/): snapshot your devices and services, then see exactly what changed.**

![A diff in the web UI](https://raw.githubusercontent.com/antoinekh/snapdelta/main/docs/images/screenshots/diff.png)

## Install

snapdelta needs Python 3.13 or later. In your plugin project:

```bash
uv add snapdelta snapdelta-web
```

## Use it

| Command | What it does |
|---|---|
| `snapdelta-web` | Serve the web UI, the JSON API under `/api/v1` and the MCP server under `/mcp` |
| `snapdelta-mcp` | Serve the MCP tools to an AI agent over stdio |

```bash
snapdelta-web --store ./store
claude mcp add snapdelta -- snapdelta-mcp --settings /path/to/snapdelta.toml
```

The web UI serves htmx, its fonts and the API docs page itself, so it works with no internet access.

## Documentation

- [Web UI](https://github.com/antoinekh/snapdelta/blob/main/docs/web-ui.md): the pages, with screenshots
- [API](https://github.com/antoinekh/snapdelta/blob/main/docs/api.md): the JSON API, the token and the network access
- [MCP](https://github.com/antoinekh/snapdelta/blob/main/docs/mcp.md): the MCP server and the skill for AI agents
- [Getting started](https://github.com/antoinekh/snapdelta/blob/main/docs/getting-started.md): your own project, step by step
- [Changelog](https://github.com/antoinekh/snapdelta/blob/main/CHANGELOG.md)

## License

Apache License 2.0.
