1pub use dependency_mode::DependencyMode;
2pub use error::{ErrorTree, NoSolutionError, NoSolutionHeader, ResolveError};
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 DependencySelection, Installable, Lock, LockError, LockVersion, Metadata, Package, PackageMap,
13 PylockToml, PylockTomlError, PylockTomlErrorKind, PythonReport, RequirementsTxtExport,
14 ResolverManifest, SatisfiesResult, SelectedDependency, TreeDisplay, TreeJsonTarget, VERSION,
15 cyclonedx_json,
16};
17pub use manifest::Manifest;
18pub use options::{Flexibility, Options, OptionsBuilder};
19pub use preferences::{Preference, PreferenceError, Preferences};
20pub use prerelease::PrereleaseMode;
21pub use pubgrub::PubGrubHint;
22pub use python_requirement::PythonRequirement;
23pub use resolution::{
24 AnnotationStyle, ConflictingDistributionError, DisplayResolutionGraph, ResolverOutput,
25};
26pub use resolution_mode::ResolutionMode;
27pub use resolver::{
28 DefaultResolverProvider, InMemoryIndex, MetadataResponse, PackageVersionsResult,
29 Reporter as ResolverReporter, Resolver, ResolverEnvironment, ResolverProvider,
30 VersionsResponse, WheelMetadataResult,
31};
32pub(crate) use universal_marker::ConflictMarker;
33pub use universal_marker::UniversalMarker;
34pub use upgrade::UpgradePackages;
35pub use uv_distribution_types::{ExcludeNewerOverride, ExcludeNewerSpan, ExcludeNewerValue};
36pub use version_map::VersionMap;
37pub use yanks::AllowedYanks;
38
39type FxHashbrownSet<T> = hashbrown::HashSet<T, rustc_hash::FxBuildHasher>;
45
46type FxHashbrownMap<K, V> = hashbrown::HashMap<K, V, rustc_hash::FxBuildHasher>;
47
48mod candidate_selector;
49mod dependency_mode;
50mod dependency_provider;
51mod error;
52mod exclude_newer;
53mod exclusions;
54mod flat_index;
55mod fork_indexes;
56mod fork_strategy;
57mod fork_urls;
58mod graph_ops;
59mod lock;
60mod manifest;
61mod marker;
62mod options;
63mod pins;
64mod preferences;
65mod prerelease;
66pub mod pubgrub;
67mod python_requirement;
68mod redirect;
69mod resolution;
70mod resolution_mode;
71mod resolver;
72mod universal_marker;
73mod upgrade;
74mod version_map;
75mod yanks;