#index #registry #crates #async #cargo-registry #cargo-docs

crate-index

A small library for managing a Cargo crate index

2 unstable releases

0.1.0 Apr 17, 2020
0.0.0 Feb 29, 2020

#20 in #cargo-docs

MIT license

74KB
1.5K SLoC

Released API docs Continuous integration Coverage Status

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?;

License

Dependencies

~17–28MB
~500K SLoC