[][src]Crate crate_index

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 Definitions

Result

The result type for fallible functions in this library