Contributing to Chem-I-Calc¶
Types of Contributions¶
Reporting Bugs¶
If you have found a bug in Chem-I-Calc or find a feature that does not work as expected, please create a new issue on the Chem-I-Calc Issue Tracker. To help us identify and address the issue, please include a minimal, reproducible example and a full Python stack trace (i.e., the error message).
Fixing Bugs¶
Whether its associated with an existing issue on the Chem-I-Calc Issue Tracker or a bug you found yourself, we welcome your bugfixes!
Implementing New Features / Improving Performance¶
If there is a feature that you think would make Chem-I-Calc more useful for the astronomical community, please let us know (via the Chem-I-Calc Issue Tracker)! Granted, we are people-power limited and welcome any and all efforts to implement these new features.
Suggestions for (or better yet, implementation of) improvments in code performance are also appreciated.
Writing Documentation¶
Chem-I-Calc’s documentation is far from complete (and likely full of errata). Contributions to documentation here on our readthedocs page, in the Chem-I-Calc docstrings, or in the form of Jupyter Notebook tutorials are all welcome. Even just correcting typos or pointing out places where the documentation is missing or unclear (via the Chem-I-Calc Issue Tracker) is incredibly helpful.
Writing Tests¶
To help us address bugs and implement new features without breaking existing features, we would like to have a suite of tests to run on the Chem-I-Calc package whenever changes are made. At present, these tests are woefully incomplete. All contributions to the test suite are very much appreciated.
Making a Contribution w/ GitHub¶
Here is a brief primer on how to contribute to Chem-I-Calc via a GitHub pull request.
Make a GitHub account if you have not already.
Fork the Chem-I-Calc repository on GitHub.
Install Chem-I-Calc and its dependencies following the from GitHub instructions, except replacing
git clone https://github.com/nathansandford/Chem-I-Calc.git
with
git clone https://github.com/<YOUR-GITHUB-USERNAME>/Chem-I-Calc.git
Create a branch for local development stemming from the develop branch:
Make your contribution! If you are changing or adding to the functionality of the code, please make the relevant changes or additions to the docstrings, the readthedocs documentation, and the test suite.
Run tests in your cloned repository and make sure nothing breaks as a result of your changes.
pip install pytest # if pytest not already installed
pytest -v
Commit your changes and push your branch to GitHub.
git add <CHANGED-FILES>
git commit -m "Description of changes"
git push origin name-of-bugfix-or-feature
Submit a pull request through the Chem-I-Calc repository on GitHub.
If all looks good, your pull request will be accepted. Otherwise, if changes are requested, repeat steps 4-6 until the outstanding issues have been addressed at which point your pull request will be accepted. Thanks for your contribution!
Acknowledgements
This page was adapted from the page outlining contributions to specutils.