Crate quilt_rs

source ·
Expand description

For all operations instantiate LocalDomain and then call some of its methods.

For example, for installing package you can create path, where everything will be stored. There will be .quilt directory and working directory for each package.

let path = PathBuf::from("/foo/bar");

Instantiate LocalDomain for that path .

let local_domain = quilt_rs::LocalDomain::new(path);

Create ManifestUri. You can do this by creating “quilt+s3” URI and convert it.

let package_uri = S3PackageUri::try_from("quilt+s3://lorem#package=ipsum@hash-is-required")?;
let manifest_uri = ManifestUri::try_from(package_uri)?;

Then call install_package method. You will get InstalledPackage as output.

let installed_package = local_domain.install_package(&manifest_uri).await?;

Modules§

  • This module contains helpers and structs for creating and managing checkums.
  • It is public only for documentation. This module namespace contains higher-order operations with packages. But you don’t need to use it outise of this crate. All these functions are wrapped with LocalDomain methods with some context.
  • Contains helpers and wrappers to work with IO.
  • Module that contains various structs and helpers to work with .quilt/lineage.json.
  • Namespace contains helpers to work with manifest and its content (rows).
  • Incapsulated knowlegde about directory structure of the files in .quilt, packages and working directories.
  • Namespace containing various URIs. Most of them you can convert one to another.

Structs§

  • Similar to LocalDomain because it has access to the same lineage file and remote/storage traits. But it only manages one particular installed package. It can be instantiated from LocalDomain by installing new or listing existing packages.
  • This is the entrypoint for the lib. All the work you can do with packages is done through calling LocalDomain methods.

Enums§

  • The error type for this library