A REST API that can be used a central point for collecting metrics from pytest-monitor.
Project description
monitor-server-api
Features
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
Usage
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.
Documentation
A full documentation with use cases and example is available.
Installation
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
Requirements
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).
Monitorlib
The monitorlib also requires a valid Python 3.6+ along with :
- requests
- pandas
Contributing
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.
Issues
If you encounter any problem, please file an issue along with a detailed description.
See contributing file for more information.
License
monitor-server-api is free, open-source software This code is distributed under the license.
Author
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file monitor-server-api-1.0.2.tar.gz
.
File metadata
- Download URL: monitor-server-api-1.0.2.tar.gz
- Upload date:
- Size: 42.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/0.0.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 986320ed4b7b20feb64c4fa81e2240d72c4a057dd2c7d9016e7d7a2d68e300f8 |
|
MD5 | b2dca33512fc7ea9db7cc43d7a4d9fef |
|
BLAKE2b-256 | 1e949681567758c0bb57ba5f13f204cf933df831870f238c081e6747c164a23d |
File details
Details for the file monitor_server_api-1.0.2-py3-none-any.whl
.
File metadata
- Download URL: monitor_server_api-1.0.2-py3-none-any.whl
- Upload date:
- Size: 52.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/0.0.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d089345bdb17192e8569b431146d3a8d2436c738917f356b49623de3b5d693fe |
|
MD5 | e79282fc715f61f13629def6d569d80b |
|
BLAKE2b-256 | b45b755fabe1946f8e35a89a42516beb50666f49208fb0c8a28aefb6c84a4847 |