Metadata-Version: 2.1
Name: dokku-api
Version: 1.0.0
Summary: A RESTful API for managing applications and resources on a Dokku platform.
Home-page: https://github.com/JeanExtreme002/dokku-api
License: MIT
Keywords: dokku,api,paas,application,deployment,devops,automation
Author: JeanExtreme002
Author-email: jeanextreme002@gmail.com
Requires-Python: >=3.9,<4.0
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Security
Classifier: Topic :: System :: Systems Administration
Requires-Dist: PyNaCl (==1.5.0)
Requires-Dist: PyYAML (==6.0)
Requires-Dist: aiofiles (>=24.1.0,<25.0.0)
Requires-Dist: aiomysql (>=0.2.0,<0.3.0)
Requires-Dist: anyio (==3.5.0)
Requires-Dist: asgiref (==3.5.0)
Requires-Dist: asyncmy (>=0.2.10,<0.3.0)
Requires-Dist: bcrypt (==3.2.0)
Requires-Dist: cffi (==1.15.0)
Requires-Dist: click (==8.0.4)
Requires-Dist: colorama (==0.4.4)
Requires-Dist: cryptography (==36.0.1)
Requires-Dist: fastapi (==0.75.0)
Requires-Dist: h11 (==0.13.0)
Requires-Dist: httptools (==0.6.4)
Requires-Dist: httpx (>=0.28.1,<0.29.0)
Requires-Dist: idna (==3.3)
Requires-Dist: paramiko (==2.10.1)
Requires-Dist: pycparser (==2.21)
Requires-Dist: pydantic (==1.10)
Requires-Dist: pymysql (>=1.1.1,<2.0.0)
Requires-Dist: python-decouple (==3.6)
Requires-Dist: python-dotenv (==0.19.2)
Requires-Dist: python-multipart (==0.0.5)
Requires-Dist: requests (>=2.32.3,<3.0.0)
Requires-Dist: six (==1.16.0)
Requires-Dist: sniffio (==1.2.0)
Requires-Dist: sqlalchemy (>=2.0.41,<3.0.0)
Requires-Dist: starlette (==0.17.1)
Requires-Dist: typing_extensions (==4.6.0)
Requires-Dist: uvicorn (==0.17.5)
Requires-Dist: watchgod (==0.7)
Requires-Dist: websockets (==10.2)
Project-URL: Documentation, https://github.com/JeanExtreme002/dokku-api
Project-URL: Repository, https://github.com/JeanExtreme002/dokku-api
Description-Content-Type: text/markdown

# Dokku API
This is a RESTful API for managing applications and resources on Dokku, built with [FastAPI](https://fastapi.tiangolo.com/).

[![CI](https://github.com/JeanExtreme002/Dokku-API/actions/workflows/ci.yml/badge.svg)](https://github.com/JeanExtreme002/Dokku-API/actions/workflows/ci.yml)
[![Pypi](https://img.shields.io/pypi/v/dokku-api)](https://pypi.org/project/dokku-api/)
[![License](https://img.shields.io/pypi/l/Dokku-API)](https://pypi.org/project/Dokku-API/)
[![Platforms](https://img.shields.io/badge/platforms-Dokku%20%7C%20Linux-8A2BE2)](https://pypi.org/project/dokku-api/)
[![Python Version](https://img.shields.io/badge/python->=3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20%7C%20...-blue)](https://pypi.org/project/dokku-api/)

### Installing Dokku API from PyPI:
```
$ pip install dokku-api
$ dokku-api help
```

## Getting Started (quick run)
The entire project has been built to run entirely on [Dokku](https://dokku.com/) or [Docker](https://www.docker.com/).

Create a `.env` from `.env.sample`, configure the variables, and execute one of the commands below to run the application:
```
# For installing and running the API as a Dokku application.
$ make dokku-install

# For installing and running the API on Docker.
$ make docker-run
```
Now, open the API on your browser at [http://dokku-api.yourdomain](http://dokku-api.yourdomain) — if you did not change the default settings.

Access [/docs](http://dokku-api.yourdomain/docs) for more information about the API.

## Getting Started (development)
Install the dependencies for the project:
```
$ pip install poetry
$ make install
```

Now, you can run the server with:
```
$ make run
```

Run `make help` to learn about more commands. 

## Running Tests
The project has some tests to check if everything is working properly. To run the tests, execute the command below:
```
$ make test
$ make system-test
```

## Coding Style
Run the commands below to properly format the project's code:
```
$ make lint
$ make lint-fix
```

