Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
AI4Finance-Foundation
GitHub Repository: AI4Finance-Foundation/FinRL
Path: blob/master/docs/source/developer_guide/contributing.rst
728 views
:github_url: https://github.com/AI4Finance-Foundation/FinRL

============================
Contributing Guidelines
============================



This project aims to bring a reinforcement learning environment to the trading community.
There are always competing priorities among the community, and we want to make sure that we are able to achieve together a project that is reliable, sustainable, and maintainable.

Guiding Principles
=======

* We should have reliable codes in this project
    * reliable code with tests
    * reliable code that works
    * reliable code runs without consuming excessive resources
* We should help each other to achieve SOTA results together
* We should write clear codes
    * Code should not be redundant
    * Code should have documentation inline (standard pep format)
    * Code should be organized into classes and functions
* We should leverage outside tools as it makes sense
* We work together, and are kind, patient, and clear in our communication. Jerks are not welcome.

## If you see something, say something!
* Filing an [issue](https://guides.github.com/features/issues/) is a great way to help improve the project


Accepting PRs
=======

* You found a bug and a way to fix it
* You have contributed to an issue that was prioritized by the coordinators of this project
* You have new functionality that you're adding that you've written issues for and has documentation + Tests

PR Guidelines
=======

* Please tag @bruceyang, @spencerromo, or @xiaoyang in every PR. (P.S. we're looking for more collaborators with software experience!)
* Please reference or write and reference an [issue](https://guides.github.com/features/issues/)
* Please have clear commit messages
* Please write detailed documentation and tests for every added piece of functionality
* Please try to not break existing functionality, or if you need to, please plan to justify this necessity and coordinate with the collaborators
* Please be patient and respectful with feedback
* Please use pre-commit hooks


Others
=======

-Using pre-commit
```
pip install pre-commit
pre-commit install
```

-Running Tests
```
-Locally
python3 -m unittest discover

-Docker
./docker/bin/build_container.sh
./docker/bin/test.sh
```