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: Union[pathlib.Path, str], **_: Any)[source]



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

fetch() pathlib.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.


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