Skip to main content
← Projects

Anvil

Anvil is a desktop-first visual API builder. Open a Django project (or a database), wire tables to CRUD endpoints on a canvas, preview the merged code, and write it back in place.

Source: github.com/sarweshsoman/Anvil.

What it does

  • Tauri desktop app with native folder picker and in-place file writes
  • Scans models.py, views.py, serializers.py, and urls.py
  • Connects to PostgreSQL or SQLite (including auto-detect from settings.py)
  • Workflow canvas: Table → CRUD → Endpoint
  • Live Django REST Framework codegen with Existing / Merged / Diff views
  • Apply patches with an automatic .apiviz_backup/ backup

Stack: Tauri 2, React/Vite/TypeScript, FastAPI sidecar, SQLAlchemy.

How to run

Needs Node.js 20+, Python 3.11+, and Rust (for Tauri).

git clone https://github.com/sarweshsoman/Anvil.git
cd Anvil

cd backend && python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

cd ../frontend && npm install
cd .. && npm install
npm run tauri:dev

Web-only: run the FastAPI sidecar on port 8000 and npm run dev in frontend.