crates-index 3.3.0

Library for retrieving and interacting with the crates.io index
Documentation
[package]
name = "crates-index"
description = "Library for retrieving and interacting with the crates.io index"
version = "3.3.0"
homepage = "https://crates.io/crates/crates-index"
authors = ["Corey Farwell <coreyf@rwell.org>", "Kornel <kornel@geekhood.net>"]
keywords = ["packaging", "index", "dependencies", "crate", "meta"]
categories = ["development-tools", "database"]
repository = "https://github.com/frewsxcv/rust-crates-index"
license = "Apache-2.0"
documentation = "https://docs.rs/crates-index/"
edition = "2021"
rust-version = "1.60"
include = ["src/**/*", "examples/*.rs", "LICENSE", "README.md", "CHANGELOG.md"]

[[example]]
name = "sparse_http_reqwest"
required-features = ["sparse"]

[[example]]
name = "sparse_http_ureq"
required-features = ["sparse"]

[[example]]
name = "list_recent_versions"
required-features = ["sparse"]

[[example]]
name = "update_and_get_latest"
required-features = ["git-https"]

[[example]]
name = "update_and_get_most_recent_version"
required-features = ["git-https"]

[dependencies]
gix = { version = "0.67.0", default-features = false, features = [
    "max-performance-safe",
    "blocking-network-client",
], optional = true }
hex = { version = "0.4.3", features = ["serde"] }
home = "0.5.4"
http = { version = "1", optional = true }
memchr = "2.5.0"
rayon = { version = "1.7.0", optional = true }
rustc-hash = "2.0.0"
semver = "1.0.17"
serde = { version = "1.0.160", features = ["rc"] }
serde_derive = "1.0.160"
serde_json = "1.0.96"
smol_str = { version = "0.3.2", features = ["serde"] }
thiserror = "2.0.0"
toml = "0.8.0"

document-features = { version = "0.2.0", optional = true }

[dev-dependencies]
bytesize = "1.2.0"
cap = { version = "0.1.2", features = ["stats"] }
is_ci = "1.1.1"
tempfile = "3.5.0"
ureq = { version = "2.8.0", features = ["http-crate"] }
reqwest = { version = "0.12", features = ["blocking", "gzip"] }
serial_test = "3.1.1"
parking_lot = "0.12.1"

[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
features = ["sparse", "git", "git-https", "parallel", "document-features"]
rustdoc-args = ["--cfg", "docsrs"]


[features]
default = ["sparse"]
## Activate support for accessing git-powered cargo indices. These have been superseded by the sparse-index, see the `sparse` feature.
git = ["dep:gix"]
## Activate support for git-powered cargo indices, but configure the underlying `gix` crate to use higher-performance sub-crates at the expense of platform compatibility.
##
## If it compiles for you, this should be preferred over `git`.
git-performance = ["git", "gix?/max-performance"]
## Add support for https based URLs in git indices.
##
## Most will want this enabled unless they know to only have to access non-https URLs for their indices.
git-https = ["git", "gix?/blocking-http-transport-curl"]
## Allow some functions to receive `rayon`-powered siblings for higher performance.
parallel = ["dep:rayon"]
## Add support for communicating with sparse indices.
sparse = ["dep:http"]

[badges]
maintenance = { status = "passively-maintained" }