pipelines/components/aws/sagemaker/CONTRIBUTING.md

1.9 KiB

How to Contribute

Thank you for your interest in contributing to our project. Whether it's a bug report, new feature, correction, or additional documentation, we greatly value feedback and contributions from our community.

Please read through this document before submitting any issues or pull requests to ensure we have all the necessary information to effectively respond to your bug report or contribution.

Coding Style

We follow the black format for all of our Python code, and require that all contributions are formatted using the black formatter before submission. Also, it is encouraged to lint Python docstrings by docformatter.

Automatic Code Formatting

Both black and docformatter provide CLIs for automatically formatting all relevant files. To use these tools, first follow the necessary setup as defined in the Developer Setup section. Then, in the root of the component run the following commands:

black .
docformatter -r . --in-place

Developer Setup

To set up your development environment, we have included all necessary Python pip requirements in the requirements.txt and dev_requirements.txt files. We recommend that you install these in either a conda or pyenv environment. The current version of Python that the project uses is Python 3.7. The PYTHONPATH for this project should be set at the root of the component (components/aws/sagemaker).

Code Generators

We rely on a code generator to build our component.yaml files. After making modifications to any component, navigate to the root of the component (components/aws/sagemaker) and run the generator by using the following command:

./common/generate_components.py --tag {DOCKER TAG} [--image {DOCKER IMAGE URI}]

Testing

For information regarding testing, please see the appropriate README files within the tests directory.