Metadata-Version: 2.1
Name: statsservice
Version: 0.1.8
Summary: Stats Service for MONARC.
Home-page: https://github.com/monarc-project/stats-service
License: AGPL-3.0-or-later
Keywords: monarc,security,stats,flask,api
Author: Cédric Bonhomme
Author-email: cedric@cedricbonhomme.org
Requires-Python: >=3.6.1,<4.0.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Security
Requires-Dist: Flask (>=1.1.2,<2.0.0)
Requires-Dist: Flask-SQLAlchemy (>=2.4.3,<3.0.0)
Requires-Dist: flask_restx (>=0.2.0,<0.3.0)
Requires-Dist: jsonschema (>=3.2.0,<4.0.0)
Requires-Dist: pandas (>=1.0.4,<2.0.0)
Requires-Dist: psycopg2-binary (>=2.8.5,<3.0.0)
Requires-Dist: requests (>=2.23.0,<3.0.0)
Project-URL: Documentation, https://monarc-stats-service.readthedocs.io
Project-URL: Repository, https://github.com/monarc-project/stats-service
Description-Content-Type: text/markdown

# Stats Service for MONARC

[![License](https://img.shields.io/github/license/monarc-project/stats-service.svg?style=flat-square)](https://www.gnu.org/licenses/agpl-3.0.html)
[![Contributors](https://img.shields.io/github/contributors/monarc-project/stats-service.svg?style=flat-square)](https://github.com/monarc-project/stats-service/graphs/contributors)
[![Workflow](https://github.com/monarc-project/stats-service/workflows/Python%20application/badge.svg?style=flat-square)](https://github.com/monarc-project/stats-service/actions?query=workflow%3A%22Python+application%22)
[![Documentation Status](https://readthedocs.org/projects/monarc-stats-service/badge/?version=latest&style=flat-square)](https://monarc-stats-service.readthedocs.io/en/latest/?badge=latest)
[![PyPi version](https://img.shields.io/pypi/v/statsservice.svg?style=flat-square)](https://pypi.org/project/statsservice)

## Presentation

[This component](https://github.com/monarc-project/stats-service) provides an API
in order to collect statistics from one or several
[MONARC](https://github.com/monarc-project/MonarcAppFO) instances. It can be
deployed just next to MONARC (eventually in a virtual machine) or on a
dedicated server.

These aggregated statistics can then be sent to a central instance.


## Deployment

The following assumes you have already installed ``git``, ``poetry``,  and
``Python >= 3.8``.

```bash
$ sudo apt install postgresql
$ git clone https://github.com/monarc-project/stats-service
$ cd stats-service/
$ cp instance/production.py.cfg instance/production.py
$ poetry install
$ poetry shell
$ export FLASK_APP=runserver.py
$ export FLASK_ENV=development
$ flask db_create
$ flask db_init

$ flask create_organization --name CASES
Name: CASES
Token: SylsDTZTBk2zAkg016vW_aCuO1XQDXPsxrLuI1TG7z5sYvUfRlVf5R4g6kDnLI_o-c5iqrswrWzPANDKXmtV7Q
Created at: 2020-06-16 14:25:32.947745

$ flask run
 * Serving Flask app "runserver.py" (lazy loading)
 * Environment: development
 * Debug mode: on
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 268-178-811
```

For production you can use [Gunicorn](https://gunicorn.org) or ``mod_wsgi``.


## Documentation

A [documentation is available](https://monarc-stats-service.readthedocs.io).


## License

[Stats Service](https://github.com/monarc-project/stats-service) is under the
[GNU Affero General Public License version 3](https://www.gnu.org/licenses/agpl-3.0.html).

