yambs.dependency.handlers.yambs package#

Submodules#

yambs.dependency.handlers.yambs.config module#

A module for working with yambs-project configurations.

yambs.dependency.handlers.yambs.config.audit_config_load(root: Path, include: Path, static: Path, data: Dict[str, Any], config_path: Path | str | None = 'yambs.yaml', config: Native = None) Dict[str, Any][source]#

Load a dependency’s configuration data (from disk if necessary) and return the result.

yambs.dependency.handlers.yambs.config.get_config_path(root: Path, config_path: Path | str | None = 'yambs.yaml') Path[source]#

Obtain the path to a dependency’s configuration file.

yambs.dependency.handlers.yambs.config.handle_config_load(task: DependencyTask, directory: Path) Tuple[Native | None, Path][source]#

Handle initial loading of the dependency’s configuration if necessary.

yambs.dependency.handlers.yambs.github module#

A module with interfaces for working with yambs projects found on GitHub.

yambs.dependency.handlers.yambs.github.audit_downloads(root: Path, data: Dict[str, Any], github: GithubDependency) None[source]#

Ensure release assets are downloaded.

yambs.dependency.handlers.yambs.github.audit_extract(root: Path, data: Dict[str, Any]) Path[source]#

Ensure the release is extracted (and the archive contents are verified).

yambs.dependency.handlers.yambs.github.github_release(dep: Dependency, data: Dict[str, Any]) GithubDependency[source]#

Obtain GitHub release metadata from the project if necessary.

Module contents#

A module implementing a dependency handler for other yambs projects.

yambs.dependency.handlers.yambs.check_nested_dependencies(config: Dict[str, Any], nested: Set[Dependency]) None[source]#

Determine if a dependency’s configuration specifies additional dependencies. Add them to the provided set if so.

yambs.dependency.handlers.yambs.handle_source(task: DependencyTask) Path[source]#

Determine the directory that a given dependency’s sources can be found in.

yambs.dependency.handlers.yambs.handle_static_lib(directory: Path, task: DependencyTask) None[source]#

Handle the third-party dependency’s static library.

yambs.dependency.handlers.yambs.yambs_handler(task: DependencyTask) DependencyState[source]#

Handle a yambs dependency.