Skip to main content
Version: 0.77.1



Locators are a part of the Kurtosis package system. To read about the package system in detail, see here.

A locator is a URL-like string used to locate a resource inside a Kurtosis package. For example, this locator:

references a file inside a GitHub repo called package-repo, owned by package-author, that lives at the path /path/to/directory-with-kurtosis.yml/ relative to the root of the repo.

Locators are used for identifying resources that will be used inside a Starlark script - namely by import_module and read_file.


A GitHub URL is not a valid locator, because GitHub adds extra /blob/main paths to the URL that don't reflect the file's path in the repo. For example, a GitHub URL of:

would be the following as a Kurtosis locator (dropping the https:// and /blob/main part):

Only locators pointing to public GitHub repositories are currently allowed.

Any Starlark script that wishes to use external resources must be a part of a Kurtosis package.

All locators are absolute; "relative" locators do not exist. For a Starlark script to reference a local file (i.e. one that lives next to in the filesystem), the Starlark script must use the name of the package that it lives inside.

For example, suppose we had a Kurtosis package like so:


with a kurtosis.yml file like so:


The file would import the from the helpers subdirectory of my-package like so:

helpers = import_module("")

The import statement below will not succeed, this is because cannot import from non-packages. (see how import works for more information)

helpers = import_module("")