Remove --isolated usages from the uv python API (#5468)

This commit is contained in:
Charlie Marsh 2024-07-30 13:52:53 -04:00 committed by GitHub
parent 5830a532ef
commit f7494f24cf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 17 additions and 15 deletions

View file

@ -2485,6 +2485,11 @@ pub struct PythonPinArgs {
#[arg(long, overrides_with("no_resolved"), hide = true)]
pub no_resolved: bool,
/// Avoid validating the Python pin against the workspace in the current directory or any parent
/// directory.
#[arg(long)]
pub no_workspace: bool,
}
#[derive(Args)]

View file

@ -8,7 +8,6 @@ use std::collections::BTreeSet;
use std::fmt::Write;
use std::path::PathBuf;
use tracing::debug;
use uv_cache::Cache;
use uv_client::Connectivity;
use uv_configuration::PreviewMode;
use uv_fs::CWD;
@ -31,8 +30,7 @@ pub(crate) async fn install(
native_tls: bool,
connectivity: Connectivity,
preview: PreviewMode,
isolated: bool,
_cache: &Cache,
no_config: bool,
printer: Printer,
) -> Result<ExitStatus> {
if preview.is_disabled() {
@ -47,12 +45,12 @@ pub(crate) async fn install(
let targets = targets.into_iter().collect::<BTreeSet<_>>();
let requests: Vec<_> = if targets.is_empty() {
// Read from the version file, unless `isolated` was requested
let version_file_requests = if isolated {
// Read from the version file, unless `--no-config` was requested
let version_file_requests = if no_config {
if PathBuf::from(PYTHON_VERSION_FILENAME).exists() {
debug!("Ignoring `.python-version` file due to isolated mode");
debug!("Ignoring `.python-version` file due to `--no-config`");
} else if PathBuf::from(PYTHON_VERSIONS_FILENAME).exists() {
debug!("Ignoring `.python-versions` file due to isolated mode");
debug!("Ignoring `.python-versions` file due to `--no-config`");
}
None
} else {

View file

@ -25,7 +25,7 @@ pub(crate) async fn pin(
resolved: bool,
python_preference: PythonPreference,
preview: PreviewMode,
isolated: bool,
no_workspace: bool,
cache: &Cache,
printer: Printer,
) -> Result<ExitStatus> {
@ -33,7 +33,7 @@ pub(crate) async fn pin(
warn_user_once!("`uv python pin` is experimental and may change without warning");
}
let virtual_project = if isolated {
let virtual_project = if no_workspace {
None
} else {
match VirtualProject::discover(&CWD, &DiscoveryOptions::default()).await {

View file

@ -773,17 +773,13 @@ async fn run(cli: Cli) -> Result<ExitStatus> {
let args = settings::PythonInstallSettings::resolve(args, filesystem);
show_settings!(args);
// Initialize the cache.
let cache = cache.init()?;
commands::python_install(
args.targets,
args.reinstall,
globals.native_tls,
globals.connectivity,
globals.preview,
globals.isolated,
&cache,
cli.no_config || globals.isolated,
printer,
)
.await
@ -829,7 +825,7 @@ async fn run(cli: Cli) -> Result<ExitStatus> {
args.resolved,
globals.python_preference,
globals.preview,
globals.isolated,
args.no_workspace || globals.isolated,
&cache,
printer,
)

View file

@ -503,6 +503,7 @@ impl PythonFindSettings {
pub(crate) struct PythonPinSettings {
pub(crate) request: Option<String>,
pub(crate) resolved: bool,
pub(crate) no_workspace: bool,
}
impl PythonPinSettings {
@ -513,11 +514,13 @@ impl PythonPinSettings {
request,
no_resolved,
resolved,
no_workspace,
} = args;
Self {
request,
resolved: flag(resolved, no_resolved).unwrap_or(false),
no_workspace,
}
}
}