mirror of
https://github.com/astral-sh/uv.git
synced 2025-07-31 09:04:03 +00:00
fix: expose types to implement custom ResolverProvider
(#1862)
<!-- Thank you for contributing to uv! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? - Does this pull request include references to any relevant issues? --> ## Summary To integrate `uv` into `pixi` I need to specify a custom `ResolverProvider` to be able to specify that some packages are already installed by conda and should not be touched. However, some of the types required to implement your own `ResolverProvider` were not accessible through the public API. This PR basically adds them. ## Test Plan I didnt add an explicit test for this.
This commit is contained in:
parent
e97b094bc9
commit
4e011b305f
4 changed files with 19 additions and 7 deletions
|
@ -4,12 +4,15 @@ pub use finder::{DistFinder, Reporter as FinderReporter};
|
||||||
pub use manifest::Manifest;
|
pub use manifest::Manifest;
|
||||||
pub use options::{Options, OptionsBuilder};
|
pub use options::{Options, OptionsBuilder};
|
||||||
pub use prerelease_mode::PreReleaseMode;
|
pub use prerelease_mode::PreReleaseMode;
|
||||||
|
pub use python_requirement::PythonRequirement;
|
||||||
pub use resolution::{AnnotationStyle, Diagnostic, DisplayResolutionGraph, ResolutionGraph};
|
pub use resolution::{AnnotationStyle, Diagnostic, DisplayResolutionGraph, ResolutionGraph};
|
||||||
pub use resolution_mode::ResolutionMode;
|
pub use resolution_mode::ResolutionMode;
|
||||||
pub use resolver::{
|
pub use resolver::{
|
||||||
BuildId, DefaultResolverProvider, InMemoryIndex, Reporter as ResolverReporter, Resolver,
|
BuildId, DefaultResolverProvider, InMemoryIndex, PackageVersionsResult,
|
||||||
ResolverProvider,
|
Reporter as ResolverReporter, Resolver, ResolverProvider, VersionsResponse,
|
||||||
|
WheelMetadataResult,
|
||||||
};
|
};
|
||||||
|
pub use version_map::VersionMap;
|
||||||
|
|
||||||
mod candidate_selector;
|
mod candidate_selector;
|
||||||
mod constraints;
|
mod constraints;
|
||||||
|
|
|
@ -47,9 +47,10 @@ use crate::pubgrub::{
|
||||||
use crate::python_requirement::PythonRequirement;
|
use crate::python_requirement::PythonRequirement;
|
||||||
use crate::resolution::ResolutionGraph;
|
use crate::resolution::ResolutionGraph;
|
||||||
pub use crate::resolver::index::InMemoryIndex;
|
pub use crate::resolver::index::InMemoryIndex;
|
||||||
pub use crate::resolver::provider::DefaultResolverProvider;
|
pub use crate::resolver::provider::{
|
||||||
pub use crate::resolver::provider::ResolverProvider;
|
DefaultResolverProvider, PackageVersionsResult, ResolverProvider, VersionsResponse,
|
||||||
pub(crate) use crate::resolver::provider::VersionsResponse;
|
WheelMetadataResult,
|
||||||
|
};
|
||||||
use crate::resolver::reporter::Facade;
|
use crate::resolver::reporter::Facade;
|
||||||
pub use crate::resolver::reporter::{BuildId, Reporter};
|
pub use crate::resolver::reporter::{BuildId, Reporter};
|
||||||
use crate::yanks::AllowedYanks;
|
use crate::yanks::AllowedYanks;
|
||||||
|
|
|
@ -17,8 +17,8 @@ use uv_traits::{BuildContext, NoBinary};
|
||||||
use crate::python_requirement::PythonRequirement;
|
use crate::python_requirement::PythonRequirement;
|
||||||
use crate::version_map::VersionMap;
|
use crate::version_map::VersionMap;
|
||||||
|
|
||||||
type PackageVersionsResult = Result<VersionsResponse, uv_client::Error>;
|
pub type PackageVersionsResult = Result<VersionsResponse, uv_client::Error>;
|
||||||
type WheelMetadataResult = Result<(Metadata21, Option<Url>), uv_distribution::Error>;
|
pub type WheelMetadataResult = Result<(Metadata21, Option<Url>), uv_distribution::Error>;
|
||||||
|
|
||||||
/// The response when requesting versions for a package
|
/// The response when requesting versions for a package
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
|
|
|
@ -181,6 +181,14 @@ impl From<FlatDistributions> for VersionMap {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl From<BTreeMap<Version, PrioritizedDist>> for VersionMap {
|
||||||
|
fn from(value: BTreeMap<Version, PrioritizedDist>) -> Self {
|
||||||
|
Self {
|
||||||
|
inner: VersionMapInner::Eager(value),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// A lazily initialized distribution.
|
/// A lazily initialized distribution.
|
||||||
///
|
///
|
||||||
/// This permits access to a handle that can be turned into a resolvable
|
/// This permits access to a handle that can be turned into a resolvable
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue