Metadata-Version: 2.1
Name: mdapisp
Version: 0.1.1a3
Summary: simple api for Make Data API Server Project
Author: Minseong Kim
Requires-Python: >=3.7.3,<4.0.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: aiocache (>=0.11.1,<0.12.0)
Requires-Dist: aiosqlite (>=0.17.0,<0.18.0)
Requires-Dist: databases (>=0.4.2,<0.5.0)
Requires-Dist: fastapi (>=0.63.0,<0.64.0)
Requires-Dist: pandas (>=1.2.3,<2.0.0)
Requires-Dist: pytest (>=6.2.2,<7.0.0)
Requires-Dist: python-multipart (>=0.0.5,<0.0.6)
Requires-Dist: sqlalchemy (>=1.4.0,<2.0.0)
Requires-Dist: typer[all] (>=0.3.2,<0.4.0)
Requires-Dist: uvicorn (>=0.13.4,<0.14.0)
Description-Content-Type: text/markdown

# mdapisp

## Project description
* This is a code snippet level code that roughly implements the CSV file upload and SQL Select Query functions.

## Execution environment
* written and tested in Python 3.7.3 (via pyenv virtual environment)
* if you are using pip as your package manager
```bash
 pip install mdapisp
```
* if you are using poetry as your package manager
```bash
 poetry install
```
## How to run
* The basic execution scenario is as follows:
    1. Type the command in the terminal to run the application.
        ```bash
        mdapisp
        ```
    1. Open to fastapi swegger test page (default http://127.0.0.1:8000/docs#/) with a web browser
    1. Upload human.csv, fruit.csv using Create Upload Csvfiles
    1. Select query using Read Table
    1. Check cache contents using Read Cache
    1. Upload csvfile again and check cache contents

##  architecture design & the reason for design
* Focused on __minimum difficulty and minimum cost implementation__ to meet the requirements specification.
    * only the logic for the api was written without implementing a web server (ex. nginx, apache, etc.), the database also used __sqlite__, and it was written as lightly as possible using __fastapi__ to avoid swegger implementation.

## api specification
* api.md
* If you want to exact api specification, Please refer to `http://127.0.0.1:8000/redoc` or the __openapi.json__ file in the directory for the exact specification
