Repository
Repository ManagerLink
sierra.package_manager.repository
Link
Repository management for Sierra Package Manager.
Handles adding, removing, and updating GitHub repository sources.
ClassesLink
RepositorySource
dataclass
Link
RepositorySource(
name: str,
url: str,
branch: str = "main",
enabled: bool = True,
priority: int = 10,
)
RepositoryManager
Link
RepositoryManager(
config_dir: Path, logger: UniversalLogger | None = None
)
Manages GitHub repository sources for package discovery.
Handles:
- Adding/removing repository sources
- Updating package registries
- Caching registry data
- Validating repository structure
Initialize repository manager.
| PARAMETER | DESCRIPTION |
|---|---|
config_dir
|
Directory for storing configuration and cache
TYPE:
|
logger
|
Logger instance for tracking operations
TYPE:
|
AttributesLink
FunctionsLink
add_source
Linkadd_source(
url: str,
name: str | None = None,
branch: str = "main",
priority: int = 10,
) -> RepositorySource
Add a new repository source.
| PARAMETER | DESCRIPTION |
|---|---|
url
|
GitHub repository URL
TYPE:
|
name
|
Custom name for the source
TYPE:
|
branch
|
Git branch to use
TYPE:
|
priority
|
Priority for package resolution (lower = higher priority)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
RepositorySource
|
The created source |
| RAISES | DESCRIPTION |
|---|---|
ValueError
|
If source already exists or URL is invalid |
remove_source
Link list_sources
Linklist_sources() -> list[RepositorySource]
Get all configured sources.
| RETURNS | DESCRIPTION |
|---|---|
list[RepositorySource]
|
List of repository sources sorted by priority |
get_source
Linkget_source(name: str) -> RepositorySource | None
Get a specific source by name.
| PARAMETER | DESCRIPTION |
|---|---|
name
|
Source name
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
RepositorySource | None
|
The source if found, None otherwise |
update_registry
Link