- Clone the repository using
git clone - Install pre-commit via
pip install pre-commit - Run
pre-commit installto set up pre-commit hooks - Make changes to the code, and commit your changes to a separate branch
- Create a fork of the repository on GitHub
- Push your branch to your fork, and open a pull request
The project includes end-to-end tests using Playwright to test the full application workflow.
-
Install development dependencies including Playwright:
poetry install --with dev
-
Install Playwright browsers:
poetry run playwright install chromium
Run all E2E tests:
poetry run pytest tests/e2e/Run with verbose output:
poetry run pytest tests/e2e/ -vRun in headed mode (visible browser):
poetry run pytest tests/e2e/ --headedtests/e2e/conftest.py- Test fixtures for app server and browser configurationtests/e2e/page_objects/- Page object models for UI interactionstests/e2e/test_*.py- Test files
E2E tests run automatically on pull requests and pushes to main via GitHub Actions (.github/workflows/e2e-tests.yml). Tests run in headless mode on Ubuntu with Chromium.
- When first creating a new project, it is helpful to run
pre-commit run --all-filesto ensure all files pass the pre-commit checks. - A quick way to fix
ruffissues is by installing ruff (pip install ".[dev]") and running theruff check --fixcommand at the root of your repository. - A quick way to fix
codespellissues is by installing codespell (pip install codespell) and running thecodespell -wcommand at the root of your directory. - The
.codespellrc file <https://github.com/codespell-project/codespell#using-a-config-file>_ can be used fix any other codespell issues, such as ignoring certain files, directories, words, or regular expressions.