We want to make contributing to this project as easy and transparent as possible.
F5 has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.
- The project uses python3.11 or higher and uv
- Python code should conform to the
PEP-8 style guidelines
whenever possible, and formatted using
make fmt
. - Where feasible, include unit tests.
- Tests should make use of the fixtures and tools available in the project.
- Code should pass
make lint
with no warnings.
Note
For easier dependency management, mise or asdf will use .tool-versions to automatically ensure you have the correct versions of python and uv
make deps
make lint
make lint
make test
To report a bug, open an issue on GitHub and choose the type 'Bug report'. Please ensure the issue has not already been reported, and that you fill in the template as provided, as this can reduce turnaround time.
To suggest an new feature or other improvement, create an issue on Github and choose the type 'Feature request'. Please fill in the template as provided.
We actively welcome your pull requests.
Before working on a pull request which makes significant change, consider opening an associated issue describing the proposed change. This allows the core development team to discuss the potential pull request with you before you do the work.
- Fork the repo and create your branch from
main
. - If you've added code that should be tested, add tests.
- If you've changed APIs, update the documentation.
- Ensure the test suite passes.
- This can be done with
make test
- This can be done with
- Ensure code lints and is formatted correctly.
- This can be done with
make fmt
andmake lint
make lint.fix
will attempt to resolve linting issues.
- This can be done with
- If you haven't already, complete the Contributor License Agreement ("CLA").
F5 requires all external contributors to agree to the terms of the F5 CLA (available here) before any of their changes can be incorporated into an F5 Open Source repository.
If you have not yet agreed to the F5 CLA terms and submit a PR to this repository, a bot will prompt you to view and agree to the F5 CLA. You will have to agree to the F5 CLA terms through a comment in the PR before any of your changes can be merged. Your agreement signature will be safely stored by F5 and no longer be required in future PRs.
By contributing to F5 AI Gateway Processor SDK, you agree that your contributions will be licensed its Apache Version 2.0 license. Copy and paste this to the top of your new file(s):
"""
Copyright (c) F5, Inc.
This source code is licensed under the Apache License Version 2.0 found in the
LICENSE file in the root directory of this source tree.
"""