Skip to content

Latest commit

 

History

History
82 lines (57 loc) · 3.75 KB

CONTRIBUTING.md

File metadata and controls

82 lines (57 loc) · 3.75 KB

Contributing to DE-Sim

We enthusiastically welcome contributions to DE-Sim!

Coordinating contributions

Before getting started, please contact the lead developers at info@karrlab.org and Arthur Goldberg to coordinate your planned contributions with other ongoing efforts. Please also use GitHub issues to announce your plans to the community so that other developers can provide input into your plans and coordinate their own work. As the development community grows, we will institute additional infrastructure as needed such as a leadership committee and regular online meetings.

Repository organization

DE-Sim follows standard Python conventions:

  • README.md: Overview of DE-Sim
  • de_sim/: Source code
  • docs/: Documentation
  • tests/: Unit tests
  • pytest.ini: pytest configuration
  • setup.py: pip installation script
  • setup.cfg: Configuration for the pip installation
  • requirements.txt: Dependencies
  • requirements.optional.txt: Optional dependencies
  • manifest.in: List of files to include in package
  • codemeta.json: Package metadata
  • LICENSE: License
  • CONTRIBUTING.md: Guide to contributing to DE-Sim (this document)
  • CODE_OF_CONDUCT.md: Code of conduct for developers

Coding convention

DE-Sim follows standard Python style conventions:

  • Class names: UpperCamelCase
  • Function names: lower_snake_case
  • Variable names: lower_snake_case

Testing and continuous integration

We strive to have complete test coverage of DE-Sim. As such, all contributions to DE-Sim should be tested.

The tests depend on additional Python packages. These can be installed by running one of the following commands:

pip install /path/to/de_sim[tests]
pip install -r /path/to/de_sim/tests/requirements.txt

The tests are located in the tests directory. The tests can be executed by running the following commands. Note that the current directory must be on the PYTHONPATH environment variable.

git clone https://github.com/KarrLab/de_sim.git
cd de_sim
pip install pytest
python -m pytest tests

The coverage of the tests can be evaluated by running the following commands and then opening /path/to/de_sim/htmlcov/index.html with your browser.

pip install pytest pytest-cov coverage
python -m pytest tests --cov de_sim
coverage html

Upon each push to GitHub, GitHub will trigger CircleCI to execute all of the tests. All test results are available at CircleCI. And all coverage reports are available at Coveralls.

Documentation convention

DE-Sim is documented using reStructuredText and the napoleon Sphinx plugin. The documentation can be compiled with Sphinx by running sphinx-build docs docs/_build/html. The compiled documentation is available at https://docs.karrlab.org/de_sim/.

Submitting changes

Please use GitHub pull requests to submit changes. Each request should include a brief description of the new and/or modified features.

Releasing and deploying new versions

Contact info@karrlab.org to request release and deployment of new changes.

Reporting issues

Please use GitHub issues to report any issues to the development community.

Getting help

Please use GitHub issues to post questions or contact the lead developers at info@karrlab.org and Arthur Goldberg.