Import PackageName from uv-normalize (#15439)
Some checks are pending
CI / Determine changes (push) Waiting to run
CI / lint (push) Waiting to run
CI / cargo dev generate-all (push) Blocked by required conditions
CI / cargo clippy | ubuntu (push) Blocked by required conditions
CI / cargo clippy | windows (push) Blocked by required conditions
CI / cargo test | ubuntu (push) Blocked by required conditions
CI / cargo test | macos (push) Blocked by required conditions
CI / cargo test | windows (push) Blocked by required conditions
CI / check windows trampoline | aarch64 (push) Blocked by required conditions
CI / cargo shear (push) Waiting to run
CI / typos (push) Waiting to run
CI / build binary | linux aarch64 (push) Blocked by required conditions
CI / build binary | linux musl (push) Blocked by required conditions
CI / build binary | freebsd (push) Blocked by required conditions
CI / build binary | macos aarch64 (push) Blocked by required conditions
CI / build binary | macos x86_64 (push) Blocked by required conditions
CI / build binary | windows x86_64 (push) Blocked by required conditions
CI / check system | python on macos aarch64 (push) Blocked by required conditions
CI / smoke test | linux aarch64 (push) Blocked by required conditions
CI / check system | alpine (push) Blocked by required conditions
CI / smoke test | macos (push) Blocked by required conditions
CI / smoke test | windows x86_64 (push) Blocked by required conditions
CI / integration test | aarch64 windows implicit (push) Blocked by required conditions
CI / integration test | aarch64 windows explicit (push) Blocked by required conditions
CI / integration test | pypy on ubuntu (push) Blocked by required conditions
CI / integration test | pypy on windows (push) Blocked by required conditions
CI / integration test | graalpy on ubuntu (push) Blocked by required conditions
CI / integration test | uv publish (push) Blocked by required conditions
CI / integration test | uv_build (push) Blocked by required conditions
CI / check cache | ubuntu (push) Blocked by required conditions
CI / check cache | macos aarch64 (push) Blocked by required conditions
CI / check system | python on debian (push) Blocked by required conditions
CI / check system | python on fedora (push) Blocked by required conditions
CI / check system | python on ubuntu (push) Blocked by required conditions
CI / check windows trampoline | i686 (push) Blocked by required conditions
CI / check windows trampoline | x86_64 (push) Blocked by required conditions
CI / test windows trampoline | aarch64 (push) Blocked by required conditions
CI / test windows trampoline | i686 (push) Blocked by required conditions
CI / test windows trampoline | x86_64 (push) Blocked by required conditions
CI / mkdocs (push) Waiting to run
CI / build binary | linux libc (push) Blocked by required conditions
CI / build binary | windows aarch64 (push) Blocked by required conditions
CI / build binary | msrv (push) Blocked by required conditions
CI / ecosystem test | pydantic/pydantic-core (push) Blocked by required conditions
CI / ecosystem test | prefecthq/prefect (push) Blocked by required conditions
CI / ecosystem test | pallets/flask (push) Blocked by required conditions
CI / smoke test | linux (push) Blocked by required conditions
CI / smoke test | windows aarch64 (push) Blocked by required conditions
CI / integration test | conda on ubuntu (push) Blocked by required conditions
CI / integration test | deadsnakes python3.9 on ubuntu (push) Blocked by required conditions
CI / integration test | free-threaded on windows (push) Blocked by required conditions
CI / integration test | graalpy on windows (push) Blocked by required conditions
CI / integration test | pyodide on ubuntu (push) Blocked by required conditions
CI / integration test | github actions (push) Blocked by required conditions
CI / integration test | free-threaded python on github actions (push) Blocked by required conditions
CI / integration test | pyenv on wsl x86-64 (push) Blocked by required conditions
CI / integration test | determine publish changes (push) Blocked by required conditions
CI / integration test | registries (push) Blocked by required conditions
CI / check system | homebrew python on macos aarch64 (push) Blocked by required conditions
CI / check system | python on rocky linux 9 (push) Blocked by required conditions
CI / check system | python on rocky linux 8 (push) Blocked by required conditions
CI / check system | python on macos x86-64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86 (push) Blocked by required conditions
CI / check system | graalpy on ubuntu (push) Blocked by required conditions
CI / check system | pypy on ubuntu (push) Blocked by required conditions
CI / check system | pyston (push) Blocked by required conditions
CI / check system | python3.10 on windows x86-64 (push) Blocked by required conditions
CI / check system | python3.13 on windows x86-64 (push) Blocked by required conditions
CI / check system | python3.12 via chocolatey (push) Blocked by required conditions
CI / check system | python3.9 via pyenv (push) Blocked by required conditions
CI / check system | python3.13 (push) Blocked by required conditions
CI / check system | conda3.11 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.8 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.11 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.11 on windows x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on windows x86-64 (push) Blocked by required conditions
CI / check system | amazonlinux (push) Blocked by required conditions
CI / check system | embedded python3.10 on windows x86-64 (push) Blocked by required conditions
CI / benchmarks | walltime aarch64 linux (push) Blocked by required conditions
CI / benchmarks | instrumented (push) Blocked by required conditions
zizmor / Run zizmor (push) Waiting to run
CI / check system | x86-64 python3.13 on windows aarch64 (push) Blocked by required conditions
CI / check system | aarch64 python3.13 on windows aarch64 (push) Blocked by required conditions
CI / check system | windows registry (push) Blocked by required conditions

## Summary

This might be unintentional? `PackageName` is re-exported from
`uv-pep508`, so some crates import it from there.
This commit is contained in:
Charlie Marsh 2025-08-22 00:15:40 +01:00 committed by GitHub
parent 91d66e0bd8
commit 35a8dd514e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
29 changed files with 63 additions and 58 deletions

3
Cargo.lock generated
View file

@ -6248,6 +6248,7 @@ dependencies = [
"url", "url",
"uv-configuration", "uv-configuration",
"uv-distribution-types", "uv-distribution-types",
"uv-normalize",
"uv-pep440", "uv-pep440",
"uv-pep508", "uv-pep508",
"uv-pypi-types", "uv-pypi-types",
@ -6352,6 +6353,7 @@ dependencies = [
"uv-fs", "uv-fs",
"uv-install-wheel", "uv-install-wheel",
"uv-installer", "uv-installer",
"uv-normalize",
"uv-pep440", "uv-pep440",
"uv-pep508", "uv-pep508",
"uv-pypi-types", "uv-pypi-types",
@ -6411,7 +6413,6 @@ dependencies = [
"uv-normalize", "uv-normalize",
"uv-once-map", "uv-once-map",
"uv-pep440", "uv-pep440",
"uv-pep508",
"uv-pypi-types", "uv-pypi-types",
"uv-python", "uv-python",
"uv-redacted", "uv-redacted",

View file

@ -13,8 +13,8 @@ use tracing::error;
use uv_configuration::BuildOutput; use uv_configuration::BuildOutput;
use uv_distribution_types::IsBuildBackendError; use uv_distribution_types::IsBuildBackendError;
use uv_fs::Simplified; use uv_fs::Simplified;
use uv_normalize::PackageName;
use uv_pep440::Version; use uv_pep440::Version;
use uv_pep508::PackageName;
use uv_types::AnyErrorBuild; use uv_types::AnyErrorBuild;
/// e.g. `pygraphviz/graphviz_wrap.c:3020:10: fatal error: graphviz/cgraph.h: No such file or directory` /// e.g. `pygraphviz/graphviz_wrap.c:3020:10: fatal error: graphviz/cgraph.h: No such file or directory`
@ -468,8 +468,8 @@ mod test {
use std::process::ExitStatus; use std::process::ExitStatus;
use std::str::FromStr; use std::str::FromStr;
use uv_configuration::BuildOutput; use uv_configuration::BuildOutput;
use uv_normalize::PackageName;
use uv_pep440::Version; use uv_pep440::Version;
use uv_pep508::PackageName;
#[test] #[test]
fn missing_header() { fn missing_header() {

View file

@ -39,8 +39,8 @@ use uv_distribution_types::{
}; };
use uv_fs::LockedFile; use uv_fs::LockedFile;
use uv_fs::{PythonExt, Simplified}; use uv_fs::{PythonExt, Simplified};
use uv_normalize::PackageName;
use uv_pep440::Version; use uv_pep440::Version;
use uv_pep508::PackageName;
use uv_pypi_types::VerbatimParsedUrl; use uv_pypi_types::VerbatimParsedUrl;
use uv_python::{Interpreter, PythonEnvironment}; use uv_python::{Interpreter, PythonEnvironment};
use uv_static::EnvVars; use uv_static::EnvVars;

View file

@ -3,7 +3,9 @@
use std::fmt; use std::fmt;
use serde::Serialize; use serde::Serialize;
use uv_pep508::{PackageName, uv_pep440::Version};
use uv_normalize::PackageName;
use uv_pep508::uv_pep440::Version;
/// Information about the git repository where uv was built from. /// Information about the git repository where uv was built from.
#[derive(Serialize)] #[derive(Serialize)]

View file

@ -1,6 +1,6 @@
use std::fmt::{Display, Formatter}; use std::fmt::{Display, Formatter};
use uv_pep508::PackageName; use uv_normalize::PackageName;
use crate::{PackageNameSpecifier, PackageNameSpecifiers}; use crate::{PackageNameSpecifier, PackageNameSpecifiers};

View file

@ -2,7 +2,7 @@ use std::collections::BTreeSet;
use tracing::debug; use tracing::debug;
use uv_pep508::PackageName; use uv_normalize::PackageName;
#[derive(Debug, Clone, Default)] #[derive(Debug, Clone, Default)]
pub struct InstallOptions { pub struct InstallOptions {

View file

@ -2,7 +2,7 @@
use std::borrow::Cow; use std::borrow::Cow;
use std::str::FromStr; use std::str::FromStr;
use uv_pep508::PackageName; use uv_normalize::PackageName;
/// A specifier used for (e.g.) pip's `--no-binary` flag. /// A specifier used for (e.g.) pip's `--no-binary` flag.
/// ///

View file

@ -6,7 +6,7 @@ use rustc_hash::FxHashMap;
use uv_cache::Refresh; use uv_cache::Refresh;
use uv_cache_info::Timestamp; use uv_cache_info::Timestamp;
use uv_distribution_types::Requirement; use uv_distribution_types::Requirement;
use uv_pep508::PackageName; use uv_normalize::PackageName;
/// Whether to reinstall packages. /// Whether to reinstall packages.
#[derive(Debug, Default, Clone, serde::Serialize, serde::Deserialize)] #[derive(Debug, Default, Clone, serde::Serialize, serde::Deserialize)]

View file

@ -2,8 +2,8 @@ use std::fmt::{Display, Formatter};
use std::path::Path; use std::path::Path;
use std::sync::Arc; use std::sync::Arc;
use uv_normalize::PackageName;
use uv_pep440::Version; use uv_pep440::Version;
use uv_pep508::PackageName;
use uv_pypi_types::Yanked; use uv_pypi_types::Yanked;
use crate::{ use crate::{

View file

@ -1,7 +1,7 @@
use std::sync::Arc; use std::sync::Arc;
use uv_distribution_types::BuildableSource; use uv_distribution_types::BuildableSource;
use uv_pep508::PackageName; use uv_normalize::PackageName;
use uv_redacted::DisplaySafeUrl; use uv_redacted::DisplaySafeUrl;
pub trait Reporter: Send + Sync { pub trait Reporter: Send + Sync {

View file

@ -11,7 +11,7 @@ use uv_distribution_types::{
BuildableSource, CachedDist, DerivationChain, Dist, DistErrorKind, Hashed, Identifier, Name, BuildableSource, CachedDist, DerivationChain, Dist, DistErrorKind, Hashed, Identifier, Name,
RemoteSource, Resolution, RemoteSource, Resolution,
}; };
use uv_pep508::PackageName; use uv_normalize::PackageName;
use uv_platform_tags::Tags; use uv_platform_tags::Tags;
use uv_redacted::DisplaySafeUrl; use uv_redacted::DisplaySafeUrl;
use uv_types::{BuildContext, HashStrategy, InFlight}; use uv_types::{BuildContext, HashStrategy, InFlight};

View file

@ -26,28 +26,29 @@ use std::str::FromStr;
use serde::{Deserialize, Deserializer, Serialize, Serializer, de}; use serde::{Deserialize, Deserializer, Serialize, Serializer, de};
use thiserror::Error; use thiserror::Error;
use url::Url; use url::Url;
use uv_cache_key::{CacheKey, CacheKeyHasher};
use cursor::Cursor; use uv_cache_key::{CacheKey, CacheKeyHasher};
pub use marker::{ use uv_normalize::{ExtraName, PackageName};
use crate::cursor::Cursor;
pub use crate::marker::{
CanonicalMarkerValueExtra, CanonicalMarkerValueString, CanonicalMarkerValueVersion, CanonicalMarkerValueExtra, CanonicalMarkerValueString, CanonicalMarkerValueVersion,
ContainsMarkerTree, ExtraMarkerTree, ExtraOperator, InMarkerTree, MarkerEnvironment, ContainsMarkerTree, ExtraMarkerTree, ExtraOperator, InMarkerTree, MarkerEnvironment,
MarkerEnvironmentBuilder, MarkerExpression, MarkerOperator, MarkerTree, MarkerTreeContents, MarkerEnvironmentBuilder, MarkerExpression, MarkerOperator, MarkerTree, MarkerTreeContents,
MarkerTreeKind, MarkerValue, MarkerValueExtra, MarkerValueList, MarkerValueString, MarkerTreeKind, MarkerValue, MarkerValueExtra, MarkerValueList, MarkerValueString,
MarkerValueVersion, MarkerWarningKind, StringMarkerTree, StringVersion, VersionMarkerTree, MarkerValueVersion, MarkerWarningKind, StringMarkerTree, StringVersion, VersionMarkerTree,
}; };
pub use origin::RequirementOrigin; pub use crate::origin::RequirementOrigin;
#[cfg(feature = "non-pep508-extensions")] #[cfg(feature = "non-pep508-extensions")]
pub use unnamed::{UnnamedRequirement, UnnamedRequirementUrl}; pub use crate::unnamed::{UnnamedRequirement, UnnamedRequirementUrl};
pub use uv_normalize::{ExtraName, InvalidNameError, PackageName}; pub use crate::verbatim_url::{
Scheme, VerbatimUrl, VerbatimUrlError, expand_env_vars, looks_like_git_repository,
split_scheme, strip_host,
};
/// Version and version specifiers used in requirements (reexport). /// Version and version specifiers used in requirements (reexport).
// https://github.com/konstin/pep508_rs/issues/19 // https://github.com/konstin/pep508_rs/issues/19
pub use uv_pep440; pub use uv_pep440;
use uv_pep440::{VersionSpecifier, VersionSpecifiers}; use uv_pep440::{VersionSpecifier, VersionSpecifiers};
pub use verbatim_url::{
Scheme, VerbatimUrl, VerbatimUrlError, expand_env_vars, looks_like_git_repository,
split_scheme, strip_host,
};
mod cursor; mod cursor;
pub mod marker; pub mod marker;

View file

@ -1,5 +1,5 @@
use uv_configuration::{Reinstall, Upgrade}; use uv_configuration::{Reinstall, Upgrade};
use uv_pep508::PackageName; use uv_normalize::PackageName;
/// Tracks locally installed packages that should not be selected during resolution. /// Tracks locally installed packages that should not be selected during resolution.
#[derive(Debug, Default, Clone)] #[derive(Debug, Default, Clone)]

View file

@ -1,7 +1,8 @@
use rustc_hash::FxHashMap; use rustc_hash::FxHashMap;
use uv_distribution_types::Requirement; use uv_distribution_types::Requirement;
use uv_pep508::{MarkerTree, PackageName}; use uv_normalize::PackageName;
use uv_pep508::MarkerTree;
use crate::ResolverEnvironment; use crate::ResolverEnvironment;

View file

@ -13,6 +13,7 @@ workspace = true
[dependencies] [dependencies]
uv-configuration = { workspace = true } uv-configuration = { workspace = true }
uv-distribution-types = { workspace = true } uv-distribution-types = { workspace = true }
uv-normalize = { workspace = true }
uv-pep440 = { workspace = true } uv-pep440 = { workspace = true }
uv-pep508 = { workspace = true } uv-pep508 = { workspace = true }
uv-pypi-types = { workspace = true } uv-pypi-types = { workspace = true }

View file

@ -10,8 +10,8 @@ use thiserror::Error;
use url::Url; use url::Url;
use uv_configuration::SourceStrategy; use uv_configuration::SourceStrategy;
use uv_normalize::PackageName;
use uv_pep440::VersionSpecifiers; use uv_pep440::VersionSpecifiers;
use uv_pep508::PackageName;
use uv_pypi_types::VerbatimParsedUrl; use uv_pypi_types::VerbatimParsedUrl;
use uv_redacted::DisplaySafeUrl; use uv_redacted::DisplaySafeUrl;
use uv_settings::{GlobalOptions, ResolverInstallerSchema}; use uv_settings::{GlobalOptions, ResolverInstallerSchema};

View file

@ -23,6 +23,7 @@ uv-distribution-types = { workspace = true }
uv-fs = { workspace = true } uv-fs = { workspace = true }
uv-install-wheel = { workspace = true } uv-install-wheel = { workspace = true }
uv-installer = { workspace = true } uv-installer = { workspace = true }
uv-normalize = { workspace = true }
uv-pep440 = { workspace = true } uv-pep440 = { workspace = true }
uv-pep508 = { workspace = true } uv-pep508 = { workspace = true }
uv-pypi-types = { workspace = true } uv-pypi-types = { workspace = true }

View file

@ -1,31 +1,28 @@
use core::fmt;
use fs_err as fs;
use uv_configuration::Preview;
use uv_dirs::user_executable_directory;
use uv_pep440::Version;
use uv_pep508::{InvalidNameError, PackageName};
use std::io::{self, Write}; use std::io::{self, Write};
use std::path::{Path, PathBuf}; use std::path::{Path, PathBuf};
use std::str::FromStr; use std::str::FromStr;
use fs_err as fs;
use fs_err::File; use fs_err::File;
use thiserror::Error; use thiserror::Error;
use tracing::{debug, warn}; use tracing::{debug, warn};
use uv_install_wheel::read_record_file;
pub use receipt::ToolReceipt;
pub use tool::{Tool, ToolEntrypoint};
use uv_cache::Cache; use uv_cache::Cache;
use uv_configuration::Preview;
use uv_dirs::user_executable_directory;
use uv_fs::{LockedFile, Simplified}; use uv_fs::{LockedFile, Simplified};
use uv_install_wheel::read_record_file;
use uv_installer::SitePackages; use uv_installer::SitePackages;
use uv_normalize::{InvalidNameError, PackageName};
use uv_pep440::Version;
use uv_python::{Interpreter, PythonEnvironment}; use uv_python::{Interpreter, PythonEnvironment};
use uv_state::{StateBucket, StateStore}; use uv_state::{StateBucket, StateStore};
use uv_static::EnvVars; use uv_static::EnvVars;
use uv_virtualenv::remove_virtualenv; use uv_virtualenv::remove_virtualenv;
pub use receipt::ToolReceipt;
pub use tool::{Tool, ToolEntrypoint};
mod receipt; mod receipt;
mod tool; mod tool;
@ -352,8 +349,8 @@ impl InstalledTool {
} }
} }
impl fmt::Display for InstalledTool { impl std::fmt::Display for InstalledTool {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!( write!(
f, f,
"{}", "{}",

View file

@ -24,7 +24,6 @@ uv-git = { workspace = true }
uv-normalize = { workspace = true } uv-normalize = { workspace = true }
uv-once-map = { workspace = true } uv-once-map = { workspace = true }
uv-pep440 = { workspace = true } uv-pep440 = { workspace = true }
uv-pep508 = { workspace = true }
uv-pypi-types = { workspace = true } uv-pypi-types = { workspace = true }
uv-python = { workspace = true } uv-python = { workspace = true }
uv-redacted = { workspace = true } uv-redacted = { workspace = true }

View file

@ -4,7 +4,7 @@ use std::sync::Arc;
use dashmap::DashMap; use dashmap::DashMap;
use uv_configuration::{BuildKind, SourceStrategy}; use uv_configuration::{BuildKind, SourceStrategy};
use uv_pep508::PackageName; use uv_normalize::PackageName;
use uv_python::PythonEnvironment; use uv_python::PythonEnvironment;
/// Whether to enforce build isolation when building source distributions. /// Whether to enforce build isolation when building source distributions.

View file

@ -15,7 +15,7 @@ use uv_distribution_types::{
PackageConfigSettings, Requirement, Resolution, SourceDist, PackageConfigSettings, Requirement, Resolution, SourceDist,
}; };
use uv_git::GitResolver; use uv_git::GitResolver;
use uv_pep508::PackageName; use uv_normalize::PackageName;
use uv_python::{Interpreter, PythonEnvironment}; use uv_python::{Interpreter, PythonEnvironment};
use uv_workspace::WorkspaceCache; use uv_workspace::WorkspaceCache;

View file

@ -1,9 +1,10 @@
use itertools::Itertools;
use serde::{Deserialize, Serialize};
use std::fmt::{Display, Formatter}; use std::fmt::{Display, Formatter};
use std::path::Path; use std::path::Path;
use std::str::FromStr; use std::str::FromStr;
use std::{fmt, iter, mem}; use std::{fmt, iter, mem};
use itertools::Itertools;
use serde::{Deserialize, Serialize};
use thiserror::Error; use thiserror::Error;
use toml_edit::{ use toml_edit::{
Array, ArrayOfTables, DocumentMut, Formatted, Item, RawString, Table, TomlError, Value, Array, ArrayOfTables, DocumentMut, Formatted, Item, RawString, Table, TomlError, Value,
@ -12,9 +13,9 @@ use toml_edit::{
use uv_cache_key::CanonicalUrl; use uv_cache_key::CanonicalUrl;
use uv_distribution_types::Index; use uv_distribution_types::Index;
use uv_fs::PortablePath; use uv_fs::PortablePath;
use uv_normalize::GroupName; use uv_normalize::{ExtraName, GroupName, PackageName};
use uv_pep440::{Version, VersionParseError, VersionSpecifier, VersionSpecifiers}; use uv_pep440::{Version, VersionParseError, VersionSpecifier, VersionSpecifiers};
use uv_pep508::{ExtraName, MarkerTree, PackageName, Requirement, VersionOrUrl}; use uv_pep508::{MarkerTree, Requirement, VersionOrUrl};
use uv_redacted::DisplaySafeUrl; use uv_redacted::DisplaySafeUrl;
use crate::pyproject::{DependencyType, Source}; use crate::pyproject::{DependencyType, Source};

View file

@ -30,8 +30,8 @@ use uv_distribution_types::{
use uv_fs::{LockedFile, Simplified}; use uv_fs::{LockedFile, Simplified};
use uv_git::GIT_STORE; use uv_git::GIT_STORE;
use uv_git_types::GitReference; use uv_git_types::GitReference;
use uv_normalize::{DEV_DEPENDENCIES, DefaultExtras, DefaultGroups, PackageName}; use uv_normalize::{DEV_DEPENDENCIES, DefaultExtras, DefaultGroups, ExtraName, PackageName};
use uv_pep508::{ExtraName, MarkerTree, UnnamedRequirement, VersionOrUrl}; use uv_pep508::{MarkerTree, UnnamedRequirement, VersionOrUrl};
use uv_pypi_types::{ParsedUrl, VerbatimParsedUrl}; use uv_pypi_types::{ParsedUrl, VerbatimParsedUrl};
use uv_python::{Interpreter, PythonDownloads, PythonEnvironment, PythonPreference, PythonRequest}; use uv_python::{Interpreter, PythonDownloads, PythonEnvironment, PythonPreference, PythonRequest};
use uv_redacted::DisplaySafeUrl; use uv_redacted::DisplaySafeUrl;

View file

@ -1,13 +1,13 @@
use anyhow::{Context, Result, anyhow};
use owo_colors::OwoColorize;
use std::fmt::Write; use std::fmt::Write;
use std::iter; use std::iter;
use std::path::{Path, PathBuf}; use std::path::{Path, PathBuf};
use std::process::{Command, Stdio}; use std::process::{Command, Stdio};
use std::str::FromStr; use std::str::FromStr;
use uv_distribution_types::RequiresPython;
use anyhow::{Context, Result, anyhow};
use owo_colors::OwoColorize;
use tracing::{debug, trace, warn}; use tracing::{debug, trace, warn};
use uv_cache::Cache; use uv_cache::Cache;
use uv_cli::AuthorFrom; use uv_cli::AuthorFrom;
use uv_client::BaseClientBuilder; use uv_client::BaseClientBuilder;
@ -15,10 +15,11 @@ use uv_configuration::{
DependencyGroupsWithDefaults, Preview, ProjectBuildBackend, VersionControlError, DependencyGroupsWithDefaults, Preview, ProjectBuildBackend, VersionControlError,
VersionControlSystem, VersionControlSystem,
}; };
use uv_distribution_types::RequiresPython;
use uv_fs::{CWD, Simplified}; use uv_fs::{CWD, Simplified};
use uv_git::GIT; use uv_git::GIT;
use uv_normalize::PackageName;
use uv_pep440::Version; use uv_pep440::Version;
use uv_pep508::PackageName;
use uv_python::{ use uv_python::{
EnvironmentPreference, PythonDownloads, PythonEnvironment, PythonInstallation, EnvironmentPreference, PythonDownloads, PythonEnvironment, PythonInstallation,
PythonPreference, PythonRequest, PythonVariant, PythonVersionFile, VersionFileDiscoveryOptions, PythonPreference, PythonRequest, PythonVariant, PythonVersionFile, VersionFileDiscoveryOptions,

View file

@ -13,8 +13,8 @@ use uv_configuration::{
Preview, Preview,
}; };
use uv_fs::Simplified; use uv_fs::Simplified;
use uv_normalize::PackageName;
use uv_normalize::{DEV_DEPENDENCIES, DefaultExtras, DefaultGroups}; use uv_normalize::{DEV_DEPENDENCIES, DefaultExtras, DefaultGroups};
use uv_pep508::PackageName;
use uv_python::{PythonDownloads, PythonPreference, PythonRequest}; use uv_python::{PythonDownloads, PythonPreference, PythonRequest};
use uv_scripts::{Pep723Metadata, Pep723Script}; use uv_scripts::{Pep723Metadata, Pep723Script};
use uv_settings::PythonInstallMirrors; use uv_settings::PythonInstallMirrors;

View file

@ -10,7 +10,7 @@ use uv_client::RegistryClientBuilder;
use uv_configuration::{Concurrency, DependencyGroups, Preview, TargetTriple}; use uv_configuration::{Concurrency, DependencyGroups, Preview, TargetTriple};
use uv_distribution_types::IndexCapabilities; use uv_distribution_types::IndexCapabilities;
use uv_normalize::DefaultGroups; use uv_normalize::DefaultGroups;
use uv_pep508::PackageName; use uv_normalize::PackageName;
use uv_python::{PythonDownloads, PythonPreference, PythonRequest, PythonVersion}; use uv_python::{PythonDownloads, PythonPreference, PythonRequest, PythonVersion};
use uv_resolver::{PackageMap, TreeDisplay}; use uv_resolver::{PackageMap, TreeDisplay};
use uv_scripts::Pep723Script; use uv_scripts::Pep723Script;

View file

@ -15,8 +15,8 @@ use uv_configuration::{
}; };
use uv_fs::Simplified; use uv_fs::Simplified;
use uv_normalize::DefaultExtras; use uv_normalize::DefaultExtras;
use uv_normalize::PackageName;
use uv_pep440::{BumpCommand, PrereleaseKind, Version}; use uv_pep440::{BumpCommand, PrereleaseKind, Version};
use uv_pep508::PackageName;
use uv_python::{PythonDownloads, PythonPreference, PythonRequest}; use uv_python::{PythonDownloads, PythonPreference, PythonRequest};
use uv_settings::PythonInstallMirrors; use uv_settings::PythonInstallMirrors;
use uv_workspace::pyproject_mut::Error; use uv_workspace::pyproject_mut::Error;

View file

@ -17,8 +17,8 @@ use uv_fs::Simplified;
#[cfg(unix)] #[cfg(unix)]
use uv_fs::replace_symlink; use uv_fs::replace_symlink;
use uv_installer::SitePackages; use uv_installer::SitePackages;
use uv_normalize::PackageName;
use uv_pep440::{Version, VersionSpecifier, VersionSpecifiers}; use uv_pep440::{Version, VersionSpecifier, VersionSpecifiers};
use uv_pep508::PackageName;
use uv_python::{ use uv_python::{
EnvironmentPreference, Interpreter, PythonDownloads, PythonEnvironment, PythonInstallation, EnvironmentPreference, Interpreter, PythonDownloads, PythonEnvironment, PythonInstallation,
PythonPreference, PythonRequest, PythonVariant, VersionRequest, PythonPreference, PythonRequest, PythonVariant, VersionRequest,

View file

@ -32,8 +32,8 @@ use uv_distribution_types::{
PackageConfigSettings, Requirement, PackageConfigSettings, Requirement,
}; };
use uv_install_wheel::LinkMode; use uv_install_wheel::LinkMode;
use uv_normalize::{PackageName, PipGroupName}; use uv_normalize::{ExtraName, PackageName, PipGroupName};
use uv_pep508::{ExtraName, MarkerTree, RequirementOrigin}; use uv_pep508::{MarkerTree, RequirementOrigin};
use uv_pypi_types::SupportedEnvironments; use uv_pypi_types::SupportedEnvironments;
use uv_python::{Prefix, PythonDownloads, PythonPreference, PythonVersion, Target}; use uv_python::{Prefix, PythonDownloads, PythonPreference, PythonVersion, Target};
use uv_redacted::DisplaySafeUrl; use uv_redacted::DisplaySafeUrl;