Contributing¶
First off, thanks for taking the time to contribute!
There are many ways you can help to improve pymrio.
- Update and improve the documentation and tutorials.
- File bug reports and describe ideas for enhancement.
- Add new functionality to the code.
Independent of your contribution, please use pull requests to inform me about any improvements you did and make sure all tests pass (see below).
Working on the documentation¶
The documentation of pymrio is currently not complete, any contribution to the description of pymrio is of huge value! I also very much appreciate tutorials which show how you can use pymrio in actual research.
The pymrio documentation combines reStructuredText and Jupyter notebooks. The Sphinx Documentation has an excellent introduction to reStructuredText. Review the Sphinx docs to perform more complex changes to the documentation as well.
Changing the code base¶
If you plan any changes to the source code of this repo, please first discuss the change you wish to make via a filing an issue (labelled Enhancement or Bug) before making a change. All code contribution must be provided as pull requests connected to a filed issue. Use numpy style docstrings and follow pep8 style guide. The latter is a requirement to pass the tests before merging a pull request. Since pymrio is already used in research projects, please aim for keeping compatibility with previous versions.
Running and extending the tests¶
Before filing a pull request, make sure your changes pass all tests. Pymrio uses the py.test package with the pytest-pep8 extension for testing. To run the tests install these two packages (and the Pandas dependency) and run
py.test -v -pep8
in the root of your local copy of pymrio.
Versioning¶
The versioning system follows http://semver.org/
Documentation and docstrings¶
Docstring should follow the numby docstring convention. See
Open points¶
pymrio is under acitive deveopment. Open points include:
parser for other available MRIOs
- OPEN:EU (http://www.oneplaneteconomynetwork.org/)
- OECD MRIO
improve test cases
wrapper for time series analysis
- calculate timeseries
- extract timeseries data
reorder sectors/regions
automatic sector aggregation (perhaps as a separate package similar to the country converter)
country parameter file (GDP, GDP PPP, Population, area) for normalization of results (similar to the pop vector currently implemented for EXIOBASE 2)
graphical output
- flow maps of impacts embodied in trade flows
- choropleth map for footprints
structural decomposition analysis
improving the documentation (of course…)