Skip to main content

uv_resolver/
lib.rs

1pub use dependency_mode::DependencyMode;
2pub use error::{ErrorTree, NoSolutionError, NoSolutionHeader, ResolveError, SentinelRange};
3pub use exclude_newer::{
4    ExcludeNewer, ExcludeNewerChange, ExcludeNewerOverrideChange, ExcludeNewerPackage,
5    ExcludeNewerPackageChange, ExcludeNewerPackageEntry, ExcludeNewerValueChange,
6    ExcludeNewerValueWithSpanRef, serialize_exclude_newer_package_with_spans,
7};
8pub use exclusions::Exclusions;
9pub use flat_index::{FlatDistributions, FlatIndex};
10pub use fork_strategy::ForkStrategy;
11pub use lock::{
12    Installable, Lock, LockError, LockVersion, Metadata, Package, PackageMap, PylockToml,
13    PylockTomlError, PylockTomlErrorKind, RequirementsTxtExport, ResolverManifest, SatisfiesResult,
14    TreeDisplay, VERSION, cyclonedx_json,
15};
16pub use manifest::Manifest;
17pub use options::{Flexibility, Options, OptionsBuilder};
18pub use preferences::{Preference, PreferenceError, Preferences};
19pub use prerelease::PrereleaseMode;
20pub use pubgrub::PubGrubHint;
21pub use python_requirement::PythonRequirement;
22pub use resolution::{
23    AnnotationStyle, ConflictingDistributionError, DisplayResolutionGraph, ResolverOutput,
24};
25pub use resolution_mode::ResolutionMode;
26pub use resolver::{
27    DefaultResolverProvider, InMemoryIndex, MetadataResponse, PackageVersionsResult,
28    Reporter as ResolverReporter, Resolver, ResolverEnvironment, ResolverProvider,
29    VersionsResponse, WheelMetadataResult,
30};
31pub use universal_marker::{ConflictMarker, UniversalMarker};
32pub use upgrade::UpgradePackages;
33pub use uv_distribution_types::{ExcludeNewerOverride, ExcludeNewerSpan, ExcludeNewerValue};
34pub use version_map::VersionMap;
35pub use yanks::AllowedYanks;
36
37/// A custom `HashSet` using `hashbrown`.
38///
39/// We use `hashbrown` instead of `std` to get access to its `Equivalent`
40/// trait. This lets use store things like `ConflictItem`, but refer to it via
41/// `ConflictItemRef`. i.e., We can avoid allocs on lookups.
42type FxHashbrownSet<T> = hashbrown::HashSet<T, rustc_hash::FxBuildHasher>;
43
44type FxHashbrownMap<K, V> = hashbrown::HashMap<K, V, rustc_hash::FxBuildHasher>;
45
46mod candidate_selector;
47mod dependency_mode;
48mod dependency_provider;
49mod error;
50mod exclude_newer;
51mod exclusions;
52mod flat_index;
53mod fork_indexes;
54mod fork_strategy;
55mod fork_urls;
56mod graph_ops;
57mod lock;
58mod manifest;
59mod marker;
60mod options;
61mod pins;
62mod preferences;
63mod prerelease;
64pub mod pubgrub;
65mod python_requirement;
66mod redirect;
67mod resolution;
68mod resolution_mode;
69mod resolver;
70mod universal_marker;
71mod upgrade;
72mod version_map;
73mod yanks;