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    PylockTomlErrorKind, RequirementsTxtExport, ResolverManifest, SatisfiesResult, TreeDisplay,
14    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 python_requirement::PythonRequirement;
21pub use resolution::{
22    AnnotationStyle, ConflictingDistributionError, DisplayResolutionGraph, ResolverOutput,
23};
24pub use resolution_mode::ResolutionMode;
25pub use resolver::{
26    BuildId, DefaultResolverProvider, DerivationChainBuilder, InMemoryIndex, MetadataResponse,
27    PackageVersionsResult, Reporter as ResolverReporter, Resolver, ResolverEnvironment,
28    ResolverProvider, VersionsResponse, WheelMetadataResult,
29};
30pub use universal_marker::{ConflictMarker, UniversalMarker};
31pub use upgrade::UpgradePackages;
32pub use uv_distribution_types::{ExcludeNewerOverride, ExcludeNewerSpan, ExcludeNewerValue};
33pub use version_map::VersionMap;
34pub use yanks::AllowedYanks;
35
36/// A custom `HashSet` using `hashbrown`.
37///
38/// We use `hashbrown` instead of `std` to get access to its `Equivalent`
39/// trait. This lets use store things like `ConflictItem`, but refer to it via
40/// `ConflictItemRef`. i.e., We can avoid allocs on lookups.
41type FxHashbrownSet<T> = hashbrown::HashSet<T, rustc_hash::FxBuildHasher>;
42
43type FxHashbrownMap<K, V> = hashbrown::HashMap<K, V, rustc_hash::FxBuildHasher>;
44
45mod candidate_selector;
46mod dependency_mode;
47mod dependency_provider;
48mod error;
49mod exclude_newer;
50mod exclusions;
51mod flat_index;
52mod fork_indexes;
53mod fork_strategy;
54mod fork_urls;
55mod graph_ops;
56mod lock;
57mod manifest;
58mod marker;
59mod options;
60mod pins;
61mod preferences;
62mod prerelease;
63pub mod pubgrub;
64mod python_requirement;
65mod redirect;
66mod resolution;
67mod resolution_mode;
68mod resolver;
69mod universal_marker;
70mod upgrade;
71mod version_map;
72mod yanks;