uv/crates
samypr100 bf99f0a195
Add support for SSL_CERT_DIR (#16473)
## Summary

Closes https://github.com/astral-sh/uv/issues/16414

Adds support for the standard
[SSL_CERT_DIR](https://docs.openssl.org/3.6/man3/SSL_CTX_load_verify_locations)
which has gained recent proper support from
[rustls-native-certs](https://github.com/rustls/rustls-native-certs/pull/187)
in v0.8.2.

In addition, this PR clarifies documentation around `SSL_CERT_FILE` and
`SSL_CERT_DIR` when used in combination with `UV_NATIVE_TLS` as
mentioned in
https://github.com/astral-sh/uv/issues/16412#issuecomment-3434927201

## Test Plan

Manually tested with custom cert chains in multiple directories and
loading them via SSL_CERT_DIR. We didn't have tests for `SSL_CERT_FILE`
or `SSL_CERT_DIR` environment variables so I added a basic one using our
own test-only certificate generation and dummy https server. I also
moved some things around for better reuse.
2025-11-16 11:48:31 -06:00
..
uv Support http/https URLs in `uv python --python-downloads-json-url` (#16542) 2025-11-14 17:51:24 -05:00
uv-auth Reject ambiguously parsed URLs (#16622) 2025-11-12 16:27:57 +00:00
uv-bench Update codspeed to v4 (#16139) 2025-10-09 15:57:05 +02:00
uv-bin-install Reject ambiguously parsed URLs (#16622) 2025-11-12 16:27:57 +00:00
uv-build Bump version to 0.9.9 (#16708) 2025-11-12 18:14:44 +00:00
uv-build-backend Error when a `project.license-files` glob matches nothing (#16697) 2025-11-14 11:02:04 +01:00
uv-build-frontend fix misleading debug message in uv sync (#15881) 2025-09-16 18:39:08 +00:00
uv-cache Add `--force` flag for `uv cache clean` (#15992) 2025-09-22 22:15:14 +00:00
uv-cache-info Log most recently modified file for cache-keys (#16338) 2025-11-02 18:52:07 +00:00
uv-cache-key Reject ambiguously parsed URLs (#16622) 2025-11-12 16:27:57 +00:00
uv-cli Support http/https URLs in `uv python --python-downloads-json-url` (#16542) 2025-11-14 17:51:24 -05:00
uv-client Add support for SSL_CERT_DIR (#16473) 2025-11-16 11:48:31 -06:00
uv-configuration Add `only-emit-workspace` and similar variants to `uv export` (#16681) 2025-11-12 16:51:45 +00:00
uv-console Bump MSRV to 1.88 (#15935) 2025-09-18 14:00:39 -04:00
uv-dev Add support for the Simple index API top-level route (#16656) 2025-11-10 14:50:19 -05:00
uv-dirs Use workspace dependencies for crate dev-dependencies (#14903) 2025-07-25 13:57:49 -05:00
uv-dispatch Fix `uv sync --no-sources` not switching from editable to registry installations (#15234) 2025-09-17 06:35:32 -05:00
uv-distribution Reject ambiguously parsed URLs (#16622) 2025-11-12 16:27:57 +00:00
uv-distribution-filename Add logging of incompatible tags on satisfies check (#15663) 2025-09-03 11:45:49 -05:00
uv-distribution-types Reject ambiguously parsed URLs (#16622) 2025-11-12 16:27:57 +00:00
uv-extract Fix a small clippy warning (#16499) 2025-10-29 10:38:27 -05:00
uv-flags Use a global flags instance for wheel check (#16047) 2025-09-30 00:10:11 +00:00
uv-fs Remove fs2 dependency and update Rust to 1.89 (#15764) 2025-11-02 16:33:53 -05:00
uv-git Remove fast path from `uv-git` fetch (#16607) 2025-11-06 22:18:05 -06:00
uv-git-types Include SHA when listing lockfile changes (#15817) 2025-09-12 17:57:58 +00:00
uv-globfilter additional use of Self, remove * and & where not needed (#15091) 2025-08-05 15:19:56 -05:00
uv-install-wheel Replace `fs_err` alias (#16201) 2025-10-09 15:18:38 +02:00
uv-installer Update Rust toolchain to 1.91 and MSRV to 1.89 (#16531) 2025-10-30 22:34:59 -05:00
uv-keyring Add missing fields to the Cargo package manifests (#16179) 2025-10-08 12:01:52 +02:00
uv-logging Add logging to the uv build backend (#15533) 2025-08-27 09:14:00 +02:00
uv-macros Missing added_in on new env vars (#16217) 2025-10-10 08:55:09 -05:00
uv-metadata Update Rust toolchain to 1.91 and MSRV to 1.89 (#16531) 2025-10-30 22:34:59 -05:00
uv-normalize Fix missing value_type for `default-groups` in schema (#16575) 2025-11-03 08:55:20 -05:00
uv-once-map Make the use of `Self` consistent. (#15074) 2025-08-05 20:17:12 +01:00
uv-options-metadata Make the use of `Self` consistent. (#15074) 2025-08-05 20:17:12 +01:00
uv-pep440 Allow explicit values with `uv version --bump` (#16555) 2025-11-11 12:27:32 -05:00
uv-pep508 Reject ambiguously parsed URLs (#16622) 2025-11-12 16:27:57 +00:00
uv-performance-memory-allocator Update Rust crate tikv-jemallocator to v0.6.1 (#16567) 2025-11-02 21:07:49 -05:00
uv-platform Add Windows x86-32 emulation support to interpreter architecture checks (#13475) 2025-10-30 10:50:26 -04:00
uv-platform-tags Improve BSD tag construction (#15829) 2025-09-14 10:48:37 -04:00
uv-preview `workspace dir` command (#16678) 2025-11-11 12:30:39 -07:00
uv-publish Reject ambiguously parsed URLs (#16622) 2025-11-12 16:27:57 +00:00
uv-pypi-types Reject ambiguously parsed URLs (#16622) 2025-11-12 16:27:57 +00:00
uv-python Support http/https URLs in `uv python --python-downloads-json-url` (#16542) 2025-11-14 17:51:24 -05:00
uv-redacted Reject ambiguously parsed URLs (#16622) 2025-11-12 16:27:57 +00:00
uv-requirements Reject ambiguously parsed URLs (#16622) 2025-11-12 16:27:57 +00:00
uv-requirements-txt Reject ambiguously parsed URLs (#16622) 2025-11-12 16:27:57 +00:00
uv-resolver Reject ambiguously parsed URLs (#16622) 2025-11-12 16:27:57 +00:00
uv-scripts Enable first-class dependency exclusions (#16528) 2025-10-31 10:14:12 -04:00
uv-settings Support http/https URLs in `uv python --python-downloads-json-url` (#16542) 2025-11-14 17:51:24 -05:00
uv-shell Use std `home_dir` instead of `home` crate (#16483) 2025-10-29 18:49:08 +01:00
uv-small-str Update schemars 1.0.0 (#13693) 2025-06-24 21:43:31 +02:00
uv-state Add pyx support to `uv auth` commands (#15636) 2025-09-02 18:18:09 -04:00
uv-static Add support for SSL_CERT_DIR (#16473) 2025-11-16 11:48:31 -06:00
uv-tool Add uv tool list --show-python (#15814) 2025-10-10 12:33:26 -05:00
uv-torch Remove `torch-model-archiver` and `torch-tb-profiler` from PyTorch backend (#16655) 2025-11-10 10:26:12 -05:00
uv-trampoline Use `.rcdata` to store trampoline type + path to python binary (#15068) 2025-11-09 08:12:40 -06:00
uv-trampoline-builder Use `.rcdata` to store trampoline type + path to python binary (#15068) 2025-11-09 08:12:40 -06:00
uv-types Import `PackageName` from `uv-normalize` (#15439) 2025-08-21 23:15:40 +00:00
uv-version Bump version to 0.9.9 (#16708) 2025-11-12 18:14:44 +00:00
uv-virtualenv chore: fix typo in crates/uv-virtualenv/README.md (#16700) 2025-11-12 09:45:37 -06:00
uv-warnings Better warning chain styling (#14934) 2025-07-28 16:23:39 +00:00
uv-workspace Enable first-class dependency exclusions (#16528) 2025-10-31 10:14:12 -04:00
README.md Link to Dependency specifiers instead of PEP 508 (#8411) 2024-10-21 14:43:38 -04:00

README.md

Crates

uv-bench

Functionality for benchmarking uv.

uv-cache-key

Generic functionality for caching paths, URLs, and other resources across platforms.

uv-distribution-filename

Parse built distribution (wheel) and source distribution (sdist) filenames to extract structured metadata.

uv-distribution-types

Abstractions for representing built distributions (wheels) and source distributions (sdists), and the sources from which they can be downloaded.

uv-install-wheel-rs

Install built distributions (wheels) into a virtual environment.

uv-once-map

A waitmap-like concurrent hash map for executing tasks exactly once.

uv-pep440-rs

Utilities for interacting with Python version numbers and specifiers.

uv-pep508-rs

Utilities for parsing and evaluating dependency specifiers, previously known as PEP 508.

uv-platform-tags

Functionality for parsing and inferring Python platform tags as per PEP 425.

uv-cli

Command-line interface for the uv package manager.

uv-build-frontend

A PEP 517-compatible build frontend for uv.

uv-cache

Functionality for caching Python packages and associated metadata.

uv-client

Client for interacting with PyPI-compatible HTTP APIs.

uv-dev

Development utilities for uv.

uv-dispatch

A centralized struct for resolving and building source distributions in isolated environments. Implements the traits defined in uv-types.

uv-distribution

Client for interacting with built distributions (wheels) and source distributions (sdists). Capable of fetching metadata, distribution contents, etc.

uv-extract

Utilities for extracting files from archives.

uv-fs

Utilities for interacting with the filesystem.

uv-git

Functionality for interacting with Git repositories.

uv-installer

Functionality for installing Python packages into a virtual environment.

uv-python

Functionality for detecting and leveraging the current Python interpreter.

uv-normalize

Normalize package and extra names as per Python specifications.

uv-requirements

Utilities for reading package requirements from pyproject.toml and requirements.txt files.

uv-resolver

Functionality for resolving Python packages and their dependencies.

uv-shell

Utilities for detecting and manipulating shell environments.

uv-types

Shared traits for uv, to avoid circular dependencies.

uv-pypi-types

General-purpose type definitions for types used in PyPI-compatible APIs.

uv-virtualenv

A venv replacement to create virtual environments in Rust.

uv-warnings

User-facing warnings for uv.

uv-workspace

Workspace abstractions for uv.

uv-requirements-txt

Functionality for parsing requirements.txt files.