We want to make contributing to this project as easy and transparent as
We want to make contributing to this project as easy and transparent as
possible.
possible.
## Our Development Process
## Our Development Process
Minor changes and improvements will be released on an ongoing basis. Larger
Minor changes and improvements will be released on an ongoing basis. Larger
changes (e.g., changesets implementing a new paper) will be released on a
changes (e.g., changesets implementing a new paper) will be released on a
more periodic basis.
more periodic basis.
## Pull Requests
## Pull Requests
We actively welcome your pull requests.
We actively welcome your pull requests.
1. Fork the repo and create your branch from `master`.
1. Fork the repo and create your branch from `master`.
...
@@ -18,12 +21,14 @@ We actively welcome your pull requests.
...
@@ -18,12 +21,14 @@ We actively welcome your pull requests.
6. If you haven't already, complete the Contributor License Agreement ("CLA").
6. If you haven't already, complete the Contributor License Agreement ("CLA").
## Contributor License Agreement ("CLA")
## Contributor License Agreement ("CLA")
In order to accept your pull request, we need you to submit a CLA. You only need
In order to accept your pull request, we need you to submit a CLA. You only need
to do this once to work on any of Facebook's open source projects.
to do this once to work on any of Facebook's open source projects.
Complete your CLA here: <https://code.facebook.com/cla>
Complete your CLA here: <https://code.facebook.com/cla>
## Issues
## Issues
We use GitHub issues to track public bugs. Please ensure your description is
We use GitHub issues to track public bugs. Please ensure your description is
clear and has sufficient instructions to be able to reproduce the issue.
clear and has sufficient instructions to be able to reproduce the issue.
...
@@ -41,17 +46,21 @@ outlined on that page and do not file a public issue.
...
@@ -41,17 +46,21 @@ outlined on that page and do not file a public issue.
```
```
## Coding Style
## Coding Style
* In your editor, install the [editorconfig](https://editorconfig.org/) extension
* In your editor, install the [editorconfig](https://editorconfig.org/) extension
which should ensure that you are following the same standards as us.
which should ensure that you are following the same standards as us.
*Ideally, run black and isort before opening up your PR.
*Please run black and isort before opening up your PR.
```
```
black .
black .
isort
isort .
flake8
flake8
```
```
* Read the [editorconfig](.editorconfig) file to understand the exact coding style preferences.
* Please read the [editorconfig](.editorconfig) file to understand the exact coding style preferences.
* Place Python code related to models in fairscale/nn. Place Python code related to optimizers in fairscale/optim. Place C++ extensions in fairscale/clib.
* Please place Python code related to models in fairscale/nn. Place Python code related to optimizers
in fairscale/optim. Place C++ extensions in fairscale/clib.
* Please put `__all__:List[str] = []` in new `__init__.py` files for consistent importing behavior
and less development overhead in maintaining an importing list.