Documentation

Lake.Load.Manifest

Lake Manifest #

The data structure of a Lake manifest and the definitions needed to create, modify, serialize, and deserialize it.

@[inline]

The current version of the manifest format.

Three-part semantic versions were introduced in v1.0.0. Major version increments indicate breaking changes (e.g., new required fields and semantic changes to existing fields). Minor version increments (after 0.x) indicate backwards-compatible extensions (e.g., adding optional fields, removing fields).

Lake supports reading manifests with versions that have - suffixes. When checking for version compatibility, Lake expects a manifest with version x.y.z-foo to have all the features of the official manifest version x.y.z. That is, Lake ignores the - suffix.

VERSION HISTORY

v0.x.0 (versioned by a natural number)

  • 1: First version
  • 2: Adds optional inputRev package entry field
  • 3: Changes entry to inductive (with path/git)
  • 4: Adds required packagesDir manifest field
  • 5: Adds optional inherited package entry field (and removed opts)
  • 6: Adds optional package root name manifest field
  • 7: type refactor, custom to/fromJson

v1.x.x (versioned by a string)

  • "1.0.0": Switches to a semantic versioning scheme
  • "1.1.0": Add optional scope package entry field
Equations

Manifest version 0.6.0 package entry. For backwards compatibility.

Instances For

The package source for an entry in the manifest. Describes exactly how Lake should materialize the package.

Instances For

An entry for a package stored in the manifest.

Instances For
Equations
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
structure Lake.Manifest :

Manifest data structure that is serialized to the file.

Instances For

Add a package entry to the end of a manifest.

Equations
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.

Parse a Manifest from a string.

Equations

Parse a manifest file.

Equations
  • One or more equations did not get rendered due to their size.

Parse a manifest file. Returns none if the file does not exist. Errors if the manifest is ill-formatted or the read files for other reasons.

Equations
  • One or more equations did not get rendered due to their size.
def Lake.Manifest.save (self : Manifest) (manifestFile : System.FilePath) :

Serialize the manifest to a JSON file.

Equations
@[reducible, inline, deprecated Lake.Manifest.save (since := "2024-12-17")]
abbrev Lake.Manifest.saveToFile (self : Manifest) (manifestFile : System.FilePath) :
Equations

Deserialize package entries from a (partial) JSON manifest.

Equations

Deserialize manifest package entries from a JSON string.

Equations
  • One or more equations did not get rendered due to their size.

Deserialize manifest package entries from a JSON file.

Equations
  • One or more equations did not get rendered due to their size.

Deserialize manifest package entries from a JSON file. Returns an empty array if the file does not exist.

Equations
  • One or more equations did not get rendered due to their size.

Serialize manifest package entries to a JSON file.

Equations
  • One or more equations did not get rendered due to their size.