Metadata-Version: 2.3
Name: auto-rest-api
Version: 0.1.12
Summary: Automatically map database schemas and deploy per-table REST API endpoints.
License: GPL-3.0-only
Keywords: Better,HPC,automatic,rest,api
Author: Better HPC LLC
Requires-Python: >=3.11,<4
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Internet
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
Classifier: Topic :: Software Development
Classifier: Typing :: Typed
Requires-Dist: aiomysql (==0.3.2)
Requires-Dist: aioodbc (==0.5.0)
Requires-Dist: aiosqlite (==0.20.0)
Requires-Dist: asgi-correlation-id (==4.3.4)
Requires-Dist: asyncpg (==0.30.0)
Requires-Dist: colorlog (>=6.9.0,<7.0.0)
Requires-Dist: fastapi (==0.120.1)
Requires-Dist: greenlet (==3.2.4)
Requires-Dist: httpx (==0.28.1)
Requires-Dist: oracledb (==2.5.1)
Requires-Dist: pydantic (==2.12.3)
Requires-Dist: pyyaml (==6.0.3)
Requires-Dist: sqlalchemy (==2.0.44)
Requires-Dist: uvicorn (==0.38.0)
Description-Content-Type: text/markdown

# Auto-REST

A light-weight CLI tool for deploying dynamically generated REST APIs against relational databases.
See the [project documentation](https://better-hpc.github.io/auto-rest/) for detailed usage instructions.

## Supported Databases

Auto-REST provides built-in support for the database types listed below.
Support for additional databases can be added by installing the corresponding database drivers.
See the official documentation for instructions.

| CLI Flag   | Default Driver               | Database Type        |
|------------|------------------------------|----------------------|
| `--sqlite` | `sqlite+aiosqlite`           | SQLite               |
| `--psql`   | `postgresql+asyncpg`         | PostgreSQL           |
| `--mysql`  | `mysql+asyncmy`              | MySQL                |
| `--oracle` | `oracle+oracledb`            | Oracle               |
| `--mssql`  | `mssql+aiomysql`             | Microsoft SQL Server |
| `--driver` | Custom driver (user-defined) | Custom               |

## Quickstart

Install the CLI using your preferred Python package manager:

```shell
pipx install auto-rest-api
```

Verify that the installation completed successfully:

```shell
auto-rest --help
```

Launch an API by supplying connection parameters for your target database:

```shell
auto-rest \
  --psql 
  --db-host localhost
  --db-port 5432
  --db-name default
  --db-user jsmith
  --db-password secure123!
```

Navigate to `localhost:8081/docs/` and view the OpenAPI documentation for your dynamically generated REST API!

