81f6cf8b39
Squashed commit of the following: commit |
||
---|---|---|
conf | ||
halfapi | ||
scripts | ||
tests | ||
.gitignore | ||
CHANGELOG.md | ||
LICENSE | ||
MANIFEST.in | ||
Pipfile | ||
Pipfile.lock | ||
README.md | ||
pyproject.toml | ||
pytest.ini | ||
requirements.txt | ||
setup.cfg | ||
setup.py |
README.md
HalfAPI
This Python-based ASGI application aims to provide the core functionality to multiple API domains.
It's developed at the LIRMM in Montpellier, France.
The name "halfAPI" comes from the deep relationship between it and halfORM, a project authored by Joël Maizi.
You'll need a database with the API details. You can find the database model in halfapi/models/api.sql
TODO : include a token generation tool for testing purpose.
Dependencies
- python3
- python3-pip
- libgit2-dev
Installing
With local folder :
pip3 install -r requirements.txt .[cli]
From the repository :
pip3 install git+ssh://git@gite.lirmm.fr:malves/halfapi.git[cli]
CLI usage
Running
Development mode
In the project's folder :
halfapi run
Production
The production server may use different init systems. As our main server is Debian-based, we use systemd services to manage the api server. Find the right service files and configure them properly in order to make your production setup perfect.
cp conf/systemd/lirmm_api* /etc/systemd/system/
systemctl daemon-reload
systemctl start lirmm_api
To make it start at boot :
systemctl enable lirmm_api
To get the logs :
journalctl -f --unit lirmm_api
Testing
Installing
pip3 install .[cli][tests]
Running
pytest -v