Commit Graph

  • 007ea58303 Accepting request 1233312 from devel:languages:python factory Ana Guerrero 2024-12-26 11:24:20 +00:00
  • 68d5ef731c - Update to version 0.5.10: * Improve backtracking behavior when packages conflict repeatedly * Patch Python sysconfig values such as AR at ar install time * Patch Python sysconfig values such as clang to cc at install time * Skip --native-tls in pip compile header * Add resolver error hint for no-binary and no-build failures * Improve build error messages * Reduce redundant Python version incompatibilities in resolver error message * Reduce redundant enumeration of all package versions in some resolver errors * Improve display of ranges when pre-releases are not allowed * Improve error messages for uv remove * Improve phrasing for single term incompatibilities * Improve styling of uv remove dependency hints * Omit trailing zeros on Python requirements inferred from versions * Show a concise error message for missing version field * Use the build options value to improve hints for no wheel / source distribution errors * Allow multiple disjoint URLs in overrides * Include explicit indexes in publish index choice * Fix Python interpreter detection for 32-bit operating systems on 64-bit hosts * Fix typo "operation system" * Clarify uninstallation docs * Add a note to say that dependencies between workspace members are editable * Correctly document default value of fork-strategy setting * Use double quotes for Windows support in examples * Remove pypy from top-level pin example * Update references to python-build-standalone to reflect the transferred project * Use a different Ruff version in documentation * Change example so it works as-is on powershell and cmd.exe * Clarify best practice for Python matrix strategy in GitHub Actions * Add documentation for uv-lock and uv-export pre-commit hooks devel Soc Virnyl Estela 2024-12-18 10:25:56 +00:00
  • 655beddb5a Accepting request 1231592 from devel:languages:python Ana Guerrero 2024-12-17 18:23:35 +00:00
  • b77d20f57c - Update to version 0.5.9: * Fork version selection based on requires-python requirements * Patch sysconfig data at install time * Remove -isysroot when patching sysconfig * Introduce a --fork-strategy preference mode * Add support for UV_OFFLINE * Avoid panic!() when current directory does not exist * Avoid reusing interpreter metadata when running under Rosetta * Avoid trailing slash when deserializing from lockfile * Fix bug in terms when collapsing unavailable versions in resolver errors * Fix suggestion to use uv help python on invalid install requests * Skip root when assessing prefix viability * Avoid spurious 'Upgraded tool environment' in uv tool upgrade * Upgrade minimum Rust version to 1.83 * Document the --fork-strategy setting * Build backend: Allow underscores in entrypoints * Omit empty resolution markers in lockfile * Add --install-dir to to uv python install and uninstall commands * Add --show-urls and --only-downloads to uv python list * Add uv python list --all-arches * Add uv run --gui-script flag for running Python scripts with pythonw.exe * Allow --gui-script on Unix * Allow download of Python distribution variants optimized for newer x86_64 microarchitectures * Allow execution of pyw files on Unix * Allow users to specify URLs in project.dependencies and tool.uv.sources * Encode mutually-incompatible pairs of markers * Improve the error message when a Python install request is not valid * Preserve directory-level standalone build symlinks * Add support for uv publish --index <name> * Reframe --locked and --frozen as --check operations for uv lock Soc Virnyl Estela 2024-12-17 00:52:17 +00:00
  • f806d6df0e Accepting request 1228409 from devel:languages:python Ana Guerrero 2024-12-05 16:09:22 +00:00
  • c77753b2b3 - Update to version 0.5.6: * Add --dry-run to uv pip uninstall * Allow --constraints and --overrides in uv tool install * Display removed Python executables on uninstall * Warn when keyring has no password for uv publish * Add suggested action when .python-version pin is incompatible with the project * Improve error messages for mismatches in tool.uv.sources * Use constraints in trace rather than irrelevant requires-python * Add uv python install --default * Fix Python executable installation when multiple patch versions are requested * Build backend: Revamp include / exclude * Build backend: Add fast path * Build backend: Add functions to collect file list * Build backend: Default excludes * Build backend: Refactoring before list * Build backend: Warn when visiting over 10k files * Make check-url available in configuration files * Avoid adding non-extra package with extra dependencies * Avoid cloning String in marker evaluation * uv-pep508: Add more methods for simplifying extra-related expressions * Allow file: URLs to include package names * Avoid using IDs across PubGrub states * Consistently enforce requested-vs.-built metadata when retrieving wheels * Do not show empty version specifier in uv tool list * Include Git member information when getting metadata from cache * Include base installation directory in uv run PATH * Insert backslash when appending to system drive * Normalize paths when lowering Git dependencies * Omit origin when comparing requirements * Override manylinux_compatible with --python-platform Soc Virnyl Estela 2024-12-05 01:39:55 +00:00
  • 36de6eb4dd Accepting request 1224685 from devel:languages:python Ana Guerrero 2024-11-18 19:01:04 +00:00
  • c853b3e627 - Update to version 0.5.2: * Hide --no-system from uv pip tree CLI * Allow configuration of Python and PyPy install mirrors in uv.toml * Allow passing Python download mirrors to uv python install * Add support for specifying conflicting extras and dependency groups * Consistent colon usage in build failure errors * Show full derivation chain when encountering build failures * Show link we failed on parsing index pages * Remove duplicate log when searching for interpreters * Update uv development status classifier to "Stable" on PyPI * Use rich diagnostic formatting for early build failures * Use rich diagnostic formatting for install failures * Avoid retraversing filesystem when testing exact glob matches * Allow --no-build to validate lock * Allow default indexes to be marked as explicit * Avoid creating .venv in uv add --frozen and uv add --no-sync * Avoid duplicating first-entry comments in uv add * Defer reporting of build failures in resolver * Fix references to --resolution-strategy in error message output * Ignore virtual environments in parent directories when choosing Python version for new projects * Forward SIGTERM to child processes in uv run * Prefer Python executable names that match the request over default names * Prefer compatible to incompatible distributions when packages exist on multiple indexes * Publish: Ignore non-matching files * Revert uv.lock changes when uv add fails * Show file extensions on available commands when not .exe * Sort by name, then specifiers in uv add * Split after specifiers in --with requirements * Support multiple extras in universal pip compile output * Build backend: Add tests for source tree -> source dist -> wheel conversions Soc Virnyl Estela 2024-11-17 14:44:56 +00:00
  • 06688073e9 Accepting request 1223462 from devel:languages:python Ana Guerrero 2024-11-12 18:21:49 +00:00
  • 9beb2a98a3 - update to version 0.5.0: Please see CHANGELOG.md for details Matej Cepl 2024-11-12 01:17:50 +00:00
  • 4240ed696a Accepting request 1218527 from devel:languages:python Ana Guerrero 2024-10-27 10:26:21 +00:00
  • c85b2df855 - Update to version 0.4.27: * Support for PEP 735 * Add support for --dry-run mode in uv lock * Don't allow non-string email in authors * Enforce lockfile schema versions * Always attach URL to network errors * Fix dangling non-platform dependencies in uv tree * Prefer lto over debug free-threaded managed Python builds * Add tool.uv.sources to the "Settings" reference * Add reference to uv build and uv publish in the landing pages * Avoid duplicate [tool.uv] header in TOML examples * Document .netrc environment variable and path * Fix .netrc typo in authentication docs * Fix heading level of "Script support" on docs landing page * Move the installation configuration docs to a separate page * Update docs for --publish-url to avoid duplication. - Changes since 0.4.23 to 0.4.26: * Allow static dependency metadata entries for direct URL requirements * Use reinstall report formatting for uv python install --reinstall * Add support for system-level uv.toml configuration * Apply requires-python narrowing with upper bounds * Avoid rewriting [[tool.uv.index]] entries when credentials are provided * Fix uv add comment handling for empty arrays * Replace dashes with underscores in index credential variables * Respect --allow-insecure-host in uv publish * Allow arbitrary --package includes in uv tree * Remove existing Python install after successful download in uv python install * Add docs example for URLs with [tool.uv.dependency-metadata] * Add help page for build failures * Fix cache-keys typo in tags = true Soc Virnyl Estela 2024-10-26 13:04:00 +00:00
  • 1a58f9bda0 Accepting request 1217239 from devel:languages:python Ana Guerrero 2024-10-23 19:11:04 +00:00
  • 94f87dd4e5 - Adjust memory constraints Dirk Mueller 2024-10-23 08:16:42 +00:00
  • dea4e04e99 Accepting request 1208669 from devel:languages:python Ana Guerrero 2024-10-18 13:55:22 +00:00
  • ff4da8c8bb - update to version 0.4.22: * Respect [tool.uv.sources] in build requirements * Add a dedicated uv publish error message for missing usernames * Support interactive input in uv publish * Use raw filenames in uv publish * Reuse the result of which git * Avoid environment check optimization for uv pip install --exact * Do not use free-threaded interpreters without a free-threaded request * Don't recommend --prerelease=allow during build requirement resolution errors * Prefer optimized builds for free-threaded Python downloads * Retain old python-build-standalone releases * Run uv build builds in the source distribution bucket - 0.4.21 * Add support for managed installations of free-threaded Python * Add note about uvx to uv tool run short help * Enable HTTP/2 requests * Support uv tree --no-dev * Support PEP 723 metadata with uv run - * Support pip install --exact * Support uv export --no-header * Add Python 3.13 images to Docker publish * Support remote (https://) scripts in uv run * Allow comma value-delimited arguments in uv run --with * Support wildcards in UV_INSECURE_HOST * Use shared index when fetching metadata in lock satisfaction routine * Add prerelease compatibility check to uv python CLI * Avoid deleting a project environment directory if we cannot tell if a pyvenv.cfg file exists * Avoid excluding valid wheels for exact requires-python bounds * Bump netrc crate to latest commit * Fix uv python pin 3.13t failure when parsing version for project requires check Soc Virnyl Estela 2024-10-17 15:17:32 +00:00
  • d5de775987 - Update to version 0.4.20: * Add managed downloads for CPython 3.13.0 (final) * Python 3.13 is the default version for uv python install * Hint at wrong endpoint in uv publish failures * List available scripts when a command is not specified for uv run * Fill in authors field during uv init Soc Virnyl Estela 2024-10-12 23:19:21 +00:00
  • 1d43beeabf - Update to version 0.4.19 * Remove PythonPreference toggle based on UV_TEST_PYTHON_PATH * Show verbose output during integration tests * Show verbose logs during smoke test * Show interpreter source during Python discovery query errors * Bump patch Python versions for project * Basic functional build backend wheels * Add 3.13 support to the platform reference * Fix parsing of gnueabi libc variants in Python version requests * Add Python 3.13 classifier * Implement build backend metadata * Metadata transformation for the build backend * Allow self-depedencies in the dev section * Add failing uv add --dev self-reference test * Clearly specify the minimum supported Windows Server version in the document * fix uninstallation command for windows on documentation * Clarify project environment creation a little * Remove dead Sha256Reader * Ignore UV_CACHE_DIR during tests * Ignore UV_CACHE_DIR in help tests * Use a higher timeout for publishing * Coerce empty string values to None for UV_PYTHON env var * Add UV_FIND_LINKS environment variable support for the --find-links command-line option * Clear publish progress bar on retry * Trim commits when reading from Git refs * Preserve case-insensitive sorts in uv add * Fix documentation (projects guide) regarding adding a git dependency * Respect project upper bounds when filtering wheels on requires-python * Always ignore cp2 wheels in resolution * Allow py3x-none tags in newer than Python 3.x Soc Virnyl Estela 2024-10-07 23:35:42 +00:00
  • f70221ef68 - Update to version 0.4.17: * Add uv build --all to build all packages in a workspace (#7724) * Add support for uv init --script (#7565) * Add support for upgrading build environment for installed tools (uv tool upgrade --python) (#7605) * Initialize a Git repository in uv init (#5476) * Respect --quiet flag in uv build (#7674) * Add context message before listing available tools in uvx (#7641) * Don't create Python bytecode files during interpreter discovery (#7707) * Escape glob patterns in workspace member discovery (#7709) * Avoid prefetching source distributions with unbounded lower-bound ranges (#7683) * Add uv build and uv publish to features overview (#7716) * Add documentation on cache versioning (#7693) * Spell out the names of the Docker images for easier copy-paste (#7706) * Document uv-with-Jupyter workflows (#7625) * Note that uv lock --upgrade-package retains locked versions (#7694) Soc Virnyl Estela 2024-10-01 06:41:55 +00:00
  • b91afc7434 - Completion package requires main package Soc Virnyl Estela 2024-09-24 10:47:26 +00:00
  • 41f0c3f338 Accepting request 1202477 from devel:languages:python Ana Guerrero 2024-09-23 13:23:01 +00:00
  • 97466f29a2 - Update source tarball from upstream GitHub instead of Python hosted * i received a version lesser than the actual in python hosted. upstream is more clearer to get. - Update to version 0.4.15: * Revert "Treat invalid platform as more compatible than invalid Python" * Add the execution policy to powershell installs for single versions * Move uvx shell completion to uvx --generate-shell-completion * Adjust messaging for frozen hint on resolution failure during uv add * Provide resolution hints in case of possible local name conflicts * Improve Docker image release tagging order and display on ghcr.io * Improve deserialization error messages * Allow system environments during project environment validity check * Avoid validating workspace members when --no-sources is provided * Fix handling of sys.base_prefix collision in interpreter identity check during tool installs * Make uv cache prune robust to unreadable rkyv entries * Revert "Remove duplicate warning for settings discovery errors" * Fix - to _ in packaged applications document * Add socks support * Avoid warning about bad Python interpreter links for empty project environment directories * Improve invalid environment warning messages * Use more verbose spelling of "virtualenv" during creation * Do not use a user-facing warning for "Waiting to acquire lock..." message * Use a single buffer for hints on resolver errors * Allow Python pre-releases to be used if they are first on the PATH * Avoid deleting the project environment directory if it is not a virtual environment * Do not error if the CACHEDIR.TAG file exists but cannot be written to * Treat invalid platform as more compatible than invalid Python * Use portable paths when serializing sources * Compute resolver hints using the final reduced derivation tree * Bump the wheel and sdist cache versions * Heal cache entries with missing source distributions * Bump minimum supported Rust version from 1.80 -> 1.81 * Add UV_LINK_MODE to Docker caching example * Clarify behavior of of overrides in CLI reference * Allow users to provide pre-defined metadata for resolution * Invalidate existing tool environments on Python interpreter mismatch * Avoid fatal error when searching for egg-info with missing directory * Add note on cache growth for self-hosted GitHub runners * Add --no-editable support to uv sync and uv export * Add support for --only-dev to uv sync and uv export * Add support for remaining pip-supported file extensions * Generate shell completion for uvx * Include uv export command in requirements.txt output * Prune unzipped source distributions in uv cache prune --ci * Warn when trying to uv sync a package without build configuration * Support requests for pre-releases in the --python option * Avoid erroneous version warning for .dist-info directories * Avoid removing seed packages for uv venv --seed environments * Avoid unnecessary progress bar initializations * Error when tool.uv.sources contains duplicate package names * Include --branch et al when resolving unnamed URLs in uv add * Include dev-dependencies in --no-sources invocations * Include the parent interpreter in Python discovery when --system is used * Respect --no-sources in PEP 723 scripts * Respect pyproject.toml credentials from user-provided requirements * Use consistent PyPI cache bucket * Use unambiguous relative paths in uv export * Add documentation on platform-specific dependencies * Add documentation for passing installer options on Linux * Separate project data from configuration settings * Hint at missing project.name * Surface dedicated project.name error for workspaces * Remove duplicate warning for settings discovery errors * Allow uv tool upgrade --all to continue on individual upgrade failure * Support globs as cache keys in tool.uv.cache-keys * Add Python package (__main__.py) support to uv run * Add zip application support to uv run * Add --token option to self update command * Use globwalk for cache-keys matching * Always treat archive-like requirements as local files * Apply --no-install options when constructing resolution * Avoid clobbering existing py.typed files contents in uv init * Avoid enforcing platform compatibility when validating lockfile * Avoid installing transitive dev dependencies * Avoid selecting prerelease Python installations without opt-in * Fix PPC64 page size in binary builds. * Include pre-release Python versions in uv python list * Make version ID optional for source builds * Support relative paths in uv add --script * Fix documentation typos for uv build --build-constraint flag * Fix grammatical error in CLI docs * Add dedicated lock errors for wheel-only distributions * Avoid treating .whl sources as source distributions * Clarify Python requirement source for script incompatibilities - Attempt to use clang+mold for faster and less memory intensive linking * fallback to ld and gcc if leap. - update to version 0.4.9 * Add support for managed Python 3.13 * Upgrade managed CPython versions to latest patch releases * Allow setting a target version for uv self update * Create py.typed files during uv init --lib * Add a dedicated error for packages that fail due to distutils deprecation * Improve error message when requested Python version is unsupported * Add uv run --no-sync * Avoid updating pyproject.toml offsets on non-add edits * Invalidate cache when --config-settings change * Remove workspace root for single-member workspace with uv export - Set debuginfo for non-tier1 archs to "limited" - This package is a chonker. Let's add some _constraints - Force gcc version 13 - Update to version 0.4.8: - Add support for dynamic cache keys - Allow .dist-info names with dashes for post releases - Use type hints in code from uv init - Treat .tgz the same as .tar.gz - Direct users towards uv venv to create a virtual environment - Improve error message for uv init already init-ed - Avoid batch prefetching for un-optimized registries - Avoid iteration for singleton selections - Avoid extra newlines in debug logging for source builds - Prune unreachable packages from --universal output - Respect exclusion when collecting workspace members - Use path file instead of sitecustomize.py - Replace incorrect --source and --binary flags with correct --sdist and --wheel flags in uv build - Document support for UV_INSTALL_DIR - List all supported sdist formats - Add --no-emit-project and friends to uv export - Add --output-file to uv export - Prune unused source distributions from the cache in uv cache prune - Take intersection of constraint and requirements hashes - Skip metadata fetch for --no-deps and pip sync - Avoid panicking when encountering an invalid Python version during uv python list - Write trailing newline to .python-version files - Accept --build-constraints in uv build - Add --require-hashes and --verify-hashes to uv build - Add --show-version-specifiers to uv tool list - Respect hashes in constraints files - Upgrade installer scripts - Allow specifying multiple packages in uv tool upgrade and uninstall - Sort by implementation in uv python list - Invalidate lockfile when member versions change - Strip fragments from direct source URLs in lockfile - Support --no-build and --no-binary in uv sync et al - Use distribution hash over registry hash - Fix inverted log message - Adjust Docker ENTRYPOINT and CMD for inherited images - Add winget to installers - Document how to disable path modifications during install - Document how to manually update locked package version - Document official setup-uv action - Update docs on .python-version file - Implement uv build - Add --package support to uv build - Prune unreachable packages from lockfile - Prune unreachable wheels from lockfile - Show build output by default in uv build - Support uv build --wheel from source distributions - Use the root project name for the project virtual environment prompt - Fix handling of inline optional dependencies in uv add - Reflect exit code in uv tool run and uv run - Revert pyproject.toml modifications on Ctrl-C - Rollback pyproject.toml changes on all errors - Use correct ordering semantics for narrowing upper-bounded Python requirements - Fix segfault in Windows trampolines - Remove unused __future__.annotations import in _virtualenv.py - Add documentation for uv build - Add note to extra and all-extras in uv sync help - Add project docs for project.scripts - Fix available Docker image tag rendering and shorten list - Touchup to the project environment config section - Clarify precedence of uv.toml - Fix available Docker tags for -slim variants - Allow customizing the project environment path with UV_PROJECT_ENVIRONMENT - Warn when VIRTUAL_ENV is set but will not be respected in project commands - Add --no-hashes to uv export - Make HTTP headers title case for backward compatibility - Pin .python-version in uv init - Support file:// URLs for UV_PYTHON_INSTALL_MIRROR - Introduce more docker tags for uv - Avoid canonicalizing the cache directory - Show all PyPy versions in uv python list --all-versions - Avoid incorrect requires-python marker simplifications - Add documentation for UV_PROJECT_ENVIRONMENT - Add optional dependencies section to the lockfile document - Document use of the file:// scheme in Python installation mirrors - Fix outdated references to the help menu documentation in the first steps page - Show env option in CLI reference documentation - Add bind mount example to docker.md - Show build backend output when --verbose is provided - Allow uv sync --frozen --package without copying member pyproject.toml - Avoid panic with missing temporary directory - Avoid updating incorrect dependencies for sorted uv add - Use lower-bound semantics for all Python compatibility comparisons - Adding support for .pyc files in uv run - Treat missing top_level.txt as non-fatal - Fix is_disjoint check for supported environments - Remove dangling archives in uv cache clean ${package} - Error when discovered Python is incompatible with --isolated workspace - Warn when discovered Python is incompatible with PEP 723 script - Add uv export --format requirements-txt - Allow @ references in uv tool install --from - Normalize version specifiers by sorting - Respect the user's upper-bound in requires-python - Use Windows registry to discover Python on Windows directly - Hint at --no-workspace in uv init failures - Update to last PyPy releases - Avoid deadlocks when multiple uv processes lock resources - Expand tildes when matching against PATH - Fix uv init --no-project alias - Ignore pre-release segments when discovering via requires-python - Support inline optional tables in uv add and uv remove - Update default hello.py to pass ruff format - Avoid stripping root for user path display - Error when user-provided environments are disjoint with Python - Retain alphabetical sorting for pyproject.toml in uv add operations - Add a link to the multiple index docs in the alternative index guide - Add docs for inline exclude newer in PEP 723 scripts - Enumerate available Docker tags - Omit [pip] section from configuration file docs - Update project.urls in pyproject.toml - Add docs for AWS CodeArtifact usage This release adds first-class support for Python projects that are not designed as Python packages (e.g., web applications, data science projects, etc.). In doing so, it includes some breaking changes around uv's handling of projects. Previously, uv required that all projects could be built into distributable Python packages, and installed them into the virtual environment. Projects created by uv init always included a [build-system] definition and existing projects that did not define a [build-system] would use the legacy setuptools build backend by default. Most users are not developing libraries that need to be packaged and published to PyPI. Instead, they're building applications using web frameworks, or running collections of Python scripts in the project's root directory. In these cases, requiring a [build-system] was confusing and error-prone. In this release, uv changes the default behavior to orient around these common use cases. In summary, the major changes are: - uv no longer attempts to package and install projects that do not define a [build-system]. - While the project itself will not be installed into the virtual environment, its dependencies will still be included. - The previous behavior can be recovered by setting package = true in the [tool.uv] section of your pyproject.toml. - uv init no longer creates a src/ directory or defines a [build-system] by default. - The previous behavior can be recovered with uv init --lib or uv init --app --package. - uv allows and recommends including [project] definitions in virtual workspace roots. - Previously, the uv required the [project] section to be omitted. - uv allows disabling packaging of projects, even if they define a [build-system], by setting package = false in the [tool.uv] section of your pyproject.toml. See the latest documentation on [build systems in projects](http://docs.astral.sh/uv/concepts/projects/#build-systems) for more details. - Add first-class support for non-packaged projects - Add --app and --lib options to uv init - Use virtual source label in lockfile for non-packaged dependencies - Read hash from URL fragment if --hashes are omitted - Support {package}@{version} in uv tool install - Publish additional Docker tags without patch version - Accept either strings or structs for hosts - Avoid including non-excluded members in parent workspaces - Avoid reading stale .egg-info from mutable sources - Avoid writing invalid PEP 723 scripts on tool.uv.sources - Compare virtual members when invalidating lockfile - Do not require workspace members to sync with --frozen - Implement deserialization for trusted host - Avoid showing duplicate paths in uv python list - Raise an error for unclosed script tags in PEP 723 scripts - Add dependabot and renovate documentation page - Bind to the host to allow connections in FastAPI Docker example - Fix some broken links - Update FastAPI guide for virtual projects and use uv init to create the pyproject.toml - Update project documentation for the application / library concepts - Update workspace documentation to remove legacy virtual projects - Add support for --allow-insecure-host (aliased to --trusted-host) - Read requirements from requires.txt when available - Respect tool.uv.environments in pip compile --universal - Use relative paths by default in uv add - Improve messages for empty solves and installs - Avoid reusing state across tool upgrades - Detect musl and error for musl Python builds - Ignore send errors in installer - Add development section to Docker guide and reference new example project - Add docs for constraint-dependencies and override-dependencies - Clarify package priority order in pip compatibility guide - Fix docs for disabling build isolation with uv sync - Improve consistency of directory lookup instructions in Docker - Improve lockfile concept documentation, add coverage for upgrades - Shift the order of some of the Docker guide content - Use python to highlight requirements and use more content tabs - Show --editable on the uv add CLI - Add --refresh to tool run warning for --with dependencies - Allow per dependency build isolation for setup.py-based projects - Avoid un-strict syncing by-default for build isolation - Respect --no-build-isolation-package in uv sync - Respect extras and markers on virtual dev dependencies - Support PEP 723 scripts in GUI files - Update lockfile after setting minimum bounds in uv add - Use relative paths for --find-links and local registries - Use separate types to represent raw vs. resolver markers - Parse wheels WHEEL and METADATA files as email messages - Support unquoted hrefs in --find-links and other HTML sources - Don't canonicalize paths to user requirements - Add FastAPI guide to overview - Add docs for disabling build isolation with uv sync - Add example of reading script from stdin using echo - Add tip to use intermediate layers in Docker builds - Clarify need to include pyproject.toml with --no-install-project - Move WORKDIR directive in Docker examples - Remove duplicate WORKDIR directive in Docker example - Add uv sync --no-install-project to skip installation of the project - Add uv sync --no-install-workspace to skip installation of all workspace members - Add uv sync --no-install-package to skip installation of specific packages - Show previous version in self update message - Add --no-project alias for uv python pin --no-workspace - Ignore .python-version files in uv venv with --no-config - Include virtual environment interpreters in uv python find - Respect - as stdin channel for uv run - Revert changes to pyproject.toml when sync fails during uv add - Add UV_COMPILE_BYTECODE environment variable - Set VIRTUAL_ENV for uv run invocations - Ignore errors in workspace discovery with --no-project - Add documentation for uv python find - Add uv tool install example in Docker - Document why we do lower bounds - Fix to miss string termination in PowerShell commands for shell autocompletion documentation - Fix incorrect workspace members keyword - Use proper environment variables for Windows - Improve caveat in uvx note - Add support for configuring python-downloads with UV_PYTHON_DOWNLOADS - Add support for configuring the python-preference with UV_PYTHON_PREFERENCE - Deny invalid members in workspace schema - Stop streaming wheels when METADATA is discovered (if range requests aren't supported) - Remove URI type from JSON Schema - Fix retrieval of credentials for URLs from cache - Restore cache suffix on Windows cache path - Treat .pyw files as scripts in uv run on Windows - Treat invalid extras as false in marker evaluation - Avoid overwriting symlinks in pip compile output - Add uv run hint to the uvx guide - Add a guide for using uv with FastAPI - Add tip for using managed = false to disable project management - Clarify the uv tool run, uvx, and uv run relationships - Fix references to --python-downloads (it is --no-python-downloads) - Further clarifications to the tools documentation - Update docs dockerfile (bullseye -> bookworm) - Update the installation documentation page - Update pip compatibility pages to mention configuration files support - Add uv run docs for gui scripts - Add --with-editable support to uv run - Respect .python-version files and pyproject.toml in uv python find - Allow manylinux compatibility override via _manylinux module - Avoid treating uv add -r as --raw-sources - Always invoke found interpreter when uv run python is used - Avoid adding extra newline for script with non-empty prelude - Fix metadata cache instability for lockfile - Handle Ctrl-C properly in uvx invocations - Ignore workspace discovery errors with --no-workspace - Invalidate uv.lock when virtual dev-dependencies change - Make cache robust to removed archives - Preserve Git username for SSH dependencies - Respect --no-build-isolation in uv add - Respect .python-version files in uv run outside projects - Use sys_executable for uv run invocations - Use atomic write for pip compile output - Use consistent logic for deserializing short revisions - Remove the preview default value of python-preference - Update env vars doc about XDG_* variables on macOS This release introduces the uv [project](https://docs.astral.sh/uv/guides/projects/), [tool](https://docs.astral.sh/uv/guides/tools/), [script](https://docs.astral.sh/uv/guides/scripts/), and [python](https://docs.astral.sh/uv/guides/install-python/) interfaces. If you've been following uv's development, you've probably seen these new commands behind a preview flag. Now, the interfaces are stable and ready for production-use. These features are all documented in [new, comprehensive documentation](https://docs.astral.sh/uv/). This release also stabilizes preview functionality in uv venv: - uv venv --python <version> will [automatically download](https://docs.astral.sh/uv/concepts/python-versions/#requesting-a-version) the Python version if required - uv venv will read the required Python version from the .python-version file or pyproject.toml The uv pip interface should not be affected by any breaking changes. Note the following changelog entries does not include all the new features since they were added incrementally as preview features. See the [feature page](https://docs.astral.sh/uv/getting-started/features/) in the documentation for a comprehensive listing, or read the [blog post](https://astral.sh/blog/uv-unified-python-packaging) for more context on the new features. - Migrate to XDG and Linux strategy for macOS directories - Move concurrency settings to top-level - Apply system Python filtering to executable name requests - Remove --legacy-setup-py command-line argument - Stabilize preview features - Add 32-bit Windows target - Add support for python_version in ... markers - Allow user to constrain supported lock environments - Lift requirement that .egg-info filenames must include version - Change "any of" to "all of" in error messages - Collapse redundant dependency clauses enumerating available versions - Collapse unavailable packages in resolver errors - Fix messages for unavailable packages when range is plural - Improve resolver error messages when --offline is used - Avoid overwriting dependencies with different markers in uv add - Simplify available package version ranges when the name includes markers or extras - Simplify version ranges reported for unavailable packages - Rename environment-markers to resolution-markers - Support uv add -r requirements.txt - Hide global options in uv generate-shell-completion - Show generate-shell-completion command in uv help - Special-case reinstalls in environment update summaries - Add output when uv add and uv remove update scripts - Add support for package@latest in tool run - Show python find output with -q - Warn when --upgrade is passed to tool run - Allow customizing the tool install directory with UV_TOOL_BIN_DIR - Use FxHash in uv-auth - Avoid panicking when the resolver thread encounters a closed channel - Respect release-only semantics of python_full_version when constructing markers - Tolerate missing [project] table in uv venv - Avoid using workspace lock_path as relative root - Preview changes are now included in the standard changelog - Document dynamic metadata behavior for cache - Document the effect of ordering on package priority - Make some edits to the workspace concept documentation - Update environment variables doc - Disable collapsible navigation in the documentation - Document uv add and uv remove behavior with markers - Document the Python installation directory - Document the uv.pip section semantics - Document the cache directory - Document the tools directory - Document yanked packages caveat during sync - Link to persistent configuration options in Python versions document - Link to the projects concept from the dependencies concept - Improvements to the Docker installation guide - Increase the size of navigation entries - Install ca-certificates in docker and use pipefail - Add script support to feature highlights in index - Show uv generate-shell-completion in CLI documentation reference - Update Docker guide for projects - Use uv add --script in guide - Show pinned version example on in GitHub Actions integration guide - Avoid cloning requirement for unchanged markers - Fix loading of cached metadata for Git distributions with subdirectories - Add env var to --link-mode=copy warning - Avoid displaying "failed to download" on build failures for local source distributions - Improve display of available package ranges - Use "your requirements" consistently in resolver error messages - Add python-version-file to GitHub integration documentation - Always narrow markers by Python version - Avoid warning for redundant --no-project - Change the definition of --locked to require satisfaction check - Improve debug log for interpreter requests during project commands - Improve display of resolution errors for workspace member conflicts with optional dependencies - Improve resolver error messages for single-project workspaces - Improve resolver error messages referencing workspace members - Invalidate uv.lock if registry sources are removed - Propagate fork markers to extras - Redact Git credentials from pyproject.toml - Redact Git credentials in lockfile - Remove 'tool' reference on uv run CLI - Remove same-graph merging in resolver - Strip SHA when constructing package source - Treat Git sources as immutable in lockfile - Use the proper singular form for workspace member dependencies in resolver errors - Use sets rather than vectors for lockfile requirements - Normalize python_version markers to python_full_version - Update Pythons to include Python 3.12.5 - Use consistent canonicalization for URLs - Improve warning message when parsing pyproject.toml fails - Improve handling of overlapping markers in universal resolver - Add resolver error context to run and tool run - Avoid replacing executables on no-op upgrades - Colocate Python install cache with destination directory - Filter mixed sources from --find-links entries in lockfile - Fix some outdated documentation discussing Python environments - Fix projects guide typo - Fix tools guide typo - Hide python options in uv tool list help - Improve top-level help for uv tool commands - Move help documentation into dedicated page - Remove editable: false support - Remove uses of Option<MarkerTree> in ResolutionGraph - Resolve relative tool.uv.sources relative to containing project - Support PEP 723 scripts in uv add and uv remove - Support tool.uv in PEP 723 scripts - Treat local indexes as registry sources in lockfile - Use simplified paths in lockfile - Use upgrade-specific output for tool upgrade - Deprecate --system and --no-system in uv venv - Make --upgrade imply --refresh - Warn when there are missing bounds on transitive dependencies with --resolution-strategy lowest - Add support for no-build-isolation-package - Enable LTO optimizations in release builds to reduce binary size - Prefetch metadata in --no-deps mode - Display portable paths in POSIX virtual environment activation commands - Respect subdirectories when locating Git workspaces - Improve the uv venv CLI documentation - Add CLI flags to reference documentation - Add update alias for uv tool upgrade - Add caveat about pip interface name - Add hint for long help to uvx - Avoid requires-python warning in virtual-only workspace - Discard forks when using --upgrade - Document the tool upgrade command - Document virtual environment discovery - Enable mirror for python-build-standalone downloads - Fix reuse of Git commits in lockfile - Ignore local configuration in tool commands - Improve the CLI documentation for uv add - Improve the CLI documentation for uv remove - Improve the uv lock CLI documentation - Improve the uv python CLI documentation - Improve the uv sync CLI documentation - Improve the uv tree CLI documentation - Fix link to tools concept page - Add uv tool upgrade command - Implement marker trees using algebraic decision diagrams - Make repeated uv add operations simpler - Move some documents to relevant sections - Rename distribution to packages in lockfile - Respect --upgrade-package in tool install - Respect --upgrade-package when resolving from lockfile - Retain and respect settings in tool upgrades - Search beyond workspace root when discovering configuration - Show build and install summaries in uv run and uv tool run - Support relative path wheels - Update the interface for declaring Python download preferences - Use cached environments for --with layers - Warn when project-specific settings are passed to non-project uv run commands - Always strip in release mode - Assume git+ prefix when URLs end in .git - Support build constraints - Create help sections for build, install, resolve, and index - Improve CLI documentation for global options - Improve --python CLI documentation - Improve display order of top-level commands - Allow downloading wheels for metadata with --no-binary - Reject pyproject.toml in --config-file - Remove double-proxy nodes in error reporting - Respect pre-release preferences from input files - Support overlapping local and non-local requirements in forks - Add "next steps" to some early documentation pages - Add --no-build-isolation to uv lock et al - Add --no-sources to avoid reading from tool.uv.sources - Add uv add --no-sync and uv remove --no-sync - Add a guide for publishing packages - Address some feedback in the tools documentation - Avoid lingering dev and optional dependencies in uv tree - Avoid mismatch in --locked with Git dependencies - Avoid panic when re-locking with precise commit - Avoid using already-installed tools on --upgrade or --reinstall - Better workspace documentation - Collapse policies section into reference - Don't show deprecated warning in uvx --isolated - Ensure python-to-pythonX.Y symlink exists in downloaded Pythons - Fix CLI reference URLs to subcommands - Fix some console blocks in the environment doc - Group resolver options in lockfile - Improve CLI documentation for uv tree - Improve documentation for uv init CLI - Improvements to the documentation - Link to the GitHub integration guide from the cache concept - Make some minor tweaks to the docs - Omit local segments when adding uv add bounds - Remove top-level bar from Python installs - Replace uv help python references in CLI documentation with links - Respect .python-version in --isolated runs - Respect malformed .dist-info directories in tool installs - Reuse existing virtualenvs with --no-project - Rewrite resolver docs - Show default and possible options in CLI reference documentation - Skip files when detecting workspace members - Support empty dependencies in PEP 723 scripts - Support uv add --dev in virtual workspaces - Update documentation index - Update resolver reference documentation - Update the override section with some content from the README - Update the resolution concept documentation - Use cache for Python install temporary directories - Use lockfile directly in uv tree - Use uv installer during build - Filter uv tree to current platform by default - Redact registry credentials in lockfile - Show extras and dev dependencies in uv tree - Support --python-platform in uv tree - Add help heading for --no-sources - Avoid reusing incompatible distributions across lock and sync - Fix broken anchor links in docs about dependencies - Fix the default value of python-preference in docs/reference/settings.md - Improve CLI documentation for uv run - Remove some trailing backticks from the docs - Use uvx in docs serve contributing command - Remove nostrip.patch. Using CARGO_* environmental variables to set build - Add shell completions for bash, fish, and zsh. - Add nostrip.patch. * this solves the issue of already stripped binaries from rpmlint - Update specfile: * source now points to python hosted * use maturin now for builds * prep to be a rust+python package - Move to generic python package naming: python-uv - Update to version 0.2.33: * Add support for ksh to relocatable virtual environments * Add help sections for global options * Move --python and --python-version into the "Python options" help * Show help specific options (i.e. --no-pager) in uv help * Update top-level command descriptions * Remove lingering executables after failed installs * Switch from heuristic freshness lifetime to hard-coded value * Don't use equals signs for CLI options with values - Use upstream github sources in specfile. - Add zstd as build requirement. - Update to version 0.2.30. Changelog include since 0.1.47: * Infer missing .exe in Windows Python discovery * Make --reinstall imply --refresh * Add --no-config to replace --isolated * Cache metadata for source tree dependencies * Avoid canonicalizing executables on Windows * Set standard permissions for temporary files * Add --ci mode to uv cache prune * Display Python installation key for discovered interpreters * Allow symlinks to files in scripts directory * Always accept already-installed pre-releases * Validate successful metadata fetch for direct dependencies * Add warning to --link-mode=symlink documentation * Output stable ordering to requirements.txt in universal mode * Allow symlinks with --find-links * Add support for variations of pythonw.exe * Stylize Requires-Python consistently in CLI output * Add --show-version-specifiers to tree * Avoid always rebuilding dynamic metadata * Avoid URL parsing when deserializing wheels * Avoid cache prune failure due to removed interpreter * Avoid including empty extras in resolution * If multiple indices contain the same version, use the first index * Include URLs on graph edges * Match wheel tags against Requires-Python major-minor * Remove Simple API cache files for alternative indexes in cache clean * Remove extraneous are from wheel tag error messages * Allow conflicting prerelease strategies when forking * Use tag error rather than requires-python error for ABI filtering * Add GraalPy support * Add a --verify-hashes hash-checking mode * Discover all python3.x executables in the PATH * Support --link-mode=symlink * Warn about unconstrained direct deps in lowest resolution * Log origin of version selection * Key hash policy on version, rather than package * Make missing project table a tracing warning * Remove trailing period from user-facing messages * Make entrypoint writes atomic to avoid overwriting symlinks * Use which-retrieved path directly when spawning pager * Don't apply irrelevant constraints when validating site-packages * Respect local versions for all user requirements * Add --no-progress global option to hide all progress animations * Cache downloaded wheel when range requests aren't supported * Download wheel to disk when streaming unzip failed with HTTP streaming error * Filter out invalid wheels based on requires-python * Filter out none ABI wheels with mismatched Python versions * Lock Git cache on resolve * Change order of pip compile command checks to handle exact argument first * Document that --universal implies --no-strip-markers * Include PyPy-specific executables when creating virtual environments with uv venv * Add a custom error message for --no-build-isolation torch dependencies * Improve missing wheel error message with --no-build-isolation * Add --no-pager option in help command * Unhide --isolated global argument * Warn when unused pyproject.toml configuration is detected * Fall back to streaming wheel when Content-Length header is absent * Fix substring marker expression disjointness checks * Lock directories to synchronize wheel-install copies * Normalize out complementary == or != markers * Retry on permission errors when persisting extracted source distributions to the cache * Set absolute URLs prior to uploading to PyPI * Exclude --upgrade-package from the pip compile header * Exclude --upgrade-package when option and value are passed as a single argument * Add split to cover marker universe when existing splits are incomplete * Use correct pyproject.toml path in warnings * Fix CONTRIBUTING.md instructions to install multiple Python versions * Use versioned badges when uploading to PyPI * Add support for 'any' Python requests * Allow constraints to be provided in --upgrade-package * Add manylinux_2_31 to supported --python-platform * Improve marker simplification * Display short help menu when --help is used * Allow uv help global options during uv help * Use paging for uv help display when available * Switch to single threaded async runtime * Avoid AND-ing multi-term specifiers in marker normalization * Avoid inferring package name for GitHub Archives * Retry on connection reset network errors * Apply extra to overrides and constraints * Allow uv crate to be used as a library * Update Windows trampoline binaries * Show user-facing warning when falling back to copy installs * Initialize all --prefix subdirectories * Respect requires-python when prefetching * Partially revert Requires-Python version narrowing * Add --exclude-newer to installer arguments * Bold durations in CLI messages * Drop crate description from the uv help menu * Update "about" in help menu * Add UV_OVERRIDE environment variable for --override * Always use release-only comparisons for requires-python * Avoid hangs before exiting CLI * Preserve verbatim URLs for --find-links * Fix issue where standalone installer failed to due missing uvx.exe binary on Windows * Differentiate freeze and list help text * Fix issue where the standalone installer failed due to a missing uvx binary * Indicate when we retried requests during network errors * Add --disable-pip-version-check to compatibility arguments * Allow uv pip sync to clear an environment with opt-in * Add --invert to uv pip tree * Omit (*) in uv pip tree for empty packages * Add --package to uv pip tree * Fix bug where git cache did not validate commits correctly * Narrow requires-python requirement in resolver forks * Fix bug when pruning the last package in uv pip tree * Make --universal and --python-platform mutually exclusive * Add --depth and --prune support to pip tree * Handle cycles when propagating markers * Ignore py not found errors during interpreter discovery * Merge markers when applying constraints * Retry on spurious failures when caching built wheels * Sort indexes during graph edge removal * Treat Python version as a lower bound in --universal * Fix the incorrect handling of markers in pip tree * Improve toolchain and environment missing error messages * Explicitly mention use of seed packages during uv venv --seed * Avoid enforcing extra-only constraints * Add a universal resolution mode to uv pip compile with --universal * Add support for --no-strip-markers in uv pip compile output * Add --no-dedupe support to uv pip tree * Enable more precise environment locking with --prefix * Allow local index references in requirements.txt files * Allow non-file:// paths to serve as --index-url values * Make .egg-info filename parsing spec compliant * Gracefully handle non-existent packages in local indexes * Read content length from response rather than request * Read persistent configuration from non-workspace pyproject.toml * Avoid panic for invalid, non-base index URLs * Skip submodule update for fresh clones * Use shared client in Git fetch implementation * Add --emit-build-options flag to uv pip compile interface * Add pythonw support for gui scripts on Windows * Add uv pip tree * Adjust the docs for the pip CLI commands * Fix casing of --no-compile alias * Fix ordering of prefer-system toolchain preference * Respect index strategy in source distribution builds * Add documentation for using uv in a Docker image * Support toolchain requests with platform-tag style Python implementations and version * Use "Prepared" instead of "Downloaded" in logs * Treat mismatched directory and file urls as unsatisfied requirements * Add resolver tracing logs for when we filter requirements * Allow specific --only-binary and --no-binary packages to override :all: * Flatten ORs and ANDs in marker construction * Skip invalid interpreters when searching for requested interpreter executable name * Display keyring stderr during queries * Allow discovery of uv binary relative to package root * Use relative path for lib64 symlink * Add uv version to debug output * Allow --no-binary with uv pip compile * Hide --no-system from the CLI * Make --reinstall, --upgrade, and --refresh shared arguments * Add UV_EXCLUDE_NEWER environment variable * Allow normalization to completely eliminate markers * Avoid treating direct path archives as always dynamic * De-duplicate markers during normalization * Fix incorrect parsing of requested Python version as empty version specifiers * Suggest correct command to create a virtual environment when encountering externally managed interpreters * Use consistent order for extra groups in lockfile * Add pip-compile defaults to PIP_COMPATIBILITY.md * Expand on pip-compile default differences * Tweak copy on some command-line arguments * Move the preview changelog so the GitHub Release shows stable changes * Add support for local directories with --index-url * Add mTLS support * Allow version specifiers to be used in Python version requests * Always install as editable when duplicate dependencies are requested * Avoid crash with XDG_CONFIG_HOME=/dev/null * Improve handling of missing interpreters during discovery * Make missing METADATA file a recoverable error * Represent build tag as u64 * Document Windows 10 requirement * Re-add aarch64-unknown-linux-gnu binary to release assets * Accept file:// URLs for requirements.txt et all references * Add support for --prefix * Add pyproject.toml to CLI help * Drop "registry" prefix from request timeout log * Allow transitive URLs via recursive extras * Avoid pre-fetching for unbounded minimum versions * Avoid showing dev hints for Python requirements * Include non-standard ports in keyring host queries * Omit URL dependencies from pre-release hints * Improve static metadata extraction for Poetry projects * Document bytecode compilation in pip compatibility guide * Fix PEP 508 link in preview doc specifying_dependencies * Clarify role of --system flag * Respect existing .egg-link files in site packages * Avoid extra-only filtering for constraints * Add install link for specific version to README * Fix uv venv handling when VIRTUAL_ENV refers to an non-existent environment * Support NO_COLOR and FORCE_COLOR environment variables * Avoid building packages with dynamic versions * Avoid work-stealing in bytecode compilation * Avoid dropping pip sync requirements with markers * Bias towards local directories for bare editable requirements * Preserve fragments when applying verbatim redirects * Avoid 'are incompatible' for singular bounded versions * Support PEP 508 requirements for editables * Discard fragments when parsing unnamed URLs * Port all Git functionality to use Git CLI * Use statically linked C runtime on Windows * Disable concurrent progress bars in Jupyter Notebooks * Initialize multi-progress state before individual bars * Add missing i686 alias for x86 * Add missing ppc64le alias for powerpc64le * Fix reference to --python-version patch behavior * Avoid race condition in OnceMap * Add support for x86 Windows * Add support for prepare_metadata_for_build_editable hook * Add concurrent progress bars for downloads * Update bundled Python URLs and add "arm" architecture variant * Allow --system and --python to be passed together * Ignore libc on other platforms * Incorporate build tag into wheel prioritization * Avoid displaying log for satisfied editables if none are requested * Improve logging during interpreter discovery * Improve logging for environment locking * Improve logging of interpreter implementation * Remove extra details from interpreter query traces * Use colon more consistently in error messages * Add JSON alias for unsafe-any-match * Remove redundant dynamically linked Linux binary again (#3762)" * Remove aarch64-unknown-linux-gnu from list of expected binaries * Always include package names for Git and HTTPS dependencies * Fix interpreter cache collisions for relative virtualenv paths * Ignore unnamed requirements in preferences * Search for python3 in unix virtual environments * Use a cross-platform representation for relative paths in pip compile * Report yanks for cached and resolved packages * Improve error message when default Python is not found * Do not treat interpereters discovered via CONDA_PREFIX as system interpreters * Re-added the dynamically-linked Linux binary * Rewrite Python interpreter discovery * Add support for requesting pypy interpreters by implementation name * Discover and prefer the parent interpreter when invoked with python -m uv [#3736](https://github.com/astral-sh/uv/pull/3736) * Add PEP 714 support for HTML API client * Add PEP 714 support for JSON API client * Write relative paths with unnamed requirement syntax * Allow relative Python executable paths in Windows trampoline * Add support for clang and msvc in missing header error * Allow --constraint files in pip sync * Allow --config-file to be passed before or after command name * Make --offline a global argument * Improve performance in complex resolutions by reducing cost of PubGrub package clones * Evaluate arbitrary markers to false * Improve DirWithoutEntrypoint error message * Improve display of root package in range errors * Propagate URL errors in verbatim parsing * Report yanked packages in --dry-run * Drop native manylinux wheel in favor of dual-tagged wheel * The python-patch test feature is no longer on by default and must be manually enabled to test patch version behavior * Add --prefix link to compatibility guide * Add --only-binary to compatibility guide * Add instructions for building and updating uv-trampolines * Add notes for testing on Windows * Parse and store extras on editable requirements * Allow local versions in wheel filenames * Create lib64 symlink for 64-bit, non-macOS, POSIX environments * Add UV_CONCURRENT_INSTALLS variable in favor of RAYON_NUM_THREADS * Add serialization and deserialization for --find-links * Apply combination logic to merge CLI and persistent configuration * Parallelize resolver * Reduce sensitivity of unknown option error to discard Python 2 interpreters * Respect installed packages in uv run * Separate cache construction from initialization * Add missing "directory" branch in source match * Fix source annotation in pip compile annotation-style=line output * Run cargo update to pull in h2 * URL-decode hashes in HTML fragments * Always print JSON output with --format json * Add UV_CONFIG_FILE environment variable to documentation * Explicitly mention --user in compatibility guide * Add musl ppc64le support * Retag musl aarch64 for manylinux2014 * Reverts "Use manylinux: auto to enable musllinux_1_2 aarch64 builds The manylinux change appeared to introduce SSL errors when building aarch64 Docker images, e.g., > invalid peer certificate: BadSignature - Initial package. Soc Virnyl Estela 2024-09-22 15:04:45 +00:00
  • 9c8af184df - Update source tarball from upstream GitHub instead of Python hosted * i received a version lesser than the actual in python hosted. upstream is more clearer to get. Soc Virnyl Estela 2024-09-21 16:49:30 +00:00
  • 431772e1f3 - Update to version 0.4.15: * Revert "Treat invalid platform as more compatible than invalid Python" * Add the execution policy to powershell installs for single versions * Move uvx shell completion to uvx --generate-shell-completion * Adjust messaging for frozen hint on resolution failure during uv add * Provide resolution hints in case of possible local name conflicts * Improve Docker image release tagging order and display on ghcr.io * Improve deserialization error messages * Allow system environments during project environment validity check * Avoid validating workspace members when --no-sources is provided * Fix handling of sys.base_prefix collision in interpreter identity check during tool installs * Make uv cache prune robust to unreadable rkyv entries * Revert "Remove duplicate warning for settings discovery errors" * Fix - to _ in packaged applications document * Add socks support * Avoid warning about bad Python interpreter links for empty project environment directories * Improve invalid environment warning messages * Use more verbose spelling of "virtualenv" during creation * Do not use a user-facing warning for "Waiting to acquire lock..." message * Use a single buffer for hints on resolver errors * Allow Python pre-releases to be used if they are first on the PATH * Avoid deleting the project environment directory if it is not a virtual environment * Do not error if the CACHEDIR.TAG file exists but cannot be written to * Treat invalid platform as more compatible than invalid Python * Use portable paths when serializing sources * Compute resolver hints using the final reduced derivation tree * Bump the wheel and sdist cache versions * Heal cache entries with missing source distributions * Bump minimum supported Rust version from 1.80 -> 1.81 * Add UV_LINK_MODE to Docker caching example Soc Virnyl Estela 2024-09-21 16:09:11 +00:00
  • f717a367b5 Accepting request 1201235 from devel:languages:python Ana Guerrero 2024-09-16 15:42:23 +00:00
  • abdbc812d7 - update to version 0.4.9 * Add support for managed Python 3.13 * Upgrade managed CPython versions to latest patch releases * Allow setting a target version for uv self update * Create py.typed files during uv init --lib * Add a dedicated error for packages that fail due to distutils deprecation * Improve error message when requested Python version is unsupported * Add uv run --no-sync * Avoid updating pyproject.toml offsets on non-add edits * Invalidate cache when --config-settings change * Remove workspace root for single-member workspace with uv export Soc Virnyl Estela 2024-09-13 08:11:19 +00:00
  • a22aee155c - Set debuginfo for non-tier1 archs to "limited" - This package is a chonker. Let's add some _constraints - Force gcc version 13 - Update to version 0.4.8: - Add support for dynamic cache keys - Allow .dist-info names with dashes for post releases - Use type hints in code from uv init - Treat .tgz the same as .tar.gz - Direct users towards uv venv to create a virtual environment - Improve error message for uv init already init-ed - Avoid batch prefetching for un-optimized registries - Avoid iteration for singleton selections - Avoid extra newlines in debug logging for source builds - Prune unreachable packages from --universal output - Respect exclusion when collecting workspace members - Use path file instead of sitecustomize.py - Replace incorrect --source and --binary flags with correct --sdist and --wheel flags in uv build - Document support for UV_INSTALL_DIR - List all supported sdist formats - Add --no-emit-project and friends to uv export - Add --output-file to uv export - Prune unused source distributions from the cache in uv cache prune - Take intersection of constraint and requirements hashes - Skip metadata fetch for --no-deps and pip sync - Avoid panicking when encountering an invalid Python version during uv python list - Write trailing newline to .python-version files - Accept --build-constraints in uv build - Add --require-hashes and --verify-hashes to uv build - Add --show-version-specifiers to uv tool list - Respect hashes in constraints files - Upgrade installer scripts - Allow specifying multiple packages in uv tool upgrade and uninstall - Sort by implementation in uv python list - Invalidate lockfile when member versions change - Strip fragments from direct source URLs in lockfile - Support --no-build and --no-binary in uv sync et al - Use distribution hash over registry hash - Fix inverted log message - Adjust Docker ENTRYPOINT and CMD for inherited images - Add winget to installers - Document how to disable path modifications during install - Document how to manually update locked package version - Document official setup-uv action - Update docs on .python-version file - Implement uv build - Add --package support to uv build - Prune unreachable packages from lockfile - Prune unreachable wheels from lockfile - Show build output by default in uv build - Support uv build --wheel from source distributions - Use the root project name for the project virtual environment prompt - Fix handling of inline optional dependencies in uv add - Reflect exit code in uv tool run and uv run - Revert pyproject.toml modifications on Ctrl-C - Rollback pyproject.toml changes on all errors - Use correct ordering semantics for narrowing upper-bounded Python requirements - Fix segfault in Windows trampolines - Remove unused __future__.annotations import in _virtualenv.py - Add documentation for uv build - Add note to extra and all-extras in uv sync help - Add project docs for project.scripts - Fix available Docker image tag rendering and shorten list - Touchup to the project environment config section - Clarify precedence of uv.toml - Fix available Docker tags for -slim variants - Allow customizing the project environment path with UV_PROJECT_ENVIRONMENT - Warn when VIRTUAL_ENV is set but will not be respected in project commands - Add --no-hashes to uv export - Make HTTP headers title case for backward compatibility - Pin .python-version in uv init - Support file:// URLs for UV_PYTHON_INSTALL_MIRROR - Introduce more docker tags for uv - Avoid canonicalizing the cache directory - Show all PyPy versions in uv python list --all-versions - Avoid incorrect requires-python marker simplifications - Add documentation for UV_PROJECT_ENVIRONMENT - Add optional dependencies section to the lockfile document - Document use of the file:// scheme in Python installation mirrors - Fix outdated references to the help menu documentation in the first steps page - Show env option in CLI reference documentation - Add bind mount example to docker.md - Show build backend output when --verbose is provided - Allow uv sync --frozen --package without copying member pyproject.toml - Avoid panic with missing temporary directory - Avoid updating incorrect dependencies for sorted uv add - Use lower-bound semantics for all Python compatibility comparisons - Adding support for .pyc files in uv run - Treat missing top_level.txt as non-fatal - Fix is_disjoint check for supported environments - Remove dangling archives in uv cache clean ${package} - Error when discovered Python is incompatible with --isolated workspace - Warn when discovered Python is incompatible with PEP 723 script - Add uv export --format requirements-txt - Allow @ references in uv tool install --from - Normalize version specifiers by sorting - Respect the user's upper-bound in requires-python - Use Windows registry to discover Python on Windows directly - Hint at --no-workspace in uv init failures - Update to last PyPy releases - Avoid deadlocks when multiple uv processes lock resources - Expand tildes when matching against PATH - Fix uv init --no-project alias - Ignore pre-release segments when discovering via requires-python - Support inline optional tables in uv add and uv remove - Update default hello.py to pass ruff format - Avoid stripping root for user path display - Error when user-provided environments are disjoint with Python - Retain alphabetical sorting for pyproject.toml in uv add operations - Add a link to the multiple index docs in the alternative index guide - Add docs for inline exclude newer in PEP 723 scripts - Enumerate available Docker tags - Omit [pip] section from configuration file docs - Update project.urls in pyproject.toml - Add docs for AWS CodeArtifact usage This release adds first-class support for Python projects that are not designed as Python packages (e.g., web applications, data science projects, etc.). In doing so, it includes some breaking changes around uv's handling of projects. Previously, uv required that all projects could be built into distributable Python packages, and installed them into the virtual environment. Projects created by uv init always included a [build-system] definition and existing projects that did not define a [build-system] would use the legacy setuptools build backend by default. Most users are not developing libraries that need to be packaged and published to PyPI. Instead, they're building applications using web frameworks, or running collections of Python scripts in the project's root directory. In these cases, requiring a [build-system] was confusing and error-prone. In this release, uv changes the default behavior to orient around these common use cases. In summary, the major changes are: - uv no longer attempts to package and install projects that do not define a [build-system]. - While the project itself will not be installed into the virtual environment, its dependencies will still be included. - The previous behavior can be recovered by setting package = true in the [tool.uv] section of your pyproject.toml. - uv init no longer creates a src/ directory or defines a [build-system] by default. - The previous behavior can be recovered with uv init --lib or uv init --app --package. - uv allows and recommends including [project] definitions in virtual workspace roots. - Previously, the uv required the [project] section to be omitted. - uv allows disabling packaging of projects, even if they define a [build-system], by setting package = false in the [tool.uv] section of your pyproject.toml. See the latest documentation on [build systems in projects](http://docs.astral.sh/uv/concepts/projects/#build-systems) for more details. - Add first-class support for non-packaged projects - Add --app and --lib options to uv init - Use virtual source label in lockfile for non-packaged dependencies - Read hash from URL fragment if --hashes are omitted - Support {package}@{version} in uv tool install - Publish additional Docker tags without patch version - Accept either strings or structs for hosts - Avoid including non-excluded members in parent workspaces - Avoid reading stale .egg-info from mutable sources - Avoid writing invalid PEP 723 scripts on tool.uv.sources - Compare virtual members when invalidating lockfile - Do not require workspace members to sync with --frozen - Implement deserialization for trusted host - Avoid showing duplicate paths in uv python list - Raise an error for unclosed script tags in PEP 723 scripts - Add dependabot and renovate documentation page - Bind to the host to allow connections in FastAPI Docker example - Fix some broken links - Update FastAPI guide for virtual projects and use uv init to create the pyproject.toml - Update project documentation for the application / library concepts - Update workspace documentation to remove legacy virtual projects - Add support for --allow-insecure-host (aliased to --trusted-host) - Read requirements from requires.txt when available - Respect tool.uv.environments in pip compile --universal - Use relative paths by default in uv add - Improve messages for empty solves and installs - Avoid reusing state across tool upgrades - Detect musl and error for musl Python builds - Ignore send errors in installer - Add development section to Docker guide and reference new example project - Add docs for constraint-dependencies and override-dependencies - Clarify package priority order in pip compatibility guide - Fix docs for disabling build isolation with uv sync - Improve consistency of directory lookup instructions in Docker - Improve lockfile concept documentation, add coverage for upgrades - Shift the order of some of the Docker guide content - Use python to highlight requirements and use more content tabs - Show --editable on the uv add CLI - Add --refresh to tool run warning for --with dependencies - Allow per dependency build isolation for setup.py-based projects - Avoid un-strict syncing by-default for build isolation - Respect --no-build-isolation-package in uv sync - Respect extras and markers on virtual dev dependencies - Support PEP 723 scripts in GUI files - Update lockfile after setting minimum bounds in uv add - Use relative paths for --find-links and local registries - Use separate types to represent raw vs. resolver markers - Parse wheels WHEEL and METADATA files as email messages - Support unquoted hrefs in --find-links and other HTML sources - Don't canonicalize paths to user requirements - Add FastAPI guide to overview - Add docs for disabling build isolation with uv sync - Add example of reading script from stdin using echo - Add tip to use intermediate layers in Docker builds - Clarify need to include pyproject.toml with --no-install-project - Move WORKDIR directive in Docker examples - Remove duplicate WORKDIR directive in Docker example - Add uv sync --no-install-project to skip installation of the project - Add uv sync --no-install-workspace to skip installation of all workspace members - Add uv sync --no-install-package to skip installation of specific packages - Show previous version in self update message - Add --no-project alias for uv python pin --no-workspace - Ignore .python-version files in uv venv with --no-config - Include virtual environment interpreters in uv python find - Respect - as stdin channel for uv run - Revert changes to pyproject.toml when sync fails during uv add - Add UV_COMPILE_BYTECODE environment variable - Set VIRTUAL_ENV for uv run invocations - Ignore errors in workspace discovery with --no-project - Add documentation for uv python find - Add uv tool install example in Docker - Document why we do lower bounds - Fix to miss string termination in PowerShell commands for shell autocompletion documentation - Fix incorrect workspace members keyword - Use proper environment variables for Windows - Improve caveat in uvx note - Add support for configuring python-downloads with UV_PYTHON_DOWNLOADS - Add support for configuring the python-preference with UV_PYTHON_PREFERENCE - Deny invalid members in workspace schema - Stop streaming wheels when METADATA is discovered (if range requests aren't supported) - Remove URI type from JSON Schema - Fix retrieval of credentials for URLs from cache - Restore cache suffix on Windows cache path - Treat .pyw files as scripts in uv run on Windows - Treat invalid extras as false in marker evaluation - Avoid overwriting symlinks in pip compile output - Add uv run hint to the uvx guide - Add a guide for using uv with FastAPI - Add tip for using managed = false to disable project management - Clarify the uv tool run, uvx, and uv run relationships - Fix references to --python-downloads (it is --no-python-downloads) - Further clarifications to the tools documentation - Update docs dockerfile (bullseye -> bookworm) - Update the installation documentation page - Update pip compatibility pages to mention configuration files support - Add uv run docs for gui scripts - Add --with-editable support to uv run - Respect .python-version files and pyproject.toml in uv python find - Allow manylinux compatibility override via _manylinux module - Avoid treating uv add -r as --raw-sources - Always invoke found interpreter when uv run python is used - Avoid adding extra newline for script with non-empty prelude - Fix metadata cache instability for lockfile - Handle Ctrl-C properly in uvx invocations - Ignore workspace discovery errors with --no-workspace - Invalidate uv.lock when virtual dev-dependencies change - Make cache robust to removed archives - Preserve Git username for SSH dependencies - Respect --no-build-isolation in uv add - Respect .python-version files in uv run outside projects - Use sys_executable for uv run invocations - Use atomic write for pip compile output - Use consistent logic for deserializing short revisions - Remove the preview default value of python-preference - Update env vars doc about XDG_* variables on macOS This release introduces the uv [project](https://docs.astral.sh/uv/guides/projects/), [tool](https://docs.astral.sh/uv/guides/tools/), [script](https://docs.astral.sh/uv/guides/scripts/), and [python](https://docs.astral.sh/uv/guides/install-python/) interfaces. If you've been following uv's development, you've probably seen these new commands behind a preview flag. Now, the interfaces are stable and ready for production-use. These features are all documented in [new, comprehensive documentation](https://docs.astral.sh/uv/). This release also stabilizes preview functionality in uv venv: - uv venv --python <version> will [automatically download](https://docs.astral.sh/uv/concepts/python-versions/#requesting-a-version) the Python version if required - uv venv will read the required Python version from the .python-version file or pyproject.toml The uv pip interface should not be affected by any breaking changes. Note the following changelog entries does not include all the new features since they were added incrementally as preview features. See the [feature page](https://docs.astral.sh/uv/getting-started/features/) in the documentation for a comprehensive listing, or read the [blog post](https://astral.sh/blog/uv-unified-python-packaging) for more context on the new features. - Migrate to XDG and Linux strategy for macOS directories - Move concurrency settings to top-level - Apply system Python filtering to executable name requests - Remove --legacy-setup-py command-line argument - Stabilize preview features - Add 32-bit Windows target - Add support for python_version in ... markers - Allow user to constrain supported lock environments - Lift requirement that .egg-info filenames must include version - Change "any of" to "all of" in error messages - Collapse redundant dependency clauses enumerating available versions - Collapse unavailable packages in resolver errors - Fix messages for unavailable packages when range is plural - Improve resolver error messages when --offline is used - Avoid overwriting dependencies with different markers in uv add - Simplify available package version ranges when the name includes markers or extras - Simplify version ranges reported for unavailable packages - Rename environment-markers to resolution-markers - Support uv add -r requirements.txt - Hide global options in uv generate-shell-completion - Show generate-shell-completion command in uv help - Special-case reinstalls in environment update summaries - Add output when uv add and uv remove update scripts - Add support for package@latest in tool run - Show python find output with -q - Warn when --upgrade is passed to tool run - Allow customizing the tool install directory with UV_TOOL_BIN_DIR - Use FxHash in uv-auth - Avoid panicking when the resolver thread encounters a closed channel - Respect release-only semantics of python_full_version when constructing markers - Tolerate missing [project] table in uv venv - Avoid using workspace lock_path as relative root - Preview changes are now included in the standard changelog - Document dynamic metadata behavior for cache - Document the effect of ordering on package priority - Make some edits to the workspace concept documentation - Update environment variables doc - Disable collapsible navigation in the documentation - Document uv add and uv remove behavior with markers - Document the Python installation directory - Document the uv.pip section semantics - Document the cache directory - Document the tools directory - Document yanked packages caveat during sync - Link to persistent configuration options in Python versions document - Link to the projects concept from the dependencies concept - Improvements to the Docker installation guide - Increase the size of navigation entries - Install ca-certificates in docker and use pipefail - Add script support to feature highlights in index - Show uv generate-shell-completion in CLI documentation reference - Update Docker guide for projects - Use uv add --script in guide - Show pinned version example on in GitHub Actions integration guide - Avoid cloning requirement for unchanged markers - Fix loading of cached metadata for Git distributions with subdirectories - Add env var to --link-mode=copy warning - Avoid displaying "failed to download" on build failures for local source distributions - Improve display of available package ranges - Use "your requirements" consistently in resolver error messages - Add python-version-file to GitHub integration documentation - Always narrow markers by Python version - Avoid warning for redundant --no-project - Change the definition of --locked to require satisfaction check - Improve debug log for interpreter requests during project commands - Improve display of resolution errors for workspace member conflicts with optional dependencies - Improve resolver error messages for single-project workspaces - Improve resolver error messages referencing workspace members - Invalidate uv.lock if registry sources are removed - Propagate fork markers to extras - Redact Git credentials from pyproject.toml - Redact Git credentials in lockfile - Remove 'tool' reference on uv run CLI - Remove same-graph merging in resolver - Strip SHA when constructing package source - Treat Git sources as immutable in lockfile - Use the proper singular form for workspace member dependencies in resolver errors - Use sets rather than vectors for lockfile requirements - Normalize python_version markers to python_full_version - Update Pythons to include Python 3.12.5 - Use consistent canonicalization for URLs - Improve warning message when parsing pyproject.toml fails - Improve handling of overlapping markers in universal resolver - Add resolver error context to run and tool run - Avoid replacing executables on no-op upgrades - Colocate Python install cache with destination directory - Filter mixed sources from --find-links entries in lockfile - Fix some outdated documentation discussing Python environments - Fix projects guide typo - Fix tools guide typo - Hide python options in uv tool list help - Improve top-level help for uv tool commands - Move help documentation into dedicated page - Remove editable: false support - Remove uses of Option<MarkerTree> in ResolutionGraph - Resolve relative tool.uv.sources relative to containing project - Support PEP 723 scripts in uv add and uv remove - Support tool.uv in PEP 723 scripts - Treat local indexes as registry sources in lockfile - Use simplified paths in lockfile - Use upgrade-specific output for tool upgrade - Deprecate --system and --no-system in uv venv - Make --upgrade imply --refresh - Warn when there are missing bounds on transitive dependencies with --resolution-strategy lowest - Add support for no-build-isolation-package - Enable LTO optimizations in release builds to reduce binary size - Prefetch metadata in --no-deps mode - Display portable paths in POSIX virtual environment activation commands - Respect subdirectories when locating Git workspaces - Improve the uv venv CLI documentation - Add CLI flags to reference documentation - Add update alias for uv tool upgrade - Add caveat about pip interface name - Add hint for long help to uvx - Avoid requires-python warning in virtual-only workspace - Discard forks when using --upgrade - Document the tool upgrade command - Document virtual environment discovery - Enable mirror for python-build-standalone downloads - Fix reuse of Git commits in lockfile - Ignore local configuration in tool commands - Improve the CLI documentation for uv add - Improve the CLI documentation for uv remove - Improve the uv lock CLI documentation - Improve the uv python CLI documentation - Improve the uv sync CLI documentation - Improve the uv tree CLI documentation - Fix link to tools concept page - Add uv tool upgrade command - Implement marker trees using algebraic decision diagrams - Make repeated uv add operations simpler - Move some documents to relevant sections - Rename distribution to packages in lockfile - Respect --upgrade-package in tool install - Respect --upgrade-package when resolving from lockfile - Retain and respect settings in tool upgrades - Search beyond workspace root when discovering configuration - Show build and install summaries in uv run and uv tool run - Support relative path wheels - Update the interface for declaring Python download preferences - Use cached environments for --with layers - Warn when project-specific settings are passed to non-project uv run commands - Always strip in release mode - Assume git+ prefix when URLs end in .git - Support build constraints - Create help sections for build, install, resolve, and index - Improve CLI documentation for global options - Improve --python CLI documentation - Improve display order of top-level commands - Allow downloading wheels for metadata with --no-binary - Reject pyproject.toml in --config-file - Remove double-proxy nodes in error reporting - Respect pre-release preferences from input files - Support overlapping local and non-local requirements in forks - Add "next steps" to some early documentation pages - Add --no-build-isolation to uv lock et al - Add --no-sources to avoid reading from tool.uv.sources - Add uv add --no-sync and uv remove --no-sync - Add a guide for publishing packages - Address some feedback in the tools documentation - Avoid lingering dev and optional dependencies in uv tree - Avoid mismatch in --locked with Git dependencies - Avoid panic when re-locking with precise commit - Avoid using already-installed tools on --upgrade or --reinstall - Better workspace documentation - Collapse policies section into reference - Don't show deprecated warning in uvx --isolated - Ensure python-to-pythonX.Y symlink exists in downloaded Pythons - Fix CLI reference URLs to subcommands - Fix some console blocks in the environment doc - Group resolver options in lockfile - Improve CLI documentation for uv tree - Improve documentation for uv init CLI - Improvements to the documentation - Link to the GitHub integration guide from the cache concept - Make some minor tweaks to the docs - Omit local segments when adding uv add bounds - Remove top-level bar from Python installs - Replace uv help python references in CLI documentation with links - Respect .python-version in --isolated runs - Respect malformed .dist-info directories in tool installs - Reuse existing virtualenvs with --no-project - Rewrite resolver docs - Show default and possible options in CLI reference documentation - Skip files when detecting workspace members - Support empty dependencies in PEP 723 scripts - Support uv add --dev in virtual workspaces - Update documentation index - Update resolver reference documentation - Update the override section with some content from the README - Update the resolution concept documentation - Use cache for Python install temporary directories - Use lockfile directly in uv tree - Use uv installer during build - Filter uv tree to current platform by default - Redact registry credentials in lockfile - Show extras and dev dependencies in uv tree - Support --python-platform in uv tree - Add help heading for --no-sources - Avoid reusing incompatible distributions across lock and sync - Fix broken anchor links in docs about dependencies - Fix the default value of python-preference in docs/reference/settings.md - Improve CLI documentation for uv run - Remove some trailing backticks from the docs - Use uvx in docs serve contributing command - Remove nostrip.patch. Using CARGO_* environmental variables to set build Soc Virnyl Estela 2024-09-10 15:52:47 +00:00
  • 119fe33efa - Add shell completions for bash, fish, and zsh. - Add nostrip.patch. * this solves the issue of already stripped binaries from rpmlint - Update specfile: * source now points to python hosted * use maturin now for builds * prep to be a rust+python package - Move to generic python package naming: python-uv - Update to version 0.2.33: * Add support for ksh to relocatable virtual environments * Add help sections for global options * Move --python and --python-version into the "Python options" help * Show help specific options (i.e. --no-pager) in uv help * Update top-level command descriptions * Remove lingering executables after failed installs * Switch from heuristic freshness lifetime to hard-coded value * Don't use equals signs for CLI options with values - Use upstream github sources in specfile. - Add zstd as build requirement. - Update to version 0.2.30. Changelog include since 0.1.47: * Infer missing .exe in Windows Python discovery * Make --reinstall imply --refresh * Add --no-config to replace --isolated * Cache metadata for source tree dependencies * Avoid canonicalizing executables on Windows * Set standard permissions for temporary files * Add --ci mode to uv cache prune * Display Python installation key for discovered interpreters * Allow symlinks to files in scripts directory * Always accept already-installed pre-releases * Validate successful metadata fetch for direct dependencies * Add warning to --link-mode=symlink documentation * Output stable ordering to requirements.txt in universal mode * Allow symlinks with --find-links * Add support for variations of pythonw.exe * Stylize Requires-Python consistently in CLI output * Add --show-version-specifiers to tree * Avoid always rebuilding dynamic metadata * Avoid URL parsing when deserializing wheels * Avoid cache prune failure due to removed interpreter * Avoid including empty extras in resolution * If multiple indices contain the same version, use the first index * Include URLs on graph edges * Match wheel tags against Requires-Python major-minor * Remove Simple API cache files for alternative indexes in cache clean * Remove extraneous are from wheel tag error messages * Allow conflicting prerelease strategies when forking * Use tag error rather than requires-python error for ABI filtering * Add GraalPy support * Add a --verify-hashes hash-checking mode * Discover all python3.x executables in the PATH * Support --link-mode=symlink * Warn about unconstrained direct deps in lowest resolution * Log origin of version selection * Key hash policy on version, rather than package * Make missing project table a tracing warning * Remove trailing period from user-facing messages * Make entrypoint writes atomic to avoid overwriting symlinks * Use which-retrieved path directly when spawning pager * Don't apply irrelevant constraints when validating site-packages * Respect local versions for all user requirements * Add --no-progress global option to hide all progress animations * Cache downloaded wheel when range requests aren't supported * Download wheel to disk when streaming unzip failed with HTTP streaming error * Filter out invalid wheels based on requires-python * Filter out none ABI wheels with mismatched Python versions * Lock Git cache on resolve * Change order of pip compile command checks to handle exact argument first * Document that --universal implies --no-strip-markers * Include PyPy-specific executables when creating virtual environments with uv venv * Add a custom error message for --no-build-isolation torch dependencies * Improve missing wheel error message with --no-build-isolation * Add --no-pager option in help command * Unhide --isolated global argument * Warn when unused pyproject.toml configuration is detected * Fall back to streaming wheel when Content-Length header is absent * Fix substring marker expression disjointness checks * Lock directories to synchronize wheel-install copies * Normalize out complementary == or != markers * Retry on permission errors when persisting extracted source distributions to the cache * Set absolute URLs prior to uploading to PyPI * Exclude --upgrade-package from the pip compile header * Exclude --upgrade-package when option and value are passed as a single argument * Add split to cover marker universe when existing splits are incomplete * Use correct pyproject.toml path in warnings * Fix CONTRIBUTING.md instructions to install multiple Python versions * Use versioned badges when uploading to PyPI * Add support for 'any' Python requests * Allow constraints to be provided in --upgrade-package * Add manylinux_2_31 to supported --python-platform * Improve marker simplification * Display short help menu when --help is used * Allow uv help global options during uv help * Use paging for uv help display when available * Switch to single threaded async runtime * Avoid AND-ing multi-term specifiers in marker normalization * Avoid inferring package name for GitHub Archives * Retry on connection reset network errors * Apply extra to overrides and constraints * Allow uv crate to be used as a library * Update Windows trampoline binaries * Show user-facing warning when falling back to copy installs * Initialize all --prefix subdirectories * Respect requires-python when prefetching * Partially revert Requires-Python version narrowing * Add --exclude-newer to installer arguments * Bold durations in CLI messages * Drop crate description from the uv help menu * Update "about" in help menu * Add UV_OVERRIDE environment variable for --override * Always use release-only comparisons for requires-python * Avoid hangs before exiting CLI * Preserve verbatim URLs for --find-links * Fix issue where standalone installer failed to due missing uvx.exe binary on Windows * Differentiate freeze and list help text * Fix issue where the standalone installer failed due to a missing uvx binary * Indicate when we retried requests during network errors * Add --disable-pip-version-check to compatibility arguments * Allow uv pip sync to clear an environment with opt-in * Add --invert to uv pip tree * Omit (*) in uv pip tree for empty packages * Add --package to uv pip tree * Fix bug where git cache did not validate commits correctly * Narrow requires-python requirement in resolver forks * Fix bug when pruning the last package in uv pip tree * Make --universal and --python-platform mutually exclusive * Add --depth and --prune support to pip tree * Handle cycles when propagating markers * Ignore py not found errors during interpreter discovery * Merge markers when applying constraints * Retry on spurious failures when caching built wheels * Sort indexes during graph edge removal * Treat Python version as a lower bound in --universal * Fix the incorrect handling of markers in pip tree * Improve toolchain and environment missing error messages * Explicitly mention use of seed packages during uv venv --seed * Avoid enforcing extra-only constraints * Add a universal resolution mode to uv pip compile with --universal * Add support for --no-strip-markers in uv pip compile output * Add --no-dedupe support to uv pip tree * Enable more precise environment locking with --prefix * Allow local index references in requirements.txt files * Allow non-file:// paths to serve as --index-url values * Make .egg-info filename parsing spec compliant * Gracefully handle non-existent packages in local indexes * Read content length from response rather than request * Read persistent configuration from non-workspace pyproject.toml * Avoid panic for invalid, non-base index URLs * Skip submodule update for fresh clones * Use shared client in Git fetch implementation * Add --emit-build-options flag to uv pip compile interface * Add pythonw support for gui scripts on Windows * Add uv pip tree * Adjust the docs for the pip CLI commands * Fix casing of --no-compile alias * Fix ordering of prefer-system toolchain preference * Respect index strategy in source distribution builds * Add documentation for using uv in a Docker image * Support toolchain requests with platform-tag style Python implementations and version * Use "Prepared" instead of "Downloaded" in logs * Treat mismatched directory and file urls as unsatisfied requirements * Add resolver tracing logs for when we filter requirements * Allow specific --only-binary and --no-binary packages to override :all: * Flatten ORs and ANDs in marker construction * Skip invalid interpreters when searching for requested interpreter executable name * Display keyring stderr during queries * Allow discovery of uv binary relative to package root * Use relative path for lib64 symlink * Add uv version to debug output * Allow --no-binary with uv pip compile * Hide --no-system from the CLI * Make --reinstall, --upgrade, and --refresh shared arguments * Add UV_EXCLUDE_NEWER environment variable * Allow normalization to completely eliminate markers * Avoid treating direct path archives as always dynamic * De-duplicate markers during normalization * Fix incorrect parsing of requested Python version as empty version specifiers * Suggest correct command to create a virtual environment when encountering externally managed interpreters * Use consistent order for extra groups in lockfile * Add pip-compile defaults to PIP_COMPATIBILITY.md * Expand on pip-compile default differences * Tweak copy on some command-line arguments * Move the preview changelog so the GitHub Release shows stable changes * Add support for local directories with --index-url * Add mTLS support * Allow version specifiers to be used in Python version requests * Always install as editable when duplicate dependencies are requested * Avoid crash with XDG_CONFIG_HOME=/dev/null * Improve handling of missing interpreters during discovery * Make missing METADATA file a recoverable error * Represent build tag as u64 * Document Windows 10 requirement * Re-add aarch64-unknown-linux-gnu binary to release assets * Accept file:// URLs for requirements.txt et all references * Add support for --prefix * Add pyproject.toml to CLI help * Drop "registry" prefix from request timeout log * Allow transitive URLs via recursive extras * Avoid pre-fetching for unbounded minimum versions * Avoid showing dev hints for Python requirements * Include non-standard ports in keyring host queries * Omit URL dependencies from pre-release hints * Improve static metadata extraction for Poetry projects * Document bytecode compilation in pip compatibility guide * Fix PEP 508 link in preview doc specifying_dependencies * Clarify role of --system flag * Respect existing .egg-link files in site packages * Avoid extra-only filtering for constraints * Add install link for specific version to README * Fix uv venv handling when VIRTUAL_ENV refers to an non-existent environment * Support NO_COLOR and FORCE_COLOR environment variables * Avoid building packages with dynamic versions * Avoid work-stealing in bytecode compilation * Avoid dropping pip sync requirements with markers * Bias towards local directories for bare editable requirements * Preserve fragments when applying verbatim redirects * Avoid 'are incompatible' for singular bounded versions * Support PEP 508 requirements for editables * Discard fragments when parsing unnamed URLs * Port all Git functionality to use Git CLI * Use statically linked C runtime on Windows * Disable concurrent progress bars in Jupyter Notebooks * Initialize multi-progress state before individual bars * Add missing i686 alias for x86 * Add missing ppc64le alias for powerpc64le * Fix reference to --python-version patch behavior * Avoid race condition in OnceMap * Add support for x86 Windows * Add support for prepare_metadata_for_build_editable hook * Add concurrent progress bars for downloads * Update bundled Python URLs and add "arm" architecture variant * Allow --system and --python to be passed together * Ignore libc on other platforms * Incorporate build tag into wheel prioritization * Avoid displaying log for satisfied editables if none are requested * Improve logging during interpreter discovery * Improve logging for environment locking * Improve logging of interpreter implementation * Remove extra details from interpreter query traces * Use colon more consistently in error messages * Add JSON alias for unsafe-any-match * Remove redundant dynamically linked Linux binary again (#3762)" * Remove aarch64-unknown-linux-gnu from list of expected binaries * Always include package names for Git and HTTPS dependencies * Fix interpreter cache collisions for relative virtualenv paths * Ignore unnamed requirements in preferences * Search for python3 in unix virtual environments * Use a cross-platform representation for relative paths in pip compile * Report yanks for cached and resolved packages * Improve error message when default Python is not found * Do not treat interpereters discovered via CONDA_PREFIX as system interpreters * Re-added the dynamically-linked Linux binary * Rewrite Python interpreter discovery * Add support for requesting pypy interpreters by implementation name * Discover and prefer the parent interpreter when invoked with python -m uv [#3736](https://github.com/astral-sh/uv/pull/3736) * Add PEP 714 support for HTML API client * Add PEP 714 support for JSON API client * Write relative paths with unnamed requirement syntax * Allow relative Python executable paths in Windows trampoline * Add support for clang and msvc in missing header error * Allow --constraint files in pip sync * Allow --config-file to be passed before or after command name * Make --offline a global argument * Improve performance in complex resolutions by reducing cost of PubGrub package clones * Evaluate arbitrary markers to false * Improve DirWithoutEntrypoint error message * Improve display of root package in range errors * Propagate URL errors in verbatim parsing * Report yanked packages in --dry-run * Drop native manylinux wheel in favor of dual-tagged wheel * The python-patch test feature is no longer on by default and must be manually enabled to test patch version behavior * Add --prefix link to compatibility guide * Add --only-binary to compatibility guide * Add instructions for building and updating uv-trampolines * Add notes for testing on Windows * Parse and store extras on editable requirements * Allow local versions in wheel filenames * Create lib64 symlink for 64-bit, non-macOS, POSIX environments * Add UV_CONCURRENT_INSTALLS variable in favor of RAYON_NUM_THREADS * Add serialization and deserialization for --find-links * Apply combination logic to merge CLI and persistent configuration * Parallelize resolver * Reduce sensitivity of unknown option error to discard Python 2 interpreters * Respect installed packages in uv run * Separate cache construction from initialization * Add missing "directory" branch in source match * Fix source annotation in pip compile annotation-style=line output * Run cargo update to pull in h2 * URL-decode hashes in HTML fragments * Always print JSON output with --format json * Add UV_CONFIG_FILE environment variable to documentation * Explicitly mention --user in compatibility guide * Add musl ppc64le support * Retag musl aarch64 for manylinux2014 * Reverts "Use manylinux: auto to enable musllinux_1_2 aarch64 builds The manylinux change appeared to introduce SSL errors when building aarch64 Docker images, e.g., > invalid peer certificate: BadSignature - Initial package. Matej Cepl 2024-08-28 15:39:48 +00:00