Metadata-Version: 2.1
Name: resifdatareporter
Version: 0.16.0
Summary: Scans the resif data repository and compute metrics. Sends the result in influxdb or postgres
Home-page: https://gricad-gitlab.univ-grenoble-alpes.fr/OSUG/RESIF/resif_data_reporter
Author: Jonathan Schaeffer
Author-email: jonathan.schaeffer@univ-grenoble-alpes.fr
Maintainer: Jonathan Schaeffer
Maintainer-email: jonathan.schaeffer@univ-grenoble-alpes.fr
License: GPL-3.0
Description: # resif data reporter
        Cet outil collecte sur un ou plusieurs espaces disques en structure SDS l'espace occupé par les réseaux sismo.
        
        
        ## À propos
        -   licence : Ce projet est livré sous licence GPLv3 ou plus
        -   auteur : Jonathan Schaeffer <jonathan.schaeffer@univ-grenoble-alpes.fr>
        
        ### Collecte des volumes
        
        Les données sont dans un ou plusieurs dossier(s) contenant un sous-dossier par année et pour chaque année, un dossier par réseau.
        
        Dans le rapport final, on souhaite distinguer les réseaux permanents des expériences temporaires.
        
        Les données collectées sont écrites en YAML dans un fichier cache.
        
        Les données sont ensuite écrites dans une base postgres ou influxdb.
        
        ## Configuration
        
        Le script de collecte a besoin d'un fichier de configuration. Le fichier `config.yml.example` fournit toute la documentation nécessaire pour un paramétrage initial.
        
        Par défaut, le script collecte les données (en faisant des `du`), les compile et les écrit dans le fichier `data.yaml`.
        
        Si les données contenues dans `data.yaml` ne sont pas plus anciennes que ce que spécifie la configuration `data_cache_ttl` (en jour), alors le script scanne le fichier data.json pour le restituer et n'effectue pas le scan des volumes.
        
        
        ### Postgres
        
        Quelle config sur le serveur postgres ? Quelle base et quelles tables créer ?
        
        ``` sql
        CREATE TYPE sismo_data_type AS ENUM('bud', 'validated')
        CREATE TABLE dataholdings (network varchar(2),
                                  year varchar(4),
                                  station varchar(5),
                                  channel varchar(3),
                                  quality varchar(1),
                                  type sismo_data_type,
                                  size bigint,
                                  is_permanent boolean,
                                  date date);
        ```
        
        ### Influxdb
        
        Mêmes questions.
        
        
        ## Tester
        
        
        ### Lancer des tests unitaires
        
        ```shell
        pip install -e .
        pytest
        ```
        
        
        ### Lancer un docker postgres
        
        ```shell
        docker pull postgres
        docker run --name pg -p 5432:5432 -e POSTGRES_PASSWORD=mysecretpassword -d postgres
        ```
        
        ### Lancer un docker pour influxdb
        
        
        ## Configuration
        
        Un fichier de Configuration pour les tests :
        ``` yaml
            volumes:
              - path: /tmp/pytest-of-schaeffj/pytest-22/validated/
                type: validated
              - path: /tmp/pytest-of-schaeffj/pytest-22/bud
                type: bud
            postgres:
              host: localhost
              database: stats
              port: 5432
              user: postgres
              password: mysecretpassword
        
            influxdb:
              measurement: resifstats
              server: localhost
              port: 8086
              ssl: True
              verify_ssl: False
              user: user
              password: secret
              database: sandbox
            metadata:    # Information about the gathered data. Used to tag the timeserie values
              permanent_networks: #  List all permanent networks here. Otherwise, they will be considered as temporary
                - CL
                - GL
                - MQ
                - ND
                - PF
                - RD
                - FR
                - G
                - RA
                - WI
        ```
        
        ## Tester le programme complet :
        
            python resif_data_reporter.py --config config.yml
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/markdown
