Metadata-Version: 2.4
Name: tinycontracts
Version: 0.1.0
Summary: serve a folder of json/csv/parquet files as a rest api
Author-email: Aditya Kumar <adityakuma0308@gmail.com>
License-Expression: MIT
Keywords: api,cli,csv,fastapi,json,parquet,rest
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
Requires-Python: >=3.11
Requires-Dist: fastapi>=0.128.0
Requires-Dist: pandas>=3.0.0
Requires-Dist: pyarrow>=23.0.0
Requires-Dist: rich>=14.3.2
Requires-Dist: typer>=0.21.1
Requires-Dist: uvicorn>=0.40.0
Description-Content-Type: text/markdown

# tinycontracts

Turn JSON, CSV, and Parquet files into REST APIs instantly.

## Install

```bash
uv sync
```

## Usage

```bash
tinycontracts serve ./data
```

This scans `./data` for `.json`, `.csv`, and `.parquet` files and serves them as REST endpoints.

## Example

Given this structure:
```
data/
  users.json
  orders.csv
  products.parquet
```

You get:
```
GET /users
GET /orders
GET /products
```

## Filtering

Query any field:
```
GET /users?role=admin
GET /orders?status=shipped&customer_id=123
```

## Schema

Get the inferred JSON schema:
```
GET /users/schema
```
