Commit Graph
Select branches
Hide Pull Requests
devel
factory
Select branches
Hide Pull Requests
devel
factory
-
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
fromuv pip tree
CLI * Allow configuration of Python and PyPy install mirrors inuv.toml
* Allow passing Python download mirrors touv 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
inuv add --frozen
anduv add --no-sync
* Avoid duplicating first-entry comments inuv 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 inuv 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 * Revertuv.lock
changes whenuv add
fails * Show file extensions on available commands when not.exe
* Sort by name, then specifiers inuv 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 conversionsSoc 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 dedicateduv publish
error message for missing usernames * Support interactive input inuv publish
* Use raw filenames inuv publish
* Reuse the result ofwhich git
* Avoid environment check optimization foruv 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 oldpython-build-standalone
releases * Runuv build
builds in the source distribution bucket - 0.4.21 * Add support for managed installations of free-threaded Python * Add note aboutuvx
touv tool run
short help * Enable HTTP/2 requests * Supportuv tree --no-dev
* Support PEP 723 metadata withuv run -
* Supportpip install --exact
* Supportuv export --no-header
* Add Python 3.13 images to Docker publish * Support remote (https://
) scripts inuv run
* Allow comma value-delimited arguments inuv run --with
* Support wildcards inUV_INSECURE_HOST
* Use shared index when fetching metadata in lock satisfaction routine * Add prerelease compatibility check touv python
CLI * Avoid deleting a project environment directory if we cannot tell if apyvenv.cfg
file exists * Avoid excluding valid wheels for exactrequires-python
bounds * Bumpnetrc
crate to latest commit * Fixuv python pin 3.13t
failure when parsing version for project requires checkSoc 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 onUV_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 ofgnueabi
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 thedev
section * Add failinguv 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 * IgnoreUV_CACHE_DIR
during tests * IgnoreUV_CACHE_DIR
inhelp
tests * Use a higher timeout for publishing * Coerce empty string values toNone
forUV_PYTHON
env var * AddUV_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 inuv add
* Fix documentation (projects guide) regarding adding a git dependency * Respect project upper bounds when filtering wheels on requires-python * Always ignorecp2
wheels in resolution * Allowpy3x-none
tags in newer than Python 3.xSoc 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 duringuv add
* Provide resolution hints in case of possible local name conflicts * Improve Docker image release tagging order and display onghcr.io
* Improve deserialization error messages * Allow system environments during project environment validity check * Avoid validating workspace members when--no-sources
is provided * Fix handling ofsys.base_prefix
collision in interpreter identity check during tool installs * Makeuv cache prune
robust to unreadable rkyv entries * Revert "Remove duplicate warning for settings discovery errors" * Fix-
to_
in packaged applications document * Addsocks
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 thePATH
* Avoid deleting the project environment directory if it is not a virtual environment * Do not error if theCACHEDIR.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 * AddUV_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 touv sync
anduv export
* Add support for--only-dev
touv sync
anduv export
* Add support for remaining pip-supported file extensions * Generate shell completion foruvx
* Includeuv export
command inrequirements.txt
output * Prune unzipped source distributions inuv cache prune --ci
* Warn when trying touv 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 foruv venv --seed
environments * Avoid unnecessary progress bar initializations * Error whentool.uv.sources
contains duplicate package names * Include--branch
et al when resolving unnamed URLs inuv add
* Includedev-dependencies
in--no-sources
invocations * Include the parent interpreter in Python discovery when--system
is used * Respect--no-sources
in PEP 723 scripts * Respectpyproject.toml
credentials from user-provided requirements * Use consistent PyPI cache bucket * Use unambiguous relative paths inuv export
* Add documentation on platform-specific dependencies * Add documentation for passing installer options on Linux * Separate project data from configuration settings * Hint at missingproject.name
* Surface dedicatedproject.name
error for workspaces * Remove duplicate warning for settings discovery errors * Allowuv tool upgrade --all
to continue on individual upgrade failure * Support globs as cache keys intool.uv.cache-keys
* Add Python package (__main__.py
) support touv run
* Add zip application support touv run
* Add--token
option toself update
command * Useglobwalk
forcache-keys
matching * Always treat archive-like requirements as local files * Apply--no-install
options when constructing resolution * Avoid clobbering existingpy.typed
files contents inuv 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 inuv python list
* Make version ID optional for source builds * Support relative paths inuv add --script
* Fix documentation typos foruv 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 fromuv init
- Treat.tgz
the same as.tar.gz
- Direct users towardsuv 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 ofsitecustomize.py
- Replace incorrect--source
and--binary
flags with correct--sdist
and--wheel
flags inuv build
- Document support forUV_INSTALL_DIR
- List all supported sdist formats - Add--no-emit-project
and friends touv export
- Add--output-file
touv export
- Prune unused source distributions from the cache inuv cache prune
- Take intersection of constraint and requirements hashes - Skip metadata fetch for--no-deps
andpip sync
- Avoid panicking when encountering an invalid Python version duringuv python list
- Write trailing newline to.python-version
files - Accept--build-constraints
inuv build
- Add--require-hashes
and--verify-hashes
touv build
- Add--show-version-specifiers
touv tool list
- Respect hashes in constraints files - Upgrade installer scripts - Allow specifying multiple packages inuv tool upgrade
anduninstall
- Sort by implementation inuv python list
- Invalidate lockfile when member versions change - Strip fragments from direct source URLs in lockfile - Support--no-build
and--no-binary
inuv sync
et al - Use distribution hash over registry hash - Fix inverted log message - Adjust DockerENTRYPOINT
andCMD
for inherited images - Add winget to installers - Document how to disable path modifications during install - Document how to manually update locked package version - Document officialsetup-uv
action - Update docs on.python-version
file - Implementuv build
- Add--package
support touv build
- Prune unreachable packages from lockfile - Prune unreachable wheels from lockfile - Show build output by default inuv build
- Supportuv build --wheel
from source distributions - Use the root project name for the project virtual environment prompt - Fix handling of inline optional dependencies inuv add
- Reflect exit code inuv tool run
anduv run
- Revertpyproject.toml
modifications on Ctrl-C - Rollbackpyproject.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 foruv build
- Add note toextra
andall-extras
inuv sync
help - Add project docs forproject.scripts
- Fix available Docker image tag rendering and shorten list - Touchup to the project environment config section - Clarify precedence ofuv.toml
- Fix available Docker tags for-slim
variants - Allow customizing the project environment path withUV_PROJECT_ENVIRONMENT
- Warn whenVIRTUAL_ENV
is set but will not be respected in project commands - Add--no-hashes
touv export
- Make HTTP headers title case for backward compatibility - Pin.python-version
inuv init
- Supportfile://
URLs forUV_PYTHON_INSTALL_MIRROR
- Introduce more docker tags for uv - Avoid canonicalizing the cache directory - Show all PyPy versions inuv python list --all-versions
- Avoid incorrectrequires-python
marker simplifications - Add documentation forUV_PROJECT_ENVIRONMENT
- Add optional dependencies section to the lockfile document - Document use of thefile://
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 todocker.md
- Show build backend output when--verbose
is provided - Allowuv sync --frozen --package
without copying memberpyproject.toml
- Avoid panic with missing temporary directory - Avoid updating incorrect dependencies for sorteduv add
- Use lower-bound semantics for all Python compatibility comparisons - Adding support for.pyc
files inuv run
- Treat missingtop_level.txt
as non-fatal - Fixis_disjoint
check for supported environments - Remove dangling archives inuv cache clean ${package}
- Error when discovered Python is incompatible with--isolated
workspace - Warn when discovered Python is incompatible with PEP 723 script - Adduv export --format requirements-txt
- Allow@
references inuv tool install --from
- Normalize version specifiers by sorting - Respect the user's upper-bound inrequires-python
- Use Windows registry to discover Python on Windows directly - Hint at--no-workspace
inuv init
failures - Update to last PyPy releases - Avoid deadlocks when multiple uv processes lock resources - Expand tildes when matching againstPATH
- Fixuv init --no-project
alias - Ignore pre-release segments when discovering viarequires-python
- Support inline optional tables inuv add
anduv remove
- Update defaulthello.py
to passruff format
- Avoid stripping root for user path display - Error when user-provided environments are disjoint with Python - Retain alphabetical sorting forpyproject.toml
inuv 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 - Updateproject.urls
inpyproject.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 byuv 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 settingpackage = true
in the[tool.uv]
section of yourpyproject.toml
. -uv init
no longer creates asrc/
directory or defines a[build-system]
by default. - The previous behavior can be recovered withuv init --lib
oruv 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 settingpackage = false
in the[tool.uv]
section of yourpyproject.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 touv init
- Usevirtual
source label in lockfile for non-packaged dependencies - Read hash from URL fragment if--hashes
are omitted - Support{package}@{version}
inuv 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 ontool.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 inuv 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 useuv init
to create thepyproject.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 fromrequires.txt
when available - Respecttool.uv.environments
inpip compile --universal
- Use relative paths by default inuv add
- Improve messages for empty solves and installs - Avoid reusing state across tool upgrades - Detect musl and error for musl Python builds - Ignoresend
errors in installer - Add development section to Docker guide and reference new example project - Add docs forconstraint-dependencies
andoverride-dependencies
- Clarify package priority order in pip compatibility guide - Fix docs for disabling build isolation withuv 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 - Usepython
to highlight requirements and use more content tabs - Show--editable
on theuv add
CLI - Add--refresh
totool run
warning for--with
dependencies - Allow per dependency build isolation forsetup.py
-based projects - Avoid un-strict syncing by-default for build isolation - Respect--no-build-isolation-package
inuv sync
- Respect extras and markers on virtual dev dependencies - Support PEP 723 scripts in GUI files - Update lockfile after setting minimum bounds inuv add
- Use relative paths for--find-links
and local registries - Use separate types to represent raw vs. resolver markers - Parse wheelsWHEEL
andMETADATA
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 withuv sync
- Add example of reading script from stdin using echo - Add tip to use intermediate layers in Docker builds - Clarify need to includepyproject.toml
with--no-install-project
- MoveWORKDIR
directive in Docker examples - Remove duplicateWORKDIR
directive in Docker example - Adduv sync --no-install-project
to skip installation of the project - Adduv sync --no-install-workspace
to skip installation of all workspace members - Adduv sync --no-install-package
to skip installation of specific packages - Show previous version in self update message - Add--no-project
alias foruv python pin --no-workspace
- Ignore.python-version
files inuv venv
with--no-config
- Include virtual environment interpreters inuv python find
- Respect-
as stdin channel foruv run
- Revert changes to pyproject.toml when sync fails duringuv add
- AddUV_COMPILE_BYTECODE
environment variable - SetVIRTUAL_ENV
foruv run
invocations - Ignore errors in workspace discovery with--no-project
- Add documentation foruv 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 inuvx
note - Add support for configuringpython-downloads
withUV_PYTHON_DOWNLOADS
- Add support for configuring thepython-preference
withUV_PYTHON_PREFERENCE
- Deny invalid members in workspace schema - Stop streaming wheels whenMETADATA
is discovered (if range requests aren't supported) - Remove URI type from JSON Schema - Fix retrieval of credentials for URLs from cache - Restorecache
suffix on Windows cache path - Treat.pyw
files as scripts inuv run
on Windows - Treat invalid extras asfalse
in marker evaluation - Avoid overwriting symlinks inpip compile
output - Adduv run
hint to theuvx
guide - Add a guide for using uv with FastAPI - Add tip for usingmanaged = false
to disable project management - Clarify theuv tool run
,uvx
, anduv 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 - Adduv run
docs for gui scripts - Add--with-editable
support touv run
- Respect.python-version
files andpyproject.toml
inuv python find
- Allow manylinux compatibility override via_manylinux
module - Avoid treatinguv add -r
as--raw-sources
- Always invoke found interpreter whenuv run python
is used - Avoid adding extra newline for script with non-empty prelude - Fix metadata cache instability for lockfile - Handle Ctrl-C properly inuvx
invocations - Ignore workspace discovery errors with--no-workspace
- Invalidateuv.lock
when virtualdev-dependencies
change - Make cache robust to removed archives - Preserve Git username for SSH dependencies - Respect--no-build-isolation
inuv add
- Respect.python-version
files inuv run
outside projects - Usesys_executable
foruv run
invocations - Use atomic write forpip compile
output - Use consistent logic for deserializing short revisions - Remove the preview default value ofpython-preference
- Update env vars doc aboutXDG_*
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 inuv 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 orpyproject.toml
Theuv 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 forpython_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 inuv add
- Simplify available package version ranges when the name includes markers or extras - Simplify version ranges reported for unavailable packages - Renameenvironment-markers
toresolution-markers
- Supportuv add -r requirements.txt
- Hide global options inuv generate-shell-completion
- Show generate-shell-completion command inuv help
- Special-case reinstalls in environment update summaries - Add output whenuv add
anduv remove
update scripts - Add support forpackage@latest
intool run
- Showpython find
output with-q
- Warn when--upgrade
is passed totool run
- Allow customizing the tool install directory withUV_TOOL_BIN_DIR
- UseFxHash
inuv-auth
- Avoid panicking when the resolver thread encounters a closed channel - Respect release-only semantics ofpython_full_version
when constructing markers - Tolerate missing[project]
table inuv venv
- Avoid using workspacelock_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 - Documentuv add
anduv remove
behavior with markers - Document the Python installation directory - Document theuv.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 - Installca-certificates
in docker and use pipefail - Add script support to feature highlights in index - Showuv generate-shell-completion
in CLI documentation reference - Update Docker guide for projects - Useuv 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 - Addpython-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 - Invalidateuv.lock
if registry sources are removed - Propagate fork markers to extras - Redact Git credentials frompyproject.toml
- Redact Git credentials in lockfile - Remove 'tool' reference onuv run
CLI - Removesame-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 - Normalizepython_version
markers topython_full_version
- Update Pythons to include Python 3.12.5 - Use consistent canonicalization for URLs - Improve warning message when parsingpyproject.toml
fails - Improve handling of overlapping markers in universal resolver - Add resolver error context torun
andtool 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 inuv tool list
help - Improve top-level help foruv tool
commands - Move help documentation into dedicated page - Removeeditable: false
support - Remove uses ofOption<MarkerTree>
inResolutionGraph
- Resolve relativetool.uv.sources
relative to containing project - Support PEP 723 scripts inuv add
anduv remove
- Supporttool.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
inuv venv
- Make--upgrade
imply--refresh
- Warn when there are missing bounds on transitive dependencies with--resolution-strategy lowest
- Add support forno-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 theuv venv
CLI documentation - Add CLI flags to reference documentation - Addupdate
alias foruv tool upgrade
- Add caveat about pip interface name - Add hint for long help touvx
- Avoid requires-python warning in virtual-only workspace - Discard forks when using--upgrade
- Document thetool upgrade
command - Document virtual environment discovery - Enable mirror forpython-build-standalone
downloads - Fix reuse of Git commits in lockfile - Ignore local configuration in tool commands - Improve the CLI documentation foruv add
- Improve the CLI documentation foruv remove
- Improve theuv lock
CLI documentation - Improve theuv python
CLI documentation - Improve theuv sync
CLI documentation - Improve theuv tree
CLI documentation - Fix link to tools concept page - Adduv tool upgrade
command - Implement marker trees using algebraic decision diagrams - Make repeateduv add
operations simpler - Move some documents to relevant sections - Renamedistribution
topackages
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 inuv run
anduv 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-projectuv run
commands - Always strip in release mode - Assumegit+
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
- Rejectpyproject.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 fromtool.uv.sources
- Adduv add --no-sync
anduv remove --no-sync
- Add a guide for publishing packages - Address some feedback in the tools documentation - Avoid lingering dev and optional dependencies inuv 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 inuvx --isolated
- Ensurepython
-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 foruv tree
- Improve documentation foruv 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 - Replaceuv 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 inuv tree
- Use uv installer during build - Filteruv tree
to current platform by default - Redact registry credentials in lockfile - Show extras and dev dependencies inuv tree
- Support--python-platform
inuv 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 foruv run
- Remove some trailing backticks from the docs - Useuvx
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 touv 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 torequirements.txt
in universal mode * Allow symlinks with--find-links
* Add support for variations ofpythonw.exe
* StylizeRequires-Python
consistently in CLI output * Add--show-version-specifiers
totree
* 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 againstRequires-Python
major-minor * Remove Simple API cache files for alternative indexes incache clean
* Remove extraneousare
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 allpython3.x
executables in thePATH
* 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 * Usewhich
-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 onrequires-python
* Filter out none ABI wheels with mismatched Python versions * Lock Git cache on resolve * Change order ofpip compile
command checks to handle exact argument first * Document that--universal
implies--no-strip-markers
* Include PyPy-specific executables when creating virtual environments withuv venv
* Add a custom error message for--no-build-isolation
torch
dependencies * Improve missingwheel
error message with--no-build-isolation
* Add--no-pager
option inhelp
command * Unhide--isolated
global argument * Warn when unusedpyproject.toml
configuration is detected * Fall back to streaming wheel whenContent-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 thepip 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 correctpyproject.toml
path in warnings * FixCONTRIBUTING.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
* Addmanylinux_2_31
to supported--python-platform
* Improve marker simplification * Display short help menu when--help
is used * Allowuv help
global options duringuv help
* Use paging foruv 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 * Allowuv
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 * Respectrequires-python
when prefetching * Partially revertRequires-Python
version narrowing * Add--exclude-newer
to installer arguments * Bold durations in CLI messages * Drop crate description from theuv
help menu * Update "about" in help menu * AddUV_OVERRIDE
environment variable for--override
* Always use release-only comparisons forrequires-python
* Avoid hangs before exiting CLI * Preserve verbatim URLs for--find-links
* Fix issue where standalone installer failed to due missinguvx.exe
binary on Windows * Differentiatefreeze
andlist
help text * Fix issue where the standalone installer failed due to a missinguvx
binary * Indicate when we retried requests during network errors * Add--disable-pip-version-check
to compatibility arguments * Allowuv pip sync
to clear an environment with opt-in * Add--invert
touv pip tree
* Omit(*)
inuv pip tree
for empty packages * Add--package
touv pip tree
* Fix bug where git cache did not validate commits correctly * Narrowrequires-python
requirement in resolver forks * Fix bug when pruning the last package inuv pip tree
* Make--universal
and--python-platform
mutually exclusive * Add--depth
and--prune
support topip tree
* Handle cycles when propagating markers * Ignorepy
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 inpip tree
* Improve toolchain and environment missing error messages * Explicitly mention use of seed packages duringuv venv --seed
* Avoid enforcing extra-only constraints * Add a universal resolution mode touv pip compile
with--universal
* Add support for--no-strip-markers
inuv pip compile
output * Add--no-dedupe
support touv pip tree
* Enable more precise environment locking with--prefix
* Allow local index references inrequirements.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-workspacepyproject.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 touv pip compile
interface * Addpythonw
support for gui scripts on Windows * Adduv 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 forlib64
symlink * Add uv version to debug output * Allow--no-binary
withuv pip compile
* Hide--no-system
from the CLI * Make--reinstall
,--upgrade
, and--refresh
shared arguments * AddUV_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 * Addpip-compile
defaults toPIP_COMPATIBILITY.md
* Expand onpip-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 withXDG_CONFIG_HOME=/dev/null
* Improve handling of missing interpreters during discovery * Make missingMETADATA
file a recoverable error * Represent build tag asu64
* Document Windows 10 requirement * Re-addaarch64-unknown-linux-gnu
binary to release assets * Acceptfile://
URLs forrequirements.txt
et all references * Add support for--prefix
* Addpyproject.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 docspecifying_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 * Fixuv venv
handling whenVIRTUAL_ENV
refers to an non-existent environment * SupportNO_COLOR
andFORCE_COLOR
environment variables * Avoid building packages with dynamic versions * Avoid work-stealing in bytecode compilation * Avoid droppingpip 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 missingi686
alias forx86
* Add missingppc64le
alias forpowerpc64le
* Fix reference to--python-version
patch behavior * Avoid race condition inOnceMap
* Add support for x86 Windows * Add support forprepare_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 * Ignorelibc
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 forunsafe-any-match
* Remove redundant dynamically linked Linux binary again (#3762)" * Removeaarch64-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 forpython3
in unix virtual environments * Use a cross-platform representation for relative paths inpip compile
* Report yanks for cached and resolved packages * Improve error message when default Python is not found * Do not treat interpereters discovered viaCONDA_PREFIX
as system interpreters * Re-added the dynamically-linked Linux binary * Rewrite Python interpreter discovery * Add support for requestingpypy
interpreters by implementation name * Discover and prefer the parent interpreter when invoked withpython -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 inpip 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 tofalse
* ImproveDirWithoutEntrypoint
error message * Improve display of root package in range errors * Propagate URL errors in verbatim parsing * Report yanked packages in--dry-run
* Drop nativemanylinux
wheel in favor of dual-tagged wheel * Thepython-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 updatinguv-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 * AddUV_CONCURRENT_INSTALLS
variable in favor ofRAYON_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 inuv run
* Separate cache construction from initialization * Add missing"directory"
branch in source match * Fix source annotation in pip compileannotation-style=line
output * Run cargo update to pull in h2 * URL-decode hashes in HTML fragments * Always print JSON output with--format
json * AddUV_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 enablemusllinux_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 duringuv add
* Provide resolution hints in case of possible local name conflicts * Improve Docker image release tagging order and display onghcr.io
* Improve deserialization error messages * Allow system environments during project environment validity check * Avoid validating workspace members when--no-sources
is provided * Fix handling ofsys.base_prefix
collision in interpreter identity check during tool installs * Makeuv cache prune
robust to unreadable rkyv entries * Revert "Remove duplicate warning for settings discovery errors" * Fix-
to_
in packaged applications document * Addsocks
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 thePATH
* Avoid deleting the project environment directory if it is not a virtual environment * Do not error if theCACHEDIR.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 * AddUV_LINK_MODE
to Docker caching exampleSoc 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 fromuv init
- Treat.tgz
the same as.tar.gz
- Direct users towardsuv 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 ofsitecustomize.py
- Replace incorrect--source
and--binary
flags with correct--sdist
and--wheel
flags inuv build
- Document support forUV_INSTALL_DIR
- List all supported sdist formats - Add--no-emit-project
and friends touv export
- Add--output-file
touv export
- Prune unused source distributions from the cache inuv cache prune
- Take intersection of constraint and requirements hashes - Skip metadata fetch for--no-deps
andpip sync
- Avoid panicking when encountering an invalid Python version duringuv python list
- Write trailing newline to.python-version
files - Accept--build-constraints
inuv build
- Add--require-hashes
and--verify-hashes
touv build
- Add--show-version-specifiers
touv tool list
- Respect hashes in constraints files - Upgrade installer scripts - Allow specifying multiple packages inuv tool upgrade
anduninstall
- Sort by implementation inuv python list
- Invalidate lockfile when member versions change - Strip fragments from direct source URLs in lockfile - Support--no-build
and--no-binary
inuv sync
et al - Use distribution hash over registry hash - Fix inverted log message - Adjust DockerENTRYPOINT
andCMD
for inherited images - Add winget to installers - Document how to disable path modifications during install - Document how to manually update locked package version - Document officialsetup-uv
action - Update docs on.python-version
file - Implementuv build
- Add--package
support touv build
- Prune unreachable packages from lockfile - Prune unreachable wheels from lockfile - Show build output by default inuv build
- Supportuv build --wheel
from source distributions - Use the root project name for the project virtual environment prompt - Fix handling of inline optional dependencies inuv add
- Reflect exit code inuv tool run
anduv run
- Revertpyproject.toml
modifications on Ctrl-C - Rollbackpyproject.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 foruv build
- Add note toextra
andall-extras
inuv sync
help - Add project docs forproject.scripts
- Fix available Docker image tag rendering and shorten list - Touchup to the project environment config section - Clarify precedence ofuv.toml
- Fix available Docker tags for-slim
variants - Allow customizing the project environment path withUV_PROJECT_ENVIRONMENT
- Warn whenVIRTUAL_ENV
is set but will not be respected in project commands - Add--no-hashes
touv export
- Make HTTP headers title case for backward compatibility - Pin.python-version
inuv init
- Supportfile://
URLs forUV_PYTHON_INSTALL_MIRROR
- Introduce more docker tags for uv - Avoid canonicalizing the cache directory - Show all PyPy versions inuv python list --all-versions
- Avoid incorrectrequires-python
marker simplifications - Add documentation forUV_PROJECT_ENVIRONMENT
- Add optional dependencies section to the lockfile document - Document use of thefile://
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 todocker.md
- Show build backend output when--verbose
is provided - Allowuv sync --frozen --package
without copying memberpyproject.toml
- Avoid panic with missing temporary directory - Avoid updating incorrect dependencies for sorteduv add
- Use lower-bound semantics for all Python compatibility comparisons - Adding support for.pyc
files inuv run
- Treat missingtop_level.txt
as non-fatal - Fixis_disjoint
check for supported environments - Remove dangling archives inuv cache clean ${package}
- Error when discovered Python is incompatible with--isolated
workspace - Warn when discovered Python is incompatible with PEP 723 script - Adduv export --format requirements-txt
- Allow@
references inuv tool install --from
- Normalize version specifiers by sorting - Respect the user's upper-bound inrequires-python
- Use Windows registry to discover Python on Windows directly - Hint at--no-workspace
inuv init
failures - Update to last PyPy releases - Avoid deadlocks when multiple uv processes lock resources - Expand tildes when matching againstPATH
- Fixuv init --no-project
alias - Ignore pre-release segments when discovering viarequires-python
- Support inline optional tables inuv add
anduv remove
- Update defaulthello.py
to passruff format
- Avoid stripping root for user path display - Error when user-provided environments are disjoint with Python - Retain alphabetical sorting forpyproject.toml
inuv 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 - Updateproject.urls
inpyproject.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 byuv 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 settingpackage = true
in the[tool.uv]
section of yourpyproject.toml
. -uv init
no longer creates asrc/
directory or defines a[build-system]
by default. - The previous behavior can be recovered withuv init --lib
oruv 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 settingpackage = false
in the[tool.uv]
section of yourpyproject.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 touv init
- Usevirtual
source label in lockfile for non-packaged dependencies - Read hash from URL fragment if--hashes
are omitted - Support{package}@{version}
inuv 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 ontool.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 inuv 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 useuv init
to create thepyproject.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 fromrequires.txt
when available - Respecttool.uv.environments
inpip compile --universal
- Use relative paths by default inuv add
- Improve messages for empty solves and installs - Avoid reusing state across tool upgrades - Detect musl and error for musl Python builds - Ignoresend
errors in installer - Add development section to Docker guide and reference new example project - Add docs forconstraint-dependencies
andoverride-dependencies
- Clarify package priority order in pip compatibility guide - Fix docs for disabling build isolation withuv 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 - Usepython
to highlight requirements and use more content tabs - Show--editable
on theuv add
CLI - Add--refresh
totool run
warning for--with
dependencies - Allow per dependency build isolation forsetup.py
-based projects - Avoid un-strict syncing by-default for build isolation - Respect--no-build-isolation-package
inuv sync
- Respect extras and markers on virtual dev dependencies - Support PEP 723 scripts in GUI files - Update lockfile after setting minimum bounds inuv add
- Use relative paths for--find-links
and local registries - Use separate types to represent raw vs. resolver markers - Parse wheelsWHEEL
andMETADATA
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 withuv sync
- Add example of reading script from stdin using echo - Add tip to use intermediate layers in Docker builds - Clarify need to includepyproject.toml
with--no-install-project
- MoveWORKDIR
directive in Docker examples - Remove duplicateWORKDIR
directive in Docker example - Adduv sync --no-install-project
to skip installation of the project - Adduv sync --no-install-workspace
to skip installation of all workspace members - Adduv sync --no-install-package
to skip installation of specific packages - Show previous version in self update message - Add--no-project
alias foruv python pin --no-workspace
- Ignore.python-version
files inuv venv
with--no-config
- Include virtual environment interpreters inuv python find
- Respect-
as stdin channel foruv run
- Revert changes to pyproject.toml when sync fails duringuv add
- AddUV_COMPILE_BYTECODE
environment variable - SetVIRTUAL_ENV
foruv run
invocations - Ignore errors in workspace discovery with--no-project
- Add documentation foruv 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 inuvx
note - Add support for configuringpython-downloads
withUV_PYTHON_DOWNLOADS
- Add support for configuring thepython-preference
withUV_PYTHON_PREFERENCE
- Deny invalid members in workspace schema - Stop streaming wheels whenMETADATA
is discovered (if range requests aren't supported) - Remove URI type from JSON Schema - Fix retrieval of credentials for URLs from cache - Restorecache
suffix on Windows cache path - Treat.pyw
files as scripts inuv run
on Windows - Treat invalid extras asfalse
in marker evaluation - Avoid overwriting symlinks inpip compile
output - Adduv run
hint to theuvx
guide - Add a guide for using uv with FastAPI - Add tip for usingmanaged = false
to disable project management - Clarify theuv tool run
,uvx
, anduv 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 - Adduv run
docs for gui scripts - Add--with-editable
support touv run
- Respect.python-version
files andpyproject.toml
inuv python find
- Allow manylinux compatibility override via_manylinux
module - Avoid treatinguv add -r
as--raw-sources
- Always invoke found interpreter whenuv run python
is used - Avoid adding extra newline for script with non-empty prelude - Fix metadata cache instability for lockfile - Handle Ctrl-C properly inuvx
invocations - Ignore workspace discovery errors with--no-workspace
- Invalidateuv.lock
when virtualdev-dependencies
change - Make cache robust to removed archives - Preserve Git username for SSH dependencies - Respect--no-build-isolation
inuv add
- Respect.python-version
files inuv run
outside projects - Usesys_executable
foruv run
invocations - Use atomic write forpip compile
output - Use consistent logic for deserializing short revisions - Remove the preview default value ofpython-preference
- Update env vars doc aboutXDG_*
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 inuv 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 orpyproject.toml
Theuv 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 forpython_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 inuv add
- Simplify available package version ranges when the name includes markers or extras - Simplify version ranges reported for unavailable packages - Renameenvironment-markers
toresolution-markers
- Supportuv add -r requirements.txt
- Hide global options inuv generate-shell-completion
- Show generate-shell-completion command inuv help
- Special-case reinstalls in environment update summaries - Add output whenuv add
anduv remove
update scripts - Add support forpackage@latest
intool run
- Showpython find
output with-q
- Warn when--upgrade
is passed totool run
- Allow customizing the tool install directory withUV_TOOL_BIN_DIR
- UseFxHash
inuv-auth
- Avoid panicking when the resolver thread encounters a closed channel - Respect release-only semantics ofpython_full_version
when constructing markers - Tolerate missing[project]
table inuv venv
- Avoid using workspacelock_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 - Documentuv add
anduv remove
behavior with markers - Document the Python installation directory - Document theuv.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 - Installca-certificates
in docker and use pipefail - Add script support to feature highlights in index - Showuv generate-shell-completion
in CLI documentation reference - Update Docker guide for projects - Useuv 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 - Addpython-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 - Invalidateuv.lock
if registry sources are removed - Propagate fork markers to extras - Redact Git credentials frompyproject.toml
- Redact Git credentials in lockfile - Remove 'tool' reference onuv run
CLI - Removesame-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 - Normalizepython_version
markers topython_full_version
- Update Pythons to include Python 3.12.5 - Use consistent canonicalization for URLs - Improve warning message when parsingpyproject.toml
fails - Improve handling of overlapping markers in universal resolver - Add resolver error context torun
andtool 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 inuv tool list
help - Improve top-level help foruv tool
commands - Move help documentation into dedicated page - Removeeditable: false
support - Remove uses ofOption<MarkerTree>
inResolutionGraph
- Resolve relativetool.uv.sources
relative to containing project - Support PEP 723 scripts inuv add
anduv remove
- Supporttool.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
inuv venv
- Make--upgrade
imply--refresh
- Warn when there are missing bounds on transitive dependencies with--resolution-strategy lowest
- Add support forno-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 theuv venv
CLI documentation - Add CLI flags to reference documentation - Addupdate
alias foruv tool upgrade
- Add caveat about pip interface name - Add hint for long help touvx
- Avoid requires-python warning in virtual-only workspace - Discard forks when using--upgrade
- Document thetool upgrade
command - Document virtual environment discovery - Enable mirror forpython-build-standalone
downloads - Fix reuse of Git commits in lockfile - Ignore local configuration in tool commands - Improve the CLI documentation foruv add
- Improve the CLI documentation foruv remove
- Improve theuv lock
CLI documentation - Improve theuv python
CLI documentation - Improve theuv sync
CLI documentation - Improve theuv tree
CLI documentation - Fix link to tools concept page - Adduv tool upgrade
command - Implement marker trees using algebraic decision diagrams - Make repeateduv add
operations simpler - Move some documents to relevant sections - Renamedistribution
topackages
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 inuv run
anduv 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-projectuv run
commands - Always strip in release mode - Assumegit+
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
- Rejectpyproject.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 fromtool.uv.sources
- Adduv add --no-sync
anduv remove --no-sync
- Add a guide for publishing packages - Address some feedback in the tools documentation - Avoid lingering dev and optional dependencies inuv 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 inuvx --isolated
- Ensurepython
-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 foruv tree
- Improve documentation foruv 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 - Replaceuv 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 inuv tree
- Use uv installer during build - Filteruv tree
to current platform by default - Redact registry credentials in lockfile - Show extras and dev dependencies inuv tree
- Support--python-platform
inuv 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 foruv run
- Remove some trailing backticks from the docs - Useuvx
in docs serve contributing command - Remove nostrip.patch. Using CARGO_* environmental variables to set buildSoc 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 touv 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 torequirements.txt
in universal mode * Allow symlinks with--find-links
* Add support for variations ofpythonw.exe
* StylizeRequires-Python
consistently in CLI output * Add--show-version-specifiers
totree
* 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 againstRequires-Python
major-minor * Remove Simple API cache files for alternative indexes incache clean
* Remove extraneousare
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 allpython3.x
executables in thePATH
* 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 * Usewhich
-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 onrequires-python
* Filter out none ABI wheels with mismatched Python versions * Lock Git cache on resolve * Change order ofpip compile
command checks to handle exact argument first * Document that--universal
implies--no-strip-markers
* Include PyPy-specific executables when creating virtual environments withuv venv
* Add a custom error message for--no-build-isolation
torch
dependencies * Improve missingwheel
error message with--no-build-isolation
* Add--no-pager
option inhelp
command * Unhide--isolated
global argument * Warn when unusedpyproject.toml
configuration is detected * Fall back to streaming wheel whenContent-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 thepip 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 correctpyproject.toml
path in warnings * FixCONTRIBUTING.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
* Addmanylinux_2_31
to supported--python-platform
* Improve marker simplification * Display short help menu when--help
is used * Allowuv help
global options duringuv help
* Use paging foruv 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 * Allowuv
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 * Respectrequires-python
when prefetching * Partially revertRequires-Python
version narrowing * Add--exclude-newer
to installer arguments * Bold durations in CLI messages * Drop crate description from theuv
help menu * Update "about" in help menu * AddUV_OVERRIDE
environment variable for--override
* Always use release-only comparisons forrequires-python
* Avoid hangs before exiting CLI * Preserve verbatim URLs for--find-links
* Fix issue where standalone installer failed to due missinguvx.exe
binary on Windows * Differentiatefreeze
andlist
help text * Fix issue where the standalone installer failed due to a missinguvx
binary * Indicate when we retried requests during network errors * Add--disable-pip-version-check
to compatibility arguments * Allowuv pip sync
to clear an environment with opt-in * Add--invert
touv pip tree
* Omit(*)
inuv pip tree
for empty packages * Add--package
touv pip tree
* Fix bug where git cache did not validate commits correctly * Narrowrequires-python
requirement in resolver forks * Fix bug when pruning the last package inuv pip tree
* Make--universal
and--python-platform
mutually exclusive * Add--depth
and--prune
support topip tree
* Handle cycles when propagating markers * Ignorepy
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 inpip tree
* Improve toolchain and environment missing error messages * Explicitly mention use of seed packages duringuv venv --seed
* Avoid enforcing extra-only constraints * Add a universal resolution mode touv pip compile
with--universal
* Add support for--no-strip-markers
inuv pip compile
output * Add--no-dedupe
support touv pip tree
* Enable more precise environment locking with--prefix
* Allow local index references inrequirements.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-workspacepyproject.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 touv pip compile
interface * Addpythonw
support for gui scripts on Windows * Adduv 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 forlib64
symlink * Add uv version to debug output * Allow--no-binary
withuv pip compile
* Hide--no-system
from the CLI * Make--reinstall
,--upgrade
, and--refresh
shared arguments * AddUV_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 * Addpip-compile
defaults toPIP_COMPATIBILITY.md
* Expand onpip-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 withXDG_CONFIG_HOME=/dev/null
* Improve handling of missing interpreters during discovery * Make missingMETADATA
file a recoverable error * Represent build tag asu64
* Document Windows 10 requirement * Re-addaarch64-unknown-linux-gnu
binary to release assets * Acceptfile://
URLs forrequirements.txt
et all references * Add support for--prefix
* Addpyproject.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 docspecifying_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 * Fixuv venv
handling whenVIRTUAL_ENV
refers to an non-existent environment * SupportNO_COLOR
andFORCE_COLOR
environment variables * Avoid building packages with dynamic versions * Avoid work-stealing in bytecode compilation * Avoid droppingpip 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 missingi686
alias forx86
* Add missingppc64le
alias forpowerpc64le
* Fix reference to--python-version
patch behavior * Avoid race condition inOnceMap
* Add support for x86 Windows * Add support forprepare_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 * Ignorelibc
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 forunsafe-any-match
* Remove redundant dynamically linked Linux binary again (#3762)" * Removeaarch64-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 forpython3
in unix virtual environments * Use a cross-platform representation for relative paths inpip compile
* Report yanks for cached and resolved packages * Improve error message when default Python is not found * Do not treat interpereters discovered viaCONDA_PREFIX
as system interpreters * Re-added the dynamically-linked Linux binary * Rewrite Python interpreter discovery * Add support for requestingpypy
interpreters by implementation name * Discover and prefer the parent interpreter when invoked withpython -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 inpip 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 tofalse
* ImproveDirWithoutEntrypoint
error message * Improve display of root package in range errors * Propagate URL errors in verbatim parsing * Report yanked packages in--dry-run
* Drop nativemanylinux
wheel in favor of dual-tagged wheel * Thepython-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 updatinguv-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 * AddUV_CONCURRENT_INSTALLS
variable in favor ofRAYON_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 inuv run
* Separate cache construction from initialization * Add missing"directory"
branch in source match * Fix source annotation in pip compileannotation-style=line
output * Run cargo update to pull in h2 * URL-decode hashes in HTML fragments * Always print JSON output with--format
json * AddUV_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 enablemusllinux_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