Skip to main content

uv_resolver/
lib.rs

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