For short, monitor-server-api helps you to collect, historicize and exploit the data from your tests written with pytest and monitored with pytest-monitor.
- Centralize your tests results
- bring support for pytest-xdist and pytest-parallel
- Easy data querying through specific queries
- Integrated library for in-script queries
The server can be launched easily with any WSGI Framework. The following lines can be used for a start:
bash $> # Use it with sqlite (not recomended for production)
bash $> export DATABASE_PATH=/path/to/sqlite/db
bash $> uwsgi --http 0.0.0.0:8050 --workers 8 --process 8 --master
--harakiri 60 --harakiri-verbose --need-app -w monitor_server_api.uwsgi
--callable WSGI_SERVER --env DATABASE_PATH=${DATABASE_PATH} --env ENV=prod
If you prefer using conda
bash $> conda activate <your monitor-server-api env>
bash $> # Setup the server to listen on port 8080, 8 workers, 60s max per request and using sqlite
bash $> launch-monitor-server.sh -p 8080 -t 60 -w 8 -u sqlite:////path/to/db
You can validate that the server runs correctly by going to the root page of the server.
A full documentation with use cases and example is available.
Review the following installation instructions along with basic setup instructions.
You can install monitor-server-api via conda (through the conda-forge
channel):
$ conda install monitor-server-api -c https://conda.anaconda.org/conda-forge
Another possibility is to install monitor-server-api via pip
_ from PyPI
:
$ pip install monitor-server-api
To run, the monitor-server-api requires a valid Python 3.6+ interpreter. The following requirements are needed:
- flask-restx (officially supported) OR flask-restplus (tested)
- flask-sqlalchemy
Testing requires pytest-flask and pytest-cov (along with pytest obviously).
The monitorlib also requires a valid Python 3.6+ along with :
- requests
- pandas
Contributions are very welcome. Tests are run with pytest. Before submitting a pull request, please ensure that:
- both internal tests and examples are passing.
- internal tests have been written if necessary.
- if your contribution provides a new feature, make sure to provide an example and update the documentation accordingly.
If you encounter any problem, please file an issue along with a detailed description.
See contributing file for more information.
monitor-server-api is free, open-source software This code is distributed under the license.
The main author of monitor-server-api
is Jean-Sébastien Dieu, ]]who can be reached at dieu.jsebastien@yahoo.com.
See AUTHORS file for more contributors.