Before sending your pull requests, make sure you followed this list.
- Read contributing guidelines.
- Read Code of Conduct.
- Check if my changes are consistent with the guidelines.
- Changes are consistent with the Coding Style.
- Run Tests.
If you have improvements to AshPy, send us your pull requests! For those just getting started, please refer to this pull request template.
AshPy team members will be assigned to review your pull requests. Once the pull requests are approved and pass all the tests, your pull request will be merged into the official codebase.
If you want to contribute, start working through the AshPy codebase, navigate to the Github "issues" tab and start looking through interesting issues.
Before sending your pull request for review, make sure your changes are consistent with the guidelines and follow the AshPy coding style.
- Include unit tests when you contribute new features, as they help to a) prove that your code works correctly, and b) guard against future breaking changes to lower the maintenance cost.
- Bug fixes also generally require unit tests, because the presence of bugs usually indicates insufficient test coverage.
- When you contribute a new feature to AshPy, the maintenance burden is (by default) transferred to the AshPy team. This means that the benefit of the contribution must be compared against the cost of maintaining the feature.
We'd love to accept your patches! Before we can take them, you need to understand that the code you provide will be included with the Apache License.
You can see an example of the licence here.
Please, put the following lincense header in your files.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- Black is our one and only formatter
- We are more lenient with the length of the line
- Changes to AshPy Python code should conform to Google Python Style Guide
To run all the lint against your current codebase:
tox -e black,pylint,flake8
In order to run the tests and the doctests:
tox -e testenv
To generate the documentation either look up the Sphinx docs or simply:
tox -e docs
This Contributing file is adapted from the TensorFlow Contributing available at https://github.com/tensorflow/tensorflow/blob/master/CONTRIBUTING.md