uv_resolver/
lib.rs

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