Diff of /docs/contributing.md [000000] .. [548210]

Switch to side-by-side view

--- a
+++ b/docs/contributing.md
@@ -0,0 +1,140 @@
+# Contributing
+
+Contributions are welcome, and they are greatly appreciated! Every little bit
+helps, and credit will always be given.
+
+You can contribute in many ways:
+
+## Types of Contributions
+- Web development with the Dash for the OpenOmics dashboard webserver.
+- Documentation standards for the OpenOmics Python API.
+- Organize the library of genomics, functional ontologies, interactions, and sequence databases for variety of
+  biological studies.
+- Implement general purpose utilities for importing various fasta, gtf and sequencing files.
+
+## Report Bugs
+
+Report bugs at [openomics/issues](https://github.com/JonnyTran/openomics/issues).
+
+If you are reporting a bug, please include:
+
+- Your operating system name and version.
+- Any details about your local setup that might be helpful in troubleshooting.
+- Detailed steps to reproduce the bug.
+
+## Fix Bugs
+
+Look through the GitHub issues for bugs. Anything tagged with "bug" and "help
+wanted" is open to whoever wants to implement it.
+
+## Implement Features
+
+Look through the GitHub issues for features. Anything tagged with "enhancement"
+and "help wanted" is open to whoever wants to implement it.
+
+## Write Documentation
+
+OpenOmics could always use more documentation, whether as part of the
+[official OpenOmics docs](https://openomics.readthedocs.io/), in docstrings within the API, or even on the web in blog posts,
+articles, and such.
+
+If you'd like to help write RTD documentations, note:
+- Documentation pages are written in markdown using [myst-parser](https://myst-parser.readthedocs.io/en/latest/index.html)
+- The Sphinx theme used is [furo](https://pradyunsg.me/furo/)
+- The autodoc package used is [sphinx-automodapi](https://sphinx-automodapi.readthedocs.io/en/latest/)
+
+## Submit Feedback
+
+The best way to send feedback is to file an issue at [openomics/issues](https://github.com/JonnyTran/openomics/issues).
+
+If you are proposing a feature:
+
+- Explain in detail how it would work.
+- Keep the scope as narrow as possible, to make it easier to implement.
+- Remember that this is a volunteer-driven project, and that contributions
+  are welcome :)
+
+## Get Started!
+
+Ready to contribute? Here's how to set up `openomics` for local development.
+
+1. Fork the `openomics` repo on GitHub.
+2. Clone your fork locally and work on the develop branch:
+```
+$ git clone git@github.com:your_name_here/openomics.git
+$ git checkout develop
+```
+
+3. Install your local copy into a virtualenv. Assuming you have virtualenvwrapper installed, this is how you set up your fork for local development:
+```
+$ mkvirtualenv openomics
+$ cd openomics/
+$ python setup.py develop
+```
+
+4. Create a branch for local development:
+```
+$ git checkout -b name-of-your-bugfix-or-feature
+```
+   Now you can make your changes locally.
+
+5. When you're done making changes, check that your changes pass flake8 and the
+   tests, including testing other Python versions with tox:
+```
+$ flake8 openomics tests
+$ python setup.py test or py.test $ tox
+```
+
+   To get flake8 and tox, just pip install them into your virtualenv.
+
+6. Commit your changes and push your branch to GitHub:
+```
+$ git add .
+$ git commit -m "Your detailed description of your changes."
+$ git push develop name-of-your-bugfix-or-feature
+```
+7. Submit a pull request through the GitHub website to the develop branch. Once major features are tested, we can create
+   another pull-request to the **master** branch.
+
+## Pull Request Guidelines
+
+Before you submit a pull request, check that it meets these guidelines:
+
+1. The pull request should include tests. Run tests by with `pytest ./` and make sure tests are 100% passing.
+2. If the pull request adds functionality, the docs should be updated. Put your new functionality into a function with a
+   docstring, and add the feature to the list
+   in [docs/history.md](https://github.com/JonnyTran/OpenOmics/blob/master/docs/history.md).
+3. The pull request should work for Python 3.6 or higher, and for PyPi. Check
+   [Github Actions Tests](https://github.com/JonnyTran/OpenOmics/actions/workflows/python-package.yml)
+   and make sure that the tests pass for all supported Python versions and operating systems.
+
+## Tips
+
+To run the automated tests locally, run this at the root directory:
+
+    pytest ./
+
+```{hint}
+To run a subset of tests:
+
+    $ py.test tests.test_openomics
+
+```
+
+To run tests targeting various operating systems and Python versions, make a pull-request to the **master** branch which
+will run as [Github Actions Tests](https://github.com/JonnyTran/OpenOmics/actions/workflows/python-package.yml).
+
+## Deploying
+
+A reminder for the maintainers on how to deploy. Make sure all your changes are committed (including an entry in
+HISTORY.rst). Then run:
+
+    $ bumpversion patch # possible: major / minor / patch
+    $ git push --tags
+
+Github Actions will then deploy to PyPI if tests pass.
+
+## Code of Conduct
+Please note that the OpenOmics project is released with a Contributor Code of Conduct. By contributing to this project you agree to abide by its terms.
+
+[openomics/issues]: https://github.com/JonnyTran/openomics/issues