Crate crate_index

Source
Expand description

Crate-Index is a library for managing and manipulating a Cargo crate registry.

see the cargo docs for details

§Basic Usage

use crate_index::{Index, Url, Metadata, Version};

// Create a new index, backed by the filesystem and a git repository
let root = "/index";
let download = "https://my-crates-server.com/api/v1/crates/{crate}/{version}/download";

let mut index = Index::initialise(root, download)
    .build()
    .await?;

// Create a new crate 'Metadata' object
let name = "foo";
let version = Version::parse("0.1.0").unwrap();
let check_sum = "d867001db0e2b6e0496f9fac96930e2d42233ecd3ca0413e0753d4c7695d289c";

let metadata = Metadata::new(name, version, check_sum);

// Insert the Metadata into the index
index.insert(metadata).await?;

Modules§

index
This module contains the constituent parts of the Index.

Structs§

Index
A representation of a crates registry, backed by both a directory and a git repository on the filesystem.
Metadata
Rust crate metadata, as stored in the crate index.
Url
A parsed URL record.
Version
Represents a version number conforming to the semantic versioning scheme.

Enums§

Error
This Error represents anything that can go wrong with this library

Type Aliases§

Result
The result type for fallible functions in this library