# sandman2

Automatically generate a RESTful API service for your legacy database. No code required!

Repository: https://github.com/jeffknupp/sandman2
Canonical: https://ross.abutalabs.com/products/sandman2
Language: Python
License: Apache-2.0
License Family: permissive
Topics: python, sqlalchemy, database, rest-api, restful-api, rest, orm, sqlite-database, automatic-api
Last push: 2026-08-24T16:59:20+00:00

## Health v2 (maintenance only)
Score: 77/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 35, longevity 100
- inputs: {"age_days": 4331, "days_push": 9, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2042, forks 217 (observed 2026-08-28T04:06:08.617621+00:00)

## What it is
sandman2 is a Python library and CLI tool that automatically generates RESTful API services from existing relational databases using SQLAlchemy introspection. Given a database connection string, it launches a REST API with filtering support and an HTML admin interface with no boilerplate code.

## Use cases
- expose a legacy database as a REST API
- auto-generate CRUD endpoints from existing tables
- quickly prototype an API over a sqlite database
- add a REST layer to a MySQL or PostgreSQL database without writing code
- browse and edit database contents through an admin interface
- spin up an HTTP API for legacy database-driven systems

## When to choose
- you need a REST API over an existing database with minimal effort
- you want zero-boilerplate CRUD endpoints for legacy tables
- you're prototyping and want instant API plus admin UI from a connection string

## When to avoid
- you need fine-grained control over API design, validation, or business logic
- you require modern async frameworks or OpenAPI-first workflows
- you need active development and recent maintenance
- you need non-SQLAlchemy-supported datastores

## Facets
- artifact type: library
- maturity: maintenance
- function: api-framework, http-server, orm, database
- domain: web-development, backend, databases, apis, developer-tools
- platform: python, cross-platform
- tags: rest-api-generation, database-introspection, sqlalchemy, auto-generated-api, legacy-databases, admin-interface

## Member repositories
- jeffknupp/sandman2 (main) score 77
- jeffknupp/sandman (mirror) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:08.617621+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:40:42.790462+00:00, confidence not recorded.
  - readme: https://github.com/jeffknupp/sandman2 (fetched 2026-08-28T04:06:08.617621+00:00, sha e9e6c0d12c36)
  - registry_pypi: https://pypi.org/pypi/sandman/json (fetched 2026-08-29T10:20:59.098359+00:00, sha f11f0131a3dc)
  - registry_pypi: https://pypi.org/pypi/sandman2/json (fetched 2026-08-29T10:20:59.107497+00:00, sha e8a8d32afd5d)
- Data as of 2026-08-30T08:39:29.467469+00:00.
