runway.sources.source module

Abstract parent class for a ‘Source’ type object.

Allows us to specify specific remote sourced resources for out application (Git, S3, ect.)

class runway.sources.source.Source[source]

Bases: object

Abstract parent class for a ‘Source’ type object.

The Source parent class allows us to specify remote resources for our application via services such as Git or S3. A cache directory, as part of object’s configuration, is automatically created by default: ./.runway/cache. This folder can be overridden by specifying the cache_dir property in the configuration passed.

Every Source type object is expected to have a fetch method which will return the folder path at where the module requested resides.

__init__(*, cache_dir: Path | str, **_: Any) None[source]

Source.

Parameters:
  • cache_dir – The directory where the given remote resource should be cached.

  • **kwargs – Arbitrary keyword arguments.

fetch() Path[source]

Retrieve remote source. To be implemented in each subclass.

static sanitize_directory_path(uri: str) str[source]

Sanitize a Source directory path string.

Parameters:

uri – The uniform resource identifier when targeting a remote resource.