GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • vws-python

This view

  • Original page
  • New address

GeezerVison is showing vws-python.github.io — Contributing to vws-python - vws-python

Contributing to vws-python¶

Contributions to this repository must pass tests and linting.

CI is the canonical source of truth.

Install contribution dependencies¶

Install Python dependencies in a virtual environment.

$ pip install --editable . --group dev

Spell checking requires enchant. This can be installed on macOS, for example, with Homebrew:

$ brew install enchant

and on Ubuntu with apt:

$ apt-get install -y enchant

Install prek hooks:

$ prek install

Linting¶

Run lint tools either by committing, or with:

$ prek run --all-files --hook-stage pre-commit --verbose
$ prek run --all-files --hook-stage pre-push --verbose
$ prek run --all-files --hook-stage manual --verbose

Running tests¶

Run pytest:

$ pytest

Documentation¶

Documentation is built on Read the Docs.

Run the following commands to build and view documentation locally:

$ uv run --group=dev sphinx-build -M html docs/source docs/build -W
$ python -c 'import os, webbrowser; webbrowser.open("file://" + os.path.abspath("docs/build/html/index.html"))'

Continuous integration¶

Tests are run on GitHub Actions. The configuration for this is in .github/workflows/.

Performing a release¶

See Release Process.

Release notes¶

Write user-facing changes as Markdown in newsfragments/<issue>.change.md. Towncrier writes one Markdown file per version, used directly for GitHub release notes. Invalid fragment names fail release assembly.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.