duck.cli.commands.sync.registry

Maps generic dependency names (e.g. “gdal”) to the package name each system package manager actually expects. Keeps duck.toml portable across machines since project authors only write the generic name.

Module Contents

Functions

resolve_package_name

Finds the correct package name for a given backend.

Data

SYSTEM_PACKAGE_REGISTRY

API

duck.cli.commands.sync.registry.SYSTEM_PACKAGE_REGISTRY: dict[str, dict[str, str]]

None

duck.cli.commands.sync.registry.resolve_package_name(generic_name: str, backend: str, overrides: dict[str, dict[str, str]]) str[source]

Finds the correct package name for a given backend.

Parameters:
  • generic_name – The name written in duck.toml, e.g. “gdal”.

  • backend – The active backend identifier, e.g. “apt”.

  • overrides – Project-supplied overrides from duck.toml’s [overrides] section, checked before the built-in registry.

Returns:

The backend-specific package name. Falls back to generic_name unchanged when no mapping is known, since many packages share the same name across managers (e.g. “ffmpeg”).