This is an automated email from the ASF dual-hosted git repository. asorokoumov pushed a commit to branch 0.7.0-fixups in repository https://gitbox.apache.org/repos/asf/otava-website.git
commit aca66734de0667a818abb79e39cc845750decf7c Author: Alex Sorokoumov <[email protected]> AuthorDate: Sun Nov 30 21:22:23 2025 -0800 Update Contribution doc after switching to uv --- docs/contribute.md | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/docs/contribute.md b/docs/contribute.md index efca7d2..c1d71ec 100644 --- a/docs/contribute.md +++ b/docs/contribute.md @@ -1,33 +1,31 @@ # Setting up for development -* Ensure that `python3` points to a version of python >= 3.8 (`python3 --version` will tell you). If it does not, use [pyenv](https://github.com/pyenv/pyenv) to both install a recent python version and make it your current python. +* The project uses [uv](https://docs.astral.sh/uv/) for dependency management and [tox](https://tox.wiki) for testing environments. -* There are two wrappers (`poetryw` and `toxw`) that install and run the correct versions of [poetry](https://python-poetry.org) and [tox](https://tox.wiki) for you. - -* Run poetry to install dependencies: +* Install dependencies using uv: ``` -./poetryw install +uv sync --all-extras --dev ``` -* Run the development version of otava using poetry: +* Run the development version of otava using uv: ``` -./poetryw run otava ... +uv run otava ... ``` -See the [poetry docs](https://python-poetry.org/docs) for more. +See the [uv docs](https://docs.astral.sh/uv/) for more. # Running tests ``` -./poetryw run pytest +uv run pytest ``` ...or using [tox](https://tox.readthedocs.io/): ``` -./toxw +uv run tox ``` # Linting and formatting @@ -35,12 +33,26 @@ See the [poetry docs](https://python-poetry.org/docs) for more. Code-style is enforced using [ruff](https://docs.astral.sh/ruff/) and [flake8](https://flake8.pycqa.org/); import optimisation is handled by [isort](https://pycqa.github.io/isort/) and [autoflake](https://pypi.org/project/autoflake/). Linting is automatically applied when tox runs tests; if linting fails, you can fix trivial problems with: ``` -./toxw -e format +uv run tox -e format ``` +# Changing the LICENSE header + +To change the license header: +1. Add the `--remove-header` arg to `.pre-commit-config.yaml` +2. Run formatting (this will remove the license header entirely) +``` +uv run tox -e format +``` +3. Remove the `--remove-header` arg from `.pre-commit-config.yaml` +4. Update `ci-tools/license-templates/LICENSE.txt` +5. Run formatting +``` +uv run tox -e format +``` # Build a docker image ``` -./toxw -e docker-build +uv run tox -e docker-build ```
