Skip to content

Commit

Permalink
Remove pin
Browse files Browse the repository at this point in the history
  • Loading branch information
charliermarsh committed Jul 29, 2024
1 parent 9910684 commit 96c5781
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 15 deletions.
5 changes: 5 additions & 0 deletions crates/uv-cli/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2487,6 +2487,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)]
Expand Down
12 changes: 5 additions & 7 deletions crates/uv/src/commands/python/install.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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_python::downloads::{DownloadResult, ManagedPythonDownload, PythonDownloadRequest};
Expand All @@ -30,8 +29,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() {
Expand All @@ -46,12 +44,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 {
Expand Down
4 changes: 2 additions & 2 deletions crates/uv/src/commands/python/pin.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ pub(crate) async fn pin(
resolved: bool,
python_preference: PythonPreference,
preview: PreviewMode,
isolated: bool,
no_workspace: bool,
cache: &Cache,
printer: Printer,
) -> Result<ExitStatus> {
if preview.is_disabled() {
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(&std::env::current_dir()?, &DiscoveryOptions::default())
Expand Down
8 changes: 2 additions & 6 deletions crates/uv/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -769,17 +769,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
Expand Down Expand Up @@ -825,7 +821,7 @@ async fn run(cli: Cli) -> Result<ExitStatus> {
args.resolved,
globals.python_preference,
globals.preview,
globals.isolated,
args.no_workspace || globals.isolated,
&cache,
printer,
)
Expand Down
3 changes: 3 additions & 0 deletions crates/uv/src/settings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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,
}
}
}
Expand Down

0 comments on commit 96c5781

Please sign in to comment.