Metadata-Version: 2.4
Name: dokku-api
Version: 1.3.7
Summary: A REST API for managing applications and resources on a Dokku platform.
License: MIT
License-File: LICENSE
Keywords: dokku,api,paas,application,deployment,devops,automation
Author: JeanExtreme002
Author-email: jeanextreme002@gmail.com
Requires-Python: >=3.11
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
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)
Requires-Dist: aiomysql (>=0.2.0)
Requires-Dist: anyio (==3.5.0)
Requires-Dist: apscheduler (>=3.11.2,<4.0.0)
Requires-Dist: asgiref (==3.5.0)
Requires-Dist: asyncmy (>=0.2.10)
Requires-Dist: asyncssh (==2.13.2)
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: greenlet (>=3.2.4,<4.0.0)
Requires-Dist: h11 (==0.16.0)
Requires-Dist: httptools (==0.6.4)
Requires-Dist: httpx (>=0.28.1)
Requires-Dist: idna (==3.7)
Requires-Dist: pycparser (==2.21)
Requires-Dist: pydantic (==1.10.13)
Requires-Dist: pymysql (>=1.1.1)
Requires-Dist: python-decouple (==3.6)
Requires-Dist: python-dotenv (==0.19.2)
Requires-Dist: python-multipart (==0.0.22)
Requires-Dist: requests (>=2.32.3)
Requires-Dist: six (==1.16.0)
Requires-Dist: sniffio (==1.2.0)
Requires-Dist: sqlalchemy (>=2.0.41)
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: Homepage, 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 REST 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://github.com/JeanExtreme002/Dokku-API)
[![Python Version](https://img.shields.io/badge/python-3.11+-yellow)](https://pypi.org/project/dokku-api/)
[![OS](https://img.shields.io/badge/os-Linux-red)](https://pypi.org/project/dokku-api/)
[![Platform](https://img.shields.io/badge/platform-Dokku-8A2BE2)](https://pypi.org/project/dokku-api/)
[![Downloads](https://static.pepy.tech/personalized-badge/dokku-api?period=total&units=international_system&left_color=grey&right_color=orange&left_text=downloads)](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/).


#### For installing and running the API as a Dokku application:
```
$ dokku plugin:install https://github.com/JeanExtreme002/Dokku-API.git
$ dokku dokku-api:start
```

#### For installing and running the API on Docker:
Create a `.env` from `.env.sample`, configure the variables, and execute one of the commands below to run the application:
```
$ 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.
```
$ curl 'http://dokku-api.yourdomain/api/'
```
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
```

