Avatar for the astral-sh user
astral-sh
uv
BlogDocsChangelog

add support for package level conflicts with groups

#9130
Comparing
ag/package-level-conflict
(
7fba6b5
) with
main
(
997ff9d
)
CodSpeed Performance Gauge
-1%
Improvements
0
Regressions
0
Untouched
14
New
0
Dropped
0
Ignored
0

Benchmarks

Passed

wheelname_parsing_failure[flyte-short-extension]
crates/uv-bench/benches/distribution_filename.rs::uv_distribution_filename::benchmark_wheelname_parsing_failure::wheelname_parsing_failure[flyte-short-extension]
CodSpeed Performance Gauge
+2%
1.9 µs
1.9 µs
wheelname_parsing_failure[flyte-long-extension]
crates/uv-bench/benches/distribution_filename.rs::uv_distribution_filename::benchmark_wheelname_parsing_failure::wheelname_parsing_failure[flyte-long-extension]
CodSpeed Performance Gauge
+2%
1.9 µs
1.9 µs
resolve_warm_airflow
crates/uv-bench/benches/uv.rs::uv::resolve_warm_airflow::resolve_warm_airflow
CodSpeed Performance Gauge
+1%
2 s
2 s
build_platform_tags[burntsushi-archlinux]
crates/uv-bench/benches/distribution_filename.rs::uv_distribution_filename::benchmark_build_platform_tags::build_platform_tags[burntsushi-archlinux]
CodSpeed Performance Gauge
0%
1.3 ms
1.3 ms
wheelname_parsing[flyte-long-incompatible]
crates/uv-bench/benches/distribution_filename.rs::uv_distribution_filename::benchmark_wheelname_parsing::wheelname_parsing[flyte-long-incompatible]
CodSpeed Performance Gauge
0%
13.8 µs
13.8 µs
wheelname_parsing[flyte-long-compatible]
crates/uv-bench/benches/distribution_filename.rs::uv_distribution_filename::benchmark_wheelname_parsing::wheelname_parsing[flyte-long-compatible]
CodSpeed Performance Gauge
0%
10 µs
10.1 µs
wheelname_parsing[flyte-short-incompatible]
crates/uv-bench/benches/distribution_filename.rs::uv_distribution_filename::benchmark_wheelname_parsing::wheelname_parsing[flyte-short-incompatible]
CodSpeed Performance Gauge
0%
6.4 µs
6.4 µs
wheelname_parsing[flyte-short-compatible]
crates/uv-bench/benches/distribution_filename.rs::uv_distribution_filename::benchmark_wheelname_parsing::wheelname_parsing[flyte-short-compatible]
CodSpeed Performance Gauge
0%
6.3 µs
6.3 µs
resolve_warm_jupyter_universal
crates/uv-bench/benches/uv.rs::uv::resolve_warm_jupyter_universal::resolve_warm_jupyter_universal
CodSpeed Performance Gauge
-2%
341.5 ms
348.3 ms
resolve_warm_jupyter
crates/uv-bench/benches/uv.rs::uv::resolve_warm_jupyter::resolve_warm_jupyter
CodSpeed Performance Gauge
-3%
93.6 ms
96.2 ms
wheelname_tag_compatibility[flyte-long-compatible]
crates/uv-bench/benches/distribution_filename.rs::uv_distribution_filename::benchmark_wheelname_tag_compatibility::wheelname_tag_compatibility[flyte-long-compatible]
CodSpeed Performance Gauge
-3%
2.1 µs
2.1 µs
wheelname_tag_compatibility[flyte-short-compatible]
crates/uv-bench/benches/distribution_filename.rs::uv_distribution_filename::benchmark_wheelname_tag_compatibility::wheelname_tag_compatibility[flyte-short-compatible]
CodSpeed Performance Gauge
-3%
2 µs
2.1 µs
wheelname_tag_compatibility[flyte-short-incompatible]
crates/uv-bench/benches/distribution_filename.rs::uv_distribution_filename::benchmark_wheelname_tag_compatibility::wheelname_tag_compatibility[flyte-short-incompatible]
CodSpeed Performance Gauge
-3%
988.3 ns
1,017.5 ns
wheelname_tag_compatibility[flyte-long-incompatible]
crates/uv-bench/benches/distribution_filename.rs::uv_distribution_filename::benchmark_wheelname_tag_compatibility::wheelname_tag_compatibility[flyte-long-incompatible]
CodSpeed Performance Gauge
-4%
1.4 µs
1.5 µs

Commits

Click on a commit to change the comparison range
Base
main
997ff9d
-1%
uv-resolver: support project-level conflicts Supporting project level conflicts ends up being pretty tricky, mostly because depenedency groups are represented as dependencies of the project you're trying to declare a conflict for. So by filtering out the project in the fork for the conflicting group, you end up filtering out the group itself too. To work-around this, we add a `parent` field to `PubGrubDependency`, and use this to filter based on project conflicts. This lets us do "delayed" filtering by one level. The rest of the changes in this commit are for reporting errors when you try to activate the group without disabling the project.
7fba6b5
3 months ago
by BurntSushi
Home Terms PrivacyDocs