Expand description
Step dependencies implementation
Modules§
- compare
- Compare all different types of dependencies
- file
- File dependencies for a pipeline step
- generic
- A generic dependency that’s invalidated when the given command’s output has changed.
- glob
- Glob dependency implementations where the digest of a path collection kept as a dependency
- glob_
items - A path collection where each item is tracked separately.
- line_
items - LineItemsDep is a dependency that contains a range of lines from a file.
- lines
- Lines dependency that tracks the change of a range of lines in a file. Unlike [LineItemsDep], this dependency doesn’t track the change of individual lines, but their collected digest to save space.
- param
- A parameter dependency is a key-value pair that is extracted from a parameter in YAML, TOML or JSON file.
- regex
- A regex dependency is a dependency that is based on a regex search in a text file.
- regex_
items - A dependency that depends on a regex searched in a text file. Unline [RegexDep], this dependency tracks all the lines that matches the regex.
- sqlite_
query - Implements dependencies on sqlite databases. SqliteQueryDep is a dependency that runs a query and checks whether the result of that query has changed. It doesn’t run the query if the metadata of the database file hasn’t changed.
- step
- An explicit step dependency in a pipeline. Unlike other dependencies, this depends directly to other steps and runs after them.
- url
- A step dependency to a URL
Structs§
- FileDep
- A file dependency for a pipeline step. It keeps track of path, metadata and the digest of the file.
- Generic
Dep - A generic dependency that’s invalidated when the given command’s output has changed.
- GlobDep
- Invalidates when contents of any of the files in the directory changes.
- Glob
Items Dep - A path collection where each item is tracked separately.
- Line
Items Dep - A dependency that contains a range of lines from a file. Unlike [LinesDep], this keeps track of the lines themselves.
- Lines
Dep - Dependency that tracks the change of a range of lines in a file. Unlike [LineItemsDep], this dependency doesn’t track the change of individual lines, but their collected digest to save space.
- Param
Dep - Invalidates when key in params file in path changes.
- Regex
Dep - When a step depends to a regex search in a text file
- Regex
Items Dep - When a step depends to a regex searched in a text file
- Sqlite
Query Dep - When a step depends to a regex search in a text file
- StepDep
- Invalidates when the dependency step is invalidated.
- UrlDigest
Dep - Invalidates when header of the URL get request changes.
Enums§
- XvcDependency
- Represents variety of dependencies Xvc supports. This is to unify all dependencies without dynamic dispatch and having compile time errors when we miss something about dependencies.
- XvcParam
Format - Parsable formats of a parameter file
- XvcParam
Value - The value of a parameter
Functions§
- conf_
params_ file - Return default name for the params file from the config
- dependencies_
to_ path - Returns steps that depend to
to_path
For dependencies with a single filepath
, these makes equality checks. ForXvcDependency::Glob ( glob )
, it checks whetherto_path
is in the paths of the dep. Note that for granular dependencies (Param
,Regex
,Lines
), there may be required further checks whether the step actually depends toto_path
, but as we don’t have outputs that are described more granular than a file, it simply assumes ifstep-A
writes tofile-A
, any other step that depends onfile-A
is a dependency tostep-A
. - dependency_
paths - Returns the local paths associated with a dependency. Some dependency types (Pipeline, Step, URL) don’t have local paths.