2020-06-01 09:37:30 +08:00
Contributing to Tianshou
========================
2020-03-29 10:22:03 +08:00
2020-04-11 19:29:46 +08:00
Install Develop Version
2020-06-02 08:51:14 +08:00
-----------------------
2020-03-29 10:22:03 +08:00
2020-04-11 19:29:46 +08:00
To install Tianshou in an "editable" mode, run
.. code-block :: bash
2020-07-22 14:42:08 +08:00
$ git checkout dev
$ pip install -e ".[dev]"
2020-04-11 19:29:46 +08:00
in the main directory. This installation is removable by
.. code-block :: bash
2020-07-22 14:42:08 +08:00
$ python setup.py develop --uninstall
2020-04-11 19:29:46 +08:00
PEP8 Code Style Check
2020-06-02 08:51:14 +08:00
---------------------
2020-04-11 19:29:46 +08:00
We follow PEP8 python code style. To check, in the main directory, run:
.. code-block :: bash
2020-07-22 14:42:08 +08:00
$ flake8 . --count --show-source --statistics
2020-04-11 19:29:46 +08:00
Test Locally
2020-06-02 08:51:14 +08:00
------------
2020-04-11 19:29:46 +08:00
This command will run automatic tests in the main directory
.. code-block :: bash
2020-07-22 14:42:08 +08:00
$ pytest test --cov tianshou -s --durations 0 -v
2020-04-11 19:29:46 +08:00
Test by GitHub Actions
2020-06-02 08:51:14 +08:00
----------------------
2020-04-11 19:29:46 +08:00
2020-04-13 19:37:27 +08:00
1. Click the `` Actions `` button in your own repo:
2020-04-11 19:29:46 +08:00
.. image :: _static/images/action1.jpg
:align: center
2. Click the green button:
.. image :: _static/images/action2.jpg
:align: center
3. You will see `` Actions Enabled. `` on the top of html page.
4. When you push a new commit to your own repo (e.g. `` git push `` ), it will automatically run the test in this page:
.. image :: _static/images/action3.png
:align: center
Documentation
2020-06-02 08:51:14 +08:00
-------------
2020-04-11 19:29:46 +08:00
Documentations are written under the `` docs/ `` directory as ReStructuredText (`` .rst `` ) files. `` index.rst `` is the main page. A Tutorial on ReStructuredText can be found `here <https://pythonhosted.org/an_example_pypi_project/sphinx.html> `_ .
API References are automatically generated by `Sphinx <http://www.sphinx-doc.org/en/stable/> `_ according to the outlines under `` docs/api/ `` and should be modified when any code changes.
To compile documentation into webpages, run
.. code-block :: bash
2020-07-22 14:42:08 +08:00
$ make html
2020-04-11 19:29:46 +08:00
under the `` docs/ `` directory. The generated webpages are in `` docs/_build `` and can be viewed with browsers.
2020-06-01 08:30:09 +08:00
2020-07-22 14:42:08 +08:00
Chinese documentation is in https://tianshou.readthedocs.io/zh/latest/, and the develop version of documentation is in https://tianshou.readthedocs.io/en/dev/.
Pull Request
------------
2020-06-01 08:30:09 +08:00
2020-07-22 14:42:08 +08:00
All of the commits should merge through the pull request to the `` dev `` branch. The pull request must have 2 approvals before merging.