arx.package_index

arx.package_index

Source: packages/arx/src/arx/package_index.py

title: Discover installed Arx source packages.
summary: >-
  Build a scoped index of Arx packages installed as Python distributions.

Functions

normalize_distribution_name(name: str) -> str

title: Normalize a Python distribution name for comparisons.
parameters:
  name:
    type: str
returns:
  type: str

extract_dependency_name(dependency: str) -> str | None

title: Extract the distribution name from one dependency string.
parameters:
  dependency:
    type: str
returns:
  type: str | None

active_requirement_name(requirement_text: str) -> str | None

title: Return the distribution name for an active metadata requirement.
parameters:
  requirement_text:
    type: str
returns:
  type: str | None

discover_installed_arx_packages(start: Path | None=None) -> InstalledArxPackageIndex

title: Discover installed Arx packages from project dependencies.
parameters:
  start:
    type: Path | None
returns:
  type: InstalledArxPackageIndex

discover_installed_arx_packages_from_dependencies(dependencies: Iterable[str]) -> InstalledArxPackageIndex

title: Discover installed Arx packages from dependency strings.
parameters:
  dependencies:
    type: Iterable[str]
returns:
  type: InstalledArxPackageIndex

Classes

InstalledArxPackage

title: One installed Arx source package.
attributes:
  module_name:
    type: str
  source_root:
    type: Path
  distribution_name:
    type: str

InstalledArxPackageIndex

title: Indexed installed Arx source packages.
attributes:
  packages:
    type: dict[str, InstalledArxPackage]
  missing_distributions:
    type: frozenset[str]
  conflicts:
    type: dict[str, tuple[InstalledArxPackage, Ellipsis]]

Methods

missing_distribution_for_module(self, module_name: str) -> str | None
title: Return a missing distribution matching one import head.
parameters:
  module_name:
    type: str
returns:
  type: str | None