Skip to main content

A REST API that can be used a central point for collecting metrics from pytest-monitor.

Project description

monitor-server-api

CircleCI License Documentation Status PyPI PyPI - Python Version Anaconda-Server Badge Anaconda-Server Badge

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 MIT 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

monitor-server-api-1.0.2.tar.gz (42.6 kB view details)

Uploaded Source

Built Distribution

monitor_server_api-1.0.2-py3-none-any.whl (52.1 kB view details)

Uploaded Python 3

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

Hashes for monitor-server-api-1.0.2.tar.gz
Algorithm Hash digest
SHA256 986320ed4b7b20feb64c4fa81e2240d72c4a057dd2c7d9016e7d7a2d68e300f8
MD5 b2dca33512fc7ea9db7cc43d7a4d9fef
BLAKE2b-256 1e949681567758c0bb57ba5f13f204cf933df831870f238c081e6747c164a23d

See more details on using hashes here.

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

Hashes for monitor_server_api-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d089345bdb17192e8569b431146d3a8d2436c738917f356b49623de3b5d693fe
MD5 e79282fc715f61f13629def6d569d80b
BLAKE2b-256 b45b755fabe1946f8e35a89a42516beb50666f49208fb0c8a28aefb6c84a4847

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page