Skip to content

FAQ

Why use pdm ⧉ instead of uv ⧉?

pdm offers more flexibility, including:

  • PEP 582 support – Simplifies dependency management without virtual environments.
  • Custom commands – Enables unified workflows without extra tools (more details ⧉).

Note

uv is under evaluation and may be adopted in the future.

Why use renovate ⧉ instead of dependabot ⧉?

renovate provides better support for:

Note

dependabot may be reconsidered once key issues are resolved and uv is used.

Why is basedpyright ⧉ used?

basedpyright is a fork of pyright ⧉` which:

Why use the rejected pep582 ⧉ standard?

This approach allows:

  • Local dependencies – Everything stays in the project directory.

  • Reusable installs – Simplifies scripting (e.g., running tests without nox or tox).

Note

This may change as tools such as uv evolve.

Why is CHANGELOG.md empty?

It is not! It links to GitHub releases, which serve as the actual changelog.

Options considered:

  • Manual updates – Prone to being outdated.
  • Bot updates – Conflicts with branch protection (details ⧉).
  • GitHub releases link – Automated and secure.

Tip

You can manually copy release notes into CHANGELOG.md after a release.

Why are there so many caches in GitHub Actions?

Cache per each dev-dependency, standard dependencies (including optional) and even their combinations.

This optimizes download times, which speeds up the workflows.

Tip

Check .github/workflows/cache.yml for cache settings.

Feature does not work on Windows

Windows features are best-effort and may not be fully supported.

In terms of pre-commit hooks, more involved commands (e.g. sbom-* scripts or fix-legal) use Linux/MacOS specific features and may not work.

Upvote this issue ⧉ when it comes to fix-legal script.