Metadata-Version: 2.1
Name: quickcrud
Version: 0.1.0
Summary: CLI to automatically generate FastAPI APIs from a SQL schema.
Home-page: https://github.com/wendersoon/QuickCRUD
License: MIT
Keywords: fastapi,crud,sql,docker
Author: Wenderson
Author-email: ds.wendersonmelo@gmail.com
Requires-Python: >=3.12,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: click (>=8.1.7,<9.0.0)
Requires-Dist: fastapi (>=0.115.5,<0.116.0)
Requires-Dist: sqlalchemy (>=2.0.36,<3.0.0)
Requires-Dist: sqlparse (>=0.5.2,<0.6.0)
Requires-Dist: uvicorn (>=0.32.0,<0.33.0)
Project-URL: Repository, https://github.com/wendersoon/QuickCRUD
Description-Content-Type: text/markdown

# QuickCRUD

QuickCRUD is a command-line interface (CLI) tool designed to automatically generate FastAPI APIs from a provided SQL schema. By using this tool, developers can quickly generate CRUD (Create, Read, Update, Delete) operations for each table in the database schema, saving valuable time when setting up backend APIs.

## Features

- Automatically generates FastAPI CRUD operations for SQL schema tables.
- Supports PostgreSQL, MySQL, and SQLite databases.
- Generates API routes for basic operations: GET, POST, PUT, DELETE.
- Creates a ready-to-use Docker Compose setup with two containers: one for the FastAPI application and another for the database.

## Current Status

As of now, **QuickCRUD** is in its **early stages**. 

## Installation

To install **QuickCRUD**:


```
pip install quickcrud
```

## Usage

To generate FastAPI APIs from your SQL schema, simply run the following command:

```
quickcrud --schema path/to/your/schema.sql --db-type postgres
```

Replace `postgres` with `mysql` or `sqlite` depending on your database type.

## Development

To contribute to QuickCRUD, clone the repository and install the dependencies:

```
git clone https://github.com/wendersoon/QuickCRUD
cd QuickCRUD
poetry install
```

You can run tests, format the code with Black, and check for linting issues using the pre-configured tools.

