contributing to dgpost
Contributions are welcome! If you have a function or a module that you’d like to
include in the dgpost.transform library, or a design suggestion for dgpost,
please make a pull-request or an issue on GitHub.
Developer documentation
The project follows fairly standard developer practices. Every new feature should be implemented in a separate pull-request, and be associated with a unit test. Every pull- request should be formatted using black prior to merging.
Testing
Tests are located in the tests folder of the repository, and are executed using
pytest for every commit in every PR.
The tests.utils module contains a convenience @pytest.fixture, called
datadir(), which allows you to attach and load additional data
(input files, schemas, etc.) as required by your test.
The tests.utils module also contains the compare_dfs()
function, which should be used to compare pd.DataFrames, as it handles
comparison of tables including data with uncertainties, units, and the provenance
information.
Documentation
Each module within the dgpost.transform package should have a top-level
docstring, including a short description of the functions in the module, and code
author names.
Each function within the modules of the dgpost.transform library should be
documented using a docstring within the function itself. Please document any non-
obvious maths as equations within the docstring.