Skip to main content

title: SimpleAudit Studio emoji: 🔍 colorFrom: blue colorTo: indigo sdk: docker app_port: 7860 pinned: false

SimpleAudit Studio

SimpleAudit Studio — a platform for reproducible AI model audits

License: MIT Python PyPI

A self-hostable platform for running reproducible AI model audits using the SimpleAudit engine (Target → Auditor → Judge). Every audit captures frozen, versioned inputs so historical results stay interpretable years later.

🚀 Quick Start

uvx simpleaudit-studio

uvx installs the simpleaudit-studio package and runs it in an isolated environment. No Docker, no Postgres, no manual setup. Opens at http://localhost:8000 (login: studio / admin123). A mock model server is pre-seeded so you can start exploring audit results immediately.

🌐 Or skip the setup entirely — try the live demo: sushantgautam-simpleaudit-studio.hf.space

Want the latest unreleased code from this repo instead of the PyPI release? Same one-liner, pointed at git:

uvx --from "git+https://github.com/SushantGautam/SimpleAuditStudio" spin

🤖 Using Real Models

The pre-seeded connections point at a built-in mock server. To run real audits, update your model connections on the Models page to any OpenAI-compatible endpoint. A few common options:

Provider Base URL Example
Ollama (local) http://localhost:11434/v1 Qwen 3, Llama 3.3, Mistral
vLLM http://your-vllm-server:8000/v1 Any HF model
OpenAI https://api.openai.com/v1 GPT-4o, o3
Together AI https://api.together.xyz/v1 Many open models
Groq https://api.groq.com/openai/v1 Fast inference

Set the API key in the connection form (leave blank for local servers that don't require auth), then start a run from New Experiment.

🛠️ Local Development

For contributors working on the codebase, use uv — no manual venv steps, no Makefile. Two verbs cover everything:

  • uv sync — create/update .venv from pyproject.toml + uv.lock
  • uv run <cmd> — run any command inside .venv (auto-syncs first if the lockfile changed)

Setup (one time)

git clone https://github.com/SushantGautam/SimpleAuditStudio
cd SimpleAuditStudio
cp .env.local.example .env          # minimal local config (SQLite + mock models)

uv sync --extra dev --extra postgres   # create .venv + install all deps
uv run manage.py setup_local           # migrate + create admin (studio / BOOTSTRAP_PASSWORD from .env) + seed data

setup_local chains the three idempotent first-run steps (migrate → bootstrap admin → seed scenario packs & model connections) into one command. Re-run it any time — it skips what already exists.

Daily work

uv run manage.py dev_server --embedded   # easiest: web UI + API + audit worker, zero-Docker → http://localhost:8000

Other options:

uv run manage.py runserver               # web UI + API only (no worker)
uv run manage.py dev_server              # web UI + worker, uses .env (edit POSTGRES_*/HATCHET_* to point at your infra)
SIMPLEAUDIT_LOCAL_SQLITE=1 uv run manage.py test infra   # tests

🐳 Self-Hosting

For teams or multi-user setups, use Docker Compose:

git clone https://github.com/SushantGautam/SimpleAuditStudio
cd SimpleAuditStudio
cp .env.example .env
# edit POSTGRES_PASSWORD and BOOTSTRAP_PASSWORD at minimum
docker compose up -d

Services: Web UI (:8000), PostgreSQL, Hatchet queue (:8888), Worker. Optional profile: --profile mock (mock model API).

See docs/deployment.md for production hardening, backups, and upgrades.

✨ What You Can Do

  • Build versioned scenario sets and register OpenAI-compatible models
  • Run experiments across models, scenario versions and settings, with a review step before launch
  • Watch runs live, including per-repetition results
  • Monitor models for drift on a schedule (interval or cron)
  • Filter, customise and compare runs on an interactive dashboard

🏗️ Architecture

Browser → Django (gunicorn :8000 in Compose; runserver :7860 in the HF Space / uvx demo)
              ↓
         PostgreSQL 16 (domain + queue DBs)
              ↓
         Hatchet Server (durable job queue)
              ↓
         Worker (CPU pool) → SimpleAudit Engine
              Target → Auditor → Judge

📚 Documentation

  • Architecture — system design, service boundaries, deployment topology
  • Domain Model — scenarios, scenario sets, audit runs, immutability invariants
  • Deployment — Docker Compose, production hardening, upgrades

🤝 Contributing

Architecture decisions are documented in docs/architecture.md.

Metadata

Release files for simpleaudit-studio 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for simpleaudit-studio 0.3.0
File Size Uploaded
simpleaudit_studio-0.3.0.tar.gz 571.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for simpleaudit-studio 0.3.0
File Interpreter ABI Platform
simpleaudit_studio-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.0 MB

Release files / simpleaudit_studio-0.3.0.tar.gz

Download URL simpleaudit_studio-0.3.0.tar.gz
Size 571.3 kB
Tags Source
SHA-256 checksum
How to use checksums
6502b06708545f49bafb5d2d3ee124373297c44e0ffae7005919c0cbb7593fd5
BLAKE2b-256 checksum
How to use checksums
980c2bd4e40f2d4189208a84c4c7fcf1ae5453dd08b24f2a1e7ebb6008ca3a16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / simpleaudit_studio-0.3.0-py3-none-any.whl

Download URL simpleaudit_studio-0.3.0-py3-none-any.whl
Size 469.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
04dcc2e16da70d2c03ce261f3391cc179834af167a8c04b1568fe3bf40d95f2f
BLAKE2b-256 checksum
How to use checksums
3b99c3131a40c03cc86b4e03c6b40c081e3236090296e40816b1e640ef1503da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.16

2 release files

0.5.15

2 release files

0.5.14

2 release files

0.5.9

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

This release

0.3.0 This release

2 release files

0.2.7

2 release files

0.2.6

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page