Add basic Python package skeleton.
This MR contains a basic Python package skeleton for a corsika
Python package (in a Python subdirectory in the main repo). Since we discussed doing some output benchmarking and profiling, I figure it would be good to have a skeleton that people could work and develop within (for Python) - if certain code turns out to be promising, we can then easily merge these upstream into master (or, not) within this existing package. Consider this the starting point for the future corsika
Python analysis package.
This package is pip installable, pip install --user -e .
in the Python
subdirectory.
For testing work, a Makefile is provided that coordinates pytest
for testing, mypy
for static type checking of the full codebases, flake8
for linting, and some other goodies. The testing dependencies can be installed with pip install --user -e '.[test]'
.
I think this should be merged in to master (no matter what, we are going to want to provide Python support for whatever output we decide). Once this is in master and we have some tests, I'll integrate pytest and coverage into the Gitlab CI environment.
(I have removed the YAML reading parts of this until we decide to move ahead with the YAML format).