Struct crates_index::Index
source · [−]pub struct Index { /* private fields */ }
Expand description
Wrapper around managing the crates.io-index git repository
Uses a “bare” git index that fetches files directly from the repo instead of local checkout. Uses Cargo’s cache.
Implementations
Creates an index for the default crates.io registry, using the same disk location as Cargo itself.
This is the recommended way to access Cargo’s index.
Creates a bare index from a provided URL, opening the same location on disk that Cargo uses for that registry index.
It can be used to access custom registries.
Creates a bare index at the provided path with the specified repository URL.
Fetches latest from the remote index repository. Note that using this method will mean no cache entries will be used, if a new commit is fetched from the repository, as their commit version will no longer match.
Reads a crate from the index, it will attempt to use a cached entry if one is available, otherwise it will fallback to reading the crate directly from the git blob containing the crate information.
Use this only if you need to get very few crates. If you’re going
to read majority of crates, prefer the [crates()
] iterator.
Single-threaded iterator over all the crates in the index.
[crates_parallel
] is typically 3 times faster.
Skips crates that can not be parsed (but there shouldn’t be any such crates in the crates-io index).
pub fn crates_parallel(
&self
) -> impl ParallelIterator<Item = Result<Crate, CratesIterError>> + '_
pub fn crates_parallel(
&self
) -> impl ParallelIterator<Item = Result<Crate, CratesIterError>> + '_
Iterate over all crates using rayon
Get the global configuration of the index.