This tool helps in gathering and formatting of data into a report. The tool
reporter.py
basically combines YAML data files
with Jinja2-based templates. In this
way simple markup versions of your report can be produced. Together with a
format converter like Pandoc the produced output can
then be converted to various target formats (HTML, PDF, ...).
To keep a good overview which data is acquired for different parts of the report, it is probably a good step to automate the whole workflow with a tool like snakemake or other make-like tools.
The fastest way to install datareport is to use your systems tools:
pip install datareport
To use the latest test version check out the test.pypi server:
pip install --index-url https://test.pypi.org/simple datareport
All required packages are listed in environment.yaml
. In case you
installed datareport via a package management system like pip, anaconda,
miniconda, ... all dependencies should already be installed automatically.
For easing your first steps with datareport a small set of documented
examples can be found in the examples/
folder. The
README file gives an overview and you can find the right place to start.
For designing reports you need to know about the templating language and
since you will want to use some automation for the reporting process, also a
make-like tool is very helpful. Look at the excellent snakemake
for that!
As data inputs you can use different formats. For understanding the details about each format you find a lot of information on the web, especially:
- YAML (→ specification) and the ruamel.yaml package.
- JSON (→ specification)
Contributions are very welcome! Write issues for feature requests or directly file a pull-request with your contribution and/or contact me directly!
This project uses the PyTest framework with tests defined in the tests/ sudirectory. It is added into the setuptools config, so that it can be run with
python setup.py test
This automatically tests a temporarily packaged version.
Alternatively you can run pytest
manually with all it glory
details.
The release workflow is mostly automated and is in the release/ folder.