fermilink.packages.curated_channels module

class fermilink.packages.curated_channels.ChannelPackage[source]

Bases: object

ChannelPackage(package_id: ‘str’, title: ‘str’, zip_url: ‘str’, description: ‘str | None’ = None, upstream_repo_url: ‘str | None’ = None, homepage_url: ‘str | None’ = None, tags: ‘tuple[str, …]’ = (), default_version: ‘str’ = ‘branch-head’, versions: “tuple[‘ChannelPackageVersion’, …]” = ())

__init__(package_id, title, zip_url, description=None, upstream_repo_url=None, homepage_url=None, tags=(), default_version='branch-head', versions=())
Parameters:
  • package_id (str)

  • title (str)

  • zip_url (str)

  • description (str | None)

  • upstream_repo_url (str | None)

  • homepage_url (str | None)

  • tags (tuple[str, ...])

  • default_version (str)

  • versions (tuple[ChannelPackageVersion, ...])

Return type:

None

default_version: str = 'branch-head'
description: str | None = None
homepage_url: str | None = None
package_id: str
tags: tuple[str, ...] = ()
title: str
upstream_repo_url: str | None = None
versions: tuple[ChannelPackageVersion, ...] = ()
zip_url: str
class fermilink.packages.curated_channels.ChannelPackageVersion[source]

Bases: object

ChannelPackageVersion(version_id: ‘str’, source_archive_url: ‘str’, source_ref_type: ‘str | None’ = None, source_ref_value: ‘str | None’ = None, verified: ‘bool’ = False, notes: ‘str | None’ = None)

__init__(version_id, source_archive_url, source_ref_type=None, source_ref_value=None, verified=False, notes=None)
Parameters:
  • version_id (str)

  • source_archive_url (str)

  • source_ref_type (str | None)

  • source_ref_value (str | None)

  • verified (bool)

  • notes (str | None)

Return type:

None

notes: str | None = None
source_archive_url: str
source_ref_type: str | None = None
source_ref_value: str | None = None
verified: bool = False
version_id: str
fermilink.packages.curated_channels.list_curated_packages(*, channel=None)[source]

Load curated package definitions for a channel.

Parameters:

channel (str | None) – Curated channel identifier used to resolve package definitions.

Returns:

Curated packages keyed by normalized package id.

Return type:

dict[str, ChannelPackage]

fermilink.packages.curated_channels.normalize_channel_id(channel)[source]

Normalize and validate a curated channel identifier.

Parameters:

channel (str | None) – Curated channel identifier used to resolve package definitions.

Returns:

Normalized curated channel id.

Return type:

str

fermilink.packages.curated_channels.resolve_curated_package(package_id, *, channel=None)[source]

Resolve one curated package definition by package id.

Parameters:
  • package_id (str) – Normalized package identifier.

  • channel (str | None) – Curated channel identifier used to resolve package definitions.

Returns:

Curated package definition for package_id.

Return type:

ChannelPackage

fermilink.packages.curated_channels.select_package_version(package, *, version_id=None)[source]

Select a curated package version, optionally pinned by version id.

Parameters:
  • package (ChannelPackage) – Curated package definition containing available versions.

  • version_id (str | None) – Optional curated package version id to select.

Returns:

Selected curated package version metadata.

Return type:

ChannelPackageVersion