Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ankostis/rdechecker
Validate & archive Real-Driving-Emissions files.
https://github.com/ankostis/rdechecker
Last synced: 21 days ago
JSON representation
Validate & archive Real-Driving-Emissions files.
- Host: GitHub
- URL: https://github.com/ankostis/rdechecker
- Owner: ankostis
- License: eupl-1.1
- Created: 2017-12-20T05:44:12.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2017-12-24T00:34:01.000Z (almost 7 years ago)
- Last Synced: 2024-06-13T15:35:05.018Z (5 months ago)
- Language: Python
- Size: 928 KB
- Stars: 2
- Watchers: 5
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
######################################################################
rdechecker: Validate & archive Real-Driving-Emissions files.
######################################################################:release: 0.0.3
:date: 2017-12-24 02:33:17
:home: https://github.com/JRCSTU/rdechecker/
:keywords: rde, real-driving-emissions, vehicle-emissions, file-format, validation
:copyright: 2017 European Commission (`JRC `_)
:license: `EUPL 1.1+ `_*rdechecker* validates files generated from Real-Driving-Emissions cycle tests,
before those files are submitted to monitoring bodies.
Optionally, archive and compress those files in a single HDF5 archive.Quickstart
==========
Clone git repo and install in *develop* mode to experiment with sample files::git clone git+https://github.com/JRCSTU/rdechecker rdechecker.git
cd rdechecker.git/
pip install -e .(alternatively use: ``pip install git+https://github.com/JRCSTU/rdechecker.git``).
Run sample files (assumes git cloned locally, above)::
$ cd rdechecker/tests/
$ rdechek f1:Sample_Data_Exchange_File.csv f2:Sample_Reporting_File_1.csvValidation Rules
================
Currently partial CSV-cell validation *rules* are defined only for 2 file "kinds"::$ rdechek -l
f1: Big file
f2: The summary fileThe rules are configured in the ``/rdechecker/tests/files-schema.yaml`` file.
They are defined in hierarachy:- ``file_kinds..lines`` or
- ``file_kinds..sections.lines`` (for files with sections).and they are keyed by the line-number (1-based).
For example::
1: [TEST ID, '[code]', {req: null}]
2: [Test date, '[dd.mm.yyyy]', {regex: '\d\d.\d\d.\d{4}'}]
16: [Engine rated power, '[kW]', {float: null}]which means that:
- line 1 must have at least 2 "cells" with the exact contents shown, plus
a required last cell.
- line 2 in addition must have a 3rd cell that satisfy a "date" regular-expression.
- line 16 must have 2 fixed-string cells and a float 3rd one.You may view all available rules with::
$ rdechecker -l rules
- str: equal the given text
- _str: be missing or equal the given text
- istr: equal(caseless) the given text
- _istr: be missing or equal(caseless) the given text
- regex: match the given regex
- _regex: be missing or match the given regex
- int: int(x=0) -> integer
- _int: be missing or int(x=0) -> integer
- float: float(x) -> floating point number
- _float: be missing or float(x) -> floating point number
- req: not be empty
- _req: be missing or not be empty.. Tip::
When writting validations, extra care is needed with characters `:[],{}`
(among others) because they have special meaning in *YAML*.