Dev tools

Code style

All DBnomics fetchers use ruff for linting and formatting.

Shared ruff configuration

The package dbnomics-fetcher-template is published on PyPI and ships a shared ruff.toml that factorizes the ruff configuration across all fetchers. It is installed as wheel data.

Fetchers generated from the fetcher template include an inline [tool.ruff] section that mirrors this shared configuration. Each fetcher can extend or override individual settings as needed using ruff’s extend-* keys (e.g. extend-exclude, extend-select, extend-per-file-ignores) without duplicating the whole base configuration:

[tool.ruff.lint]
# Add project-specific rules on top of the shared selection
extend-select = ["RUF022"]

# Add project-specific exceptions on top of the shared ignores
extend-per-file-ignores = { "__init__.py" = ["F403"] }

See also

The complete shared ruff.toml can be inspected in the dbnomics-fetcher-template repository.

AI tools

The DBnomics team maintains a repository that extend the capabilities of AI coding agents with domain-specific knowledge about the DBnomics ecosystem. These skills are compatible with most agents (Copilot, Claude Code, etc.).

Please read the README of the repository for instructions on how to use it.