Skip to content

Files

Latest commit

May 22, 2025
ad3edb2 · May 22, 2025

History

History
99 lines (68 loc) · 3.41 KB
·

CONTRIBUTING.md

File metadata and controls

99 lines (68 loc) · 3.41 KB
·

Contributing to F5 AI Gateway Processor SDK

We want to make contributing to this project as easy and transparent as possible.

Code of Conduct

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.

Our development process

General philosophies

  • 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.

Getting started

Note

For easier dependency management, mise or asdf will use .tool-versions to automatically ensure you have the correct versions of python and uv

Install Python dependencies

make deps

Linting code

make lint

Formatting code

make lint

Executing tests

make test

Report a bug

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.

Suggest a new feature or other improvement

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.

Pull requests

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.

  1. Fork the repo and create your branch from main.
  2. If you've added code that should be tested, add tests.
  3. If you've changed APIs, update the documentation.
  4. Ensure the test suite passes.
    • This can be done with make test
  5. Ensure code lints and is formatted correctly.
    • This can be done with make fmt and make lint
    • make lint.fix will attempt to resolve linting issues.
  6. If you haven't already, complete the Contributor License Agreement ("CLA").

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.

License

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.
"""