Automatically generates a RESTful API and admin interface from an existing database with zero boilerplate code.
Sandman is a Python tool that automatically generates a fully-featured RESTful API and administrative web interface from an existing relational database. It solves the problem of manually writing boilerplate ORM and web framework code to expose legacy databases as web services, doing all the heavy lifting through introspection.
Developers and DevOps engineers who need to quickly provide REST API access to existing databases, especially legacy systems, without modifying the database schema or writing extensive backend code.
Developers choose Sandman because it requires zero boilerplate code—often just a database connection string—to get a production-ready REST API with filtering, HATEOAS links, and an admin UI, all while being completely non-invasive to the original database.
Sandman "makes things REST".
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
With sandmanctl, a REST API and admin UI launch instantly using just a database connection string, eliminating all boilerplate code as shown in the example command.
Provides a Django-style admin page that opens automatically on startup, offering immediate database management without additional development.
Supports all SQLAlchemy-compatible databases like PostgreSQL, MySQL, and SQLite, making it versatile for different backends without code changes.
API responses include proper relational links for navigation and foreign keys, ensuring a self-descriptive RESTful service as highlighted in the features.
The README explicitly states this version is obsolete and recommends sandman2, meaning no future updates, bug fixes, or official support.
While basic setup is code-free, adding custom validation or logic requires defining Model classes with methods like validate_GET, reintroducing boilerplate.
Focuses on basic CRUD operations; lacks built-in support for transactions, stored procedures, or complex database integrations beyond introspection.