From dc6757b27074288a7c595cc97ced7eba026f5b15 Mon Sep 17 00:00:00 2001 From: konstin Date: Mon, 1 Dec 2025 17:22:44 +0100 Subject: [PATCH] Implement 0.0.3 --- .../src/distribution_database.rs | 14 ++-- crates/uv-variants/src/variants_json.rs | 62 +++++++----------- files/built_by_uv-0.1.0-py3-none-any-cpu1.whl | Bin 9975 -> 9926 bytes files/built_by_uv-0.1.0-py3-none-any-cpu2.whl | Bin 9975 -> 9926 bytes files/built_by_uv-0.1.0-py3-none-any-cpu3.whl | Bin 9975 -> 9926 bytes files/built_by_uv-0.1.0-py3-none-any-cpu4.whl | Bin 9975 -> 9926 bytes files/built_by_uv-0.1.0-variants.json | 30 +++++++++ files_sdist/built_by_uv-0.1.0.tar.gz | Bin 6388 -> 6545 bytes .../built_by_uv-0.1.0-py3-none-any.whl | Bin 9975 -> 9926 bytes scripts/packages/built-by-uv/pyproject.toml | 6 ++ 10 files changed, 70 insertions(+), 42 deletions(-) diff --git a/crates/uv-distribution/src/distribution_database.rs b/crates/uv-distribution/src/distribution_database.rs index 94f08319e..fa8adb280 100644 --- a/crates/uv-distribution/src/distribution_database.rs +++ b/crates/uv-distribution/src/distribution_database.rs @@ -628,7 +628,8 @@ impl<'a, Context: BuildContext> DistributionDatabase<'a, Context> { let mut disabled_namespaces = FxHashSet::default(); let mut resolved_namespaces: FxHashMap> = futures::stream::iter(variants_json.providers.iter().filter(|(_, provider)| { - provider.plugin_use.unwrap_or_default().run_on_install() + provider.install_time.unwrap_or(true) + && !provider.optional && provider .enable_if .evaluate(marker_env, &MarkerVariantsUniversal, &[]) @@ -641,22 +642,27 @@ impl<'a, Context: BuildContext> DistributionDatabase<'a, Context> { .try_collect() .await?; - // "Query" the non-install time providers, whose properties are all in the priorities + // "Query" the static providers for (namespace, provider) in &variants_json.providers { // Track disabled namespaces for consistency checks. if !provider .enable_if .evaluate(marker_env, &MarkerVariantsUniversal, &[]) + || provider.optional { disabled_namespaces.insert(namespace.clone()); continue; } - if provider.plugin_use.unwrap_or_default().run_on_install() { + if provider.install_time.unwrap_or(true) { continue; } - let Some(features) = variants_json.default_priorities.property.get(namespace) else { + let Some(features) = variants_json + .static_properties + .as_ref() + .and_then(|static_properties| static_properties.get(namespace)) + else { warn!( "Missing namespace {namespace} in default properties for {}=={}", debug_filename.name, debug_filename.version diff --git a/crates/uv-variants/src/variants_json.rs b/crates/uv-variants/src/variants_json.rs index 72f7f48af..d6e0c1820 100644 --- a/crates/uv-variants/src/variants_json.rs +++ b/crates/uv-variants/src/variants_json.rs @@ -1,3 +1,4 @@ +use std::collections::BTreeMap; use std::ops::Deref; use rustc_hash::FxHashMap; @@ -13,7 +14,7 @@ use uv_pypi_types::VerbatimParsedUrl; /// Mapping of namespaces in a variant #[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)] #[serde(transparent)] -pub struct Variant(FxHashMap>>); +pub struct Variant(BTreeMap>>); impl MarkerVariantsEnvironment for Variant { fn contains_namespace(&self, namespace: &VariantNamespace) -> bool { @@ -74,7 +75,7 @@ impl MarkerVariantsEnvironment for Variant { } impl Deref for Variant { - type Target = FxHashMap>>; + type Target = BTreeMap>>; fn deref(&self) -> &Self::Target { &self.0 @@ -87,11 +88,13 @@ impl Deref for Variant { #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] #[serde(rename_all = "kebab-case")] pub struct VariantsJsonContent { - /// Default provider priorities + /// Default provider priorities. pub default_priorities: DefaultPriorities, - /// Mapping of namespaces to provider information + /// Mapping of namespaces to provider information. pub providers: FxHashMap, - /// Mapping of variant labels to properties + /// The supported, ordered properties for `AoT` providers. + pub static_properties: Option, + /// Mapping of variant labels to properties. pub variants: FxHashMap, } @@ -123,10 +126,10 @@ pub struct DefaultPriorities { pub namespace: Vec, /// Default feature priorities #[serde(default)] - pub feature: FxHashMap>, + pub feature: BTreeMap>, /// Default property priorities #[serde(default)] - pub property: FxHashMap>>, + pub property: BTreeMap>>, } /// A `namespace :: feature :: property` entry. @@ -138,47 +141,30 @@ pub struct VariantPropertyType { pub value: VariantValue, } -/// The stages at which a plugin is run. -/// -/// Specifically captures whether it needs to be run at install time. -#[derive(Debug, Default, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)] -#[serde(rename_all = "kebab-case")] -pub enum PluginUse { - /// The plugin is never run, it is only static. - None, - /// The plugin is run at build time, the install time evaluation is static. - Build, - /// The plugin is run both at build time and at install time. - #[default] - All, -} - -impl PluginUse { - /// Whether to run this plugin on installation, `false` for plugins evaluated from - /// default priorities. - pub fn run_on_install(self) -> bool { - match self { - Self::All => true, - Self::None | Self::Build => false, - } - } -} - /// Provider information #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)] #[serde(rename_all = "kebab-case")] pub struct Provider { - /// Object reference to plugin class - pub plugin_api: Option, - /// Environment marker specifying when to enable the plugin + /// Environment marker specifying when to enable the plugin. #[serde( skip_serializing_if = "uv_pep508::marker::ser::is_empty", serialize_with = "uv_pep508::marker::ser::serialize", default )] pub enable_if: MarkerTree, + /// Whether this is an install-time provider. `false` means that it is an `AoT` provider instead. + /// + /// Defaults to `true` + pub install_time: Option, + /// Whether this is an optional provider. + /// + /// If it is `true`, the provider is not used unless the user opts in to it. + /// + /// Defaults to `false` + #[serde(default)] + pub optional: bool, + /// Object reference to plugin class + pub plugin_api: Option, /// Dependency specifiers for how to install the plugin pub requires: Option>>, - /// Whether this plugin is run at install time. - pub plugin_use: Option, } diff --git a/files/built_by_uv-0.1.0-py3-none-any-cpu1.whl b/files/built_by_uv-0.1.0-py3-none-any-cpu1.whl index b84b2693b5488abab2e735805c9fcba27b4b42f7..995f390cead2cfc211e72a305ea007cef9c2510c 100644 GIT binary patch delta 1123 zcmezFd(3ykJxN~PW8QlL7#JA*fmm_!M<)5n4^&wLSPwdKH7E!$9N4}72LBq3d7qds z>MFg;*)T<6_r|OT?`K=eFKS}XJbOrRPidN(ny;^k)BgiEPyR|Uo7m=kbgTB%8rO_l zC*Qp6`_R{*<1?e;&*pfk^NhTkvZd31GchoDvNA9zf$XXea&`6(a+xyu_`1bjBCgN> z>Lv(tOYC7(oAJcK$V}K}lcuomvH1UA*tXsA{~lNBpH<)$wK^+*ZbpNvyo93->7OsfD z$gZ1{IDcv;|Ks%s>Wu~Osaan7@jF0LYK?!-MU0&lk8VO#fWXT4*f zSLGGAwcEDs+nW^iXp42(V~c>=O>dd+-fYTXP@ZaNv4i8cw2|I}`>|7EW2^? z;rAy~qAxAh>wKniC+qv1>o4CvTW;hzvwPp~_!%184u#*)YK-ka^eSpSx5V<$>1El@ zqD%JbF8ni5T;ye{(efV&JGLyo>h~(GxvDO$Q^9kQ#kIF$TnwuE=N2xQV=_%ZMm_UG z`KGzA_AoE6^~qqn_GQ`%3;*Y9wr1DsJlgZA$m}_bx!U78Ba`~B1zis$4*!|C;(WsF z1->`FasQH&TdM4p_#@r;m)zB#GgWu!UTi(~HzaSGM6zz=yU>f$Qx{gqhznMGNXNT! zu>JOu`}WYv`>;yx?ytwcYE@fGNrjp@FMW8Db*`}1%}|NTH98A5ws(h?m#s0&c^#mz zzdn%TUuo`t%UwHKeebVbzJ||x$E$la?H#9c1fD+ZQS;+_Tl3)b-$i!ECqDhUYiD?~ z@)6ze#VcC`?$MICw)*=A zMIufNzmDhGxK8R3pV7h@%KXY8N_F~<%Bd5d`rST$z5dq5k{($ntFlH7{pGAn1=@a3 zoE=uXo5h!R^}gS^FRw619Acl*m?ZwnOByGCkndn#(s*dHACuJNsS3s{OB&4?C;Kx=PR?QEocvBf z11Mn31Qd{;Y^kUL(vYk;5hy0fJXugpZn6L~=i~+@j>+mudO*R`LP&zMfdU^z;R5%R z#3sim*8}ZxpFB}nX_874%iBhG381{_WIq+2$;(x$fg0{Y1o$KcC;O;Ial%W8$?H`= b$)Mz6V3`2}OBxkq!1ml$6Jv{(2MGfJv{&%U delta 1166 zcmX@+``vfLJxSie)06E27#JA*fLL+zM<)5n>s46;xX*j|p1sKHt*dqJ%=yhh23L$9 z6#1X^*7edkslO>mLpRvqg7NjuPqf6G3GoBA8hA8 z{pmAN$(2u*=XnE*$1Mfk3m+Z4ME)=wH+&a&>DO&>^BVK@{}mp(kUH{7>w`)x%z zzWDvIa(u7v?vmx({k#2X$>S5Bq#K@QoO98cd$r(#jOE5cpCq@=3MSu{mi|c79|NU*^b_RF}{T~%PQlV*c}(QROcMQJfoJ#vm1N( zQXT&)mhFGHt$v$(X4|xq_JRQU4z1j z|Mt-;^ZhaR*4e)ItK3!d{ae-l-}8TWujUWGp8u`CMm1xCMV8UR4B3+rPE*x2`7cB@ zD4ciI>l3hB?5S9E&gpDbq?cm-wEyAUaRxHpLgx?jve10e=GP{@-y-O!$nS&_j0coUTr+3GBdQT z{GxGI)UL0Nd&BgM1UhP``3NuXG+3R@Y8JEMpts=9XVcAJD)%oxoqm4zZ1)?peQoQP zr`~1bU--sm6VD;D6@lBLF1mOni1s$|UWxwh=$Xf{bINr0hdlFt74E(7H@*IT&Bybv z-+gJh_IbbH)RuFJxwlqCUcF$z*m|pSgYt70hj8&tXKrmw^tqTBDfTCElmGE`^Y__S zS!x=mGo(Lbn15-DN2*x!su?~pp-ZcR=M)$5l-6%HnqfNAO;6*`<+}f0)ArYY-_oD9 zGNZ?|N{nj$ zil7Sf?;q~%;n^~+)?=o!t&2Rg0j-&^U6&u?2YaclM|ICC)-PKOfFNY2I{yA5#Uoz=Y$s~lj~GJ$)IF+VDSP2 TGa3|Rz?Q616JzU<2MGfJx`GKX diff --git a/files/built_by_uv-0.1.0-py3-none-any-cpu2.whl b/files/built_by_uv-0.1.0-py3-none-any-cpu2.whl index b84b2693b5488abab2e735805c9fcba27b4b42f7..995f390cead2cfc211e72a305ea007cef9c2510c 100644 GIT binary patch delta 1123 zcmezFd(3ykJxN~PW8QlL7#JA*fmm_!M<)5n4^&wLSPwdKH7E!$9N4}72LBq3d7qds z>MFg;*)T<6_r|OT?`K=eFKS}XJbOrRPidN(ny;^k)BgiEPyR|Uo7m=kbgTB%8rO_l zC*Qp6`_R{*<1?e;&*pfk^NhTkvZd31GchoDvNA9zf$XXea&`6(a+xyu_`1bjBCgN> z>Lv(tOYC7(oAJcK$V}K}lcuomvH1UA*tXsA{~lNBpH<)$wK^+*ZbpNvyo93->7OsfD z$gZ1{IDcv;|Ks%s>Wu~Osaan7@jF0LYK?!-MU0&lk8VO#fWXT4*f zSLGGAwcEDs+nW^iXp42(V~c>=O>dd+-fYTXP@ZaNv4i8cw2|I}`>|7EW2^? z;rAy~qAxAh>wKniC+qv1>o4CvTW;hzvwPp~_!%184u#*)YK-ka^eSpSx5V<$>1El@ zqD%JbF8ni5T;ye{(efV&JGLyo>h~(GxvDO$Q^9kQ#kIF$TnwuE=N2xQV=_%ZMm_UG z`KGzA_AoE6^~qqn_GQ`%3;*Y9wr1DsJlgZA$m}_bx!U78Ba`~B1zis$4*!|C;(WsF z1->`FasQH&TdM4p_#@r;m)zB#GgWu!UTi(~HzaSGM6zz=yU>f$Qx{gqhznMGNXNT! zu>JOu`}WYv`>;yx?ytwcYE@fGNrjp@FMW8Db*`}1%}|NTH98A5ws(h?m#s0&c^#mz zzdn%TUuo`t%UwHKeebVbzJ||x$E$la?H#9c1fD+ZQS;+_Tl3)b-$i!ECqDhUYiD?~ z@)6ze#VcC`?$MICw)*=A zMIufNzmDhGxK8R3pV7h@%KXY8N_F~<%Bd5d`rST$z5dq5k{($ntFlH7{pGAn1=@a3 zoE=uXo5h!R^}gS^FRw619Acl*m?ZwnOByGCkndn#(s*dHACuJNsS3s{OB&4?C;Kx=PR?QEocvBf z11Mn31Qd{;Y^kUL(vYk;5hy0fJXugpZn6L~=i~+@j>+mudO*R`LP&zMfdU^z;R5%R z#3sim*8}ZxpFB}nX_874%iBhG381{_WIq+2$;(x$fg0{Y1o$KcC;O;Ial%W8$?H`= b$)Mz6V3`2}OBxkq!1ml$6Jv{(2MGfJv{&%U delta 1166 zcmX@+``vfLJxSie)06E27#JA*fLL+zM<)5n>s46;xX*j|p1sKHt*dqJ%=yhh23L$9 z6#1X^*7edkslO>mLpRvqg7NjuPqf6G3GoBA8hA8 z{pmAN$(2u*=XnE*$1Mfk3m+Z4ME)=wH+&a&>DO&>^BVK@{}mp(kUH{7>w`)x%z zzWDvIa(u7v?vmx({k#2X$>S5Bq#K@QoO98cd$r(#jOE5cpCq@=3MSu{mi|c79|NU*^b_RF}{T~%PQlV*c}(QROcMQJfoJ#vm1N( zQXT&)mhFGHt$v$(X4|xq_JRQU4z1j z|Mt-;^ZhaR*4e)ItK3!d{ae-l-}8TWujUWGp8u`CMm1xCMV8UR4B3+rPE*x2`7cB@ zD4ciI>l3hB?5S9E&gpDbq?cm-wEyAUaRxHpLgx?jve10e=GP{@-y-O!$nS&_j0coUTr+3GBdQT z{GxGI)UL0Nd&BgM1UhP``3NuXG+3R@Y8JEMpts=9XVcAJD)%oxoqm4zZ1)?peQoQP zr`~1bU--sm6VD;D6@lBLF1mOni1s$|UWxwh=$Xf{bINr0hdlFt74E(7H@*IT&Bybv z-+gJh_IbbH)RuFJxwlqCUcF$z*m|pSgYt70hj8&tXKrmw^tqTBDfTCElmGE`^Y__S zS!x=mGo(Lbn15-DN2*x!su?~pp-ZcR=M)$5l-6%HnqfNAO;6*`<+}f0)ArYY-_oD9 zGNZ?|N{nj$ zil7Sf?;q~%;n^~+)?=o!t&2Rg0j-&^U6&u?2YaclM|ICC)-PKOfFNY2I{yA5#Uoz=Y$s~lj~GJ$)IF+VDSP2 TGa3|Rz?Q616JzU<2MGfJx`GKX diff --git a/files/built_by_uv-0.1.0-py3-none-any-cpu3.whl b/files/built_by_uv-0.1.0-py3-none-any-cpu3.whl index b84b2693b5488abab2e735805c9fcba27b4b42f7..995f390cead2cfc211e72a305ea007cef9c2510c 100644 GIT binary patch delta 1123 zcmezFd(3ykJxN~PW8QlL7#JA*fmm_!M<)5n4^&wLSPwdKH7E!$9N4}72LBq3d7qds z>MFg;*)T<6_r|OT?`K=eFKS}XJbOrRPidN(ny;^k)BgiEPyR|Uo7m=kbgTB%8rO_l zC*Qp6`_R{*<1?e;&*pfk^NhTkvZd31GchoDvNA9zf$XXea&`6(a+xyu_`1bjBCgN> z>Lv(tOYC7(oAJcK$V}K}lcuomvH1UA*tXsA{~lNBpH<)$wK^+*ZbpNvyo93->7OsfD z$gZ1{IDcv;|Ks%s>Wu~Osaan7@jF0LYK?!-MU0&lk8VO#fWXT4*f zSLGGAwcEDs+nW^iXp42(V~c>=O>dd+-fYTXP@ZaNv4i8cw2|I}`>|7EW2^? z;rAy~qAxAh>wKniC+qv1>o4CvTW;hzvwPp~_!%184u#*)YK-ka^eSpSx5V<$>1El@ zqD%JbF8ni5T;ye{(efV&JGLyo>h~(GxvDO$Q^9kQ#kIF$TnwuE=N2xQV=_%ZMm_UG z`KGzA_AoE6^~qqn_GQ`%3;*Y9wr1DsJlgZA$m}_bx!U78Ba`~B1zis$4*!|C;(WsF z1->`FasQH&TdM4p_#@r;m)zB#GgWu!UTi(~HzaSGM6zz=yU>f$Qx{gqhznMGNXNT! zu>JOu`}WYv`>;yx?ytwcYE@fGNrjp@FMW8Db*`}1%}|NTH98A5ws(h?m#s0&c^#mz zzdn%TUuo`t%UwHKeebVbzJ||x$E$la?H#9c1fD+ZQS;+_Tl3)b-$i!ECqDhUYiD?~ z@)6ze#VcC`?$MICw)*=A zMIufNzmDhGxK8R3pV7h@%KXY8N_F~<%Bd5d`rST$z5dq5k{($ntFlH7{pGAn1=@a3 zoE=uXo5h!R^}gS^FRw619Acl*m?ZwnOByGCkndn#(s*dHACuJNsS3s{OB&4?C;Kx=PR?QEocvBf z11Mn31Qd{;Y^kUL(vYk;5hy0fJXugpZn6L~=i~+@j>+mudO*R`LP&zMfdU^z;R5%R z#3sim*8}ZxpFB}nX_874%iBhG381{_WIq+2$;(x$fg0{Y1o$KcC;O;Ial%W8$?H`= b$)Mz6V3`2}OBxkq!1ml$6Jv{(2MGfJv{&%U delta 1166 zcmX@+``vfLJxSie)06E27#JA*fLL+zM<)5n>s46;xX*j|p1sKHt*dqJ%=yhh23L$9 z6#1X^*7edkslO>mLpRvqg7NjuPqf6G3GoBA8hA8 z{pmAN$(2u*=XnE*$1Mfk3m+Z4ME)=wH+&a&>DO&>^BVK@{}mp(kUH{7>w`)x%z zzWDvIa(u7v?vmx({k#2X$>S5Bq#K@QoO98cd$r(#jOE5cpCq@=3MSu{mi|c79|NU*^b_RF}{T~%PQlV*c}(QROcMQJfoJ#vm1N( zQXT&)mhFGHt$v$(X4|xq_JRQU4z1j z|Mt-;^ZhaR*4e)ItK3!d{ae-l-}8TWujUWGp8u`CMm1xCMV8UR4B3+rPE*x2`7cB@ zD4ciI>l3hB?5S9E&gpDbq?cm-wEyAUaRxHpLgx?jve10e=GP{@-y-O!$nS&_j0coUTr+3GBdQT z{GxGI)UL0Nd&BgM1UhP``3NuXG+3R@Y8JEMpts=9XVcAJD)%oxoqm4zZ1)?peQoQP zr`~1bU--sm6VD;D6@lBLF1mOni1s$|UWxwh=$Xf{bINr0hdlFt74E(7H@*IT&Bybv z-+gJh_IbbH)RuFJxwlqCUcF$z*m|pSgYt70hj8&tXKrmw^tqTBDfTCElmGE`^Y__S zS!x=mGo(Lbn15-DN2*x!su?~pp-ZcR=M)$5l-6%HnqfNAO;6*`<+}f0)ArYY-_oD9 zGNZ?|N{nj$ zil7Sf?;q~%;n^~+)?=o!t&2Rg0j-&^U6&u?2YaclM|ICC)-PKOfFNY2I{yA5#Uoz=Y$s~lj~GJ$)IF+VDSP2 TGa3|Rz?Q616JzU<2MGfJx`GKX diff --git a/files/built_by_uv-0.1.0-py3-none-any-cpu4.whl b/files/built_by_uv-0.1.0-py3-none-any-cpu4.whl index b84b2693b5488abab2e735805c9fcba27b4b42f7..995f390cead2cfc211e72a305ea007cef9c2510c 100644 GIT binary patch delta 1123 zcmezFd(3ykJxN~PW8QlL7#JA*fmm_!M<)5n4^&wLSPwdKH7E!$9N4}72LBq3d7qds z>MFg;*)T<6_r|OT?`K=eFKS}XJbOrRPidN(ny;^k)BgiEPyR|Uo7m=kbgTB%8rO_l zC*Qp6`_R{*<1?e;&*pfk^NhTkvZd31GchoDvNA9zf$XXea&`6(a+xyu_`1bjBCgN> z>Lv(tOYC7(oAJcK$V}K}lcuomvH1UA*tXsA{~lNBpH<)$wK^+*ZbpNvyo93->7OsfD z$gZ1{IDcv;|Ks%s>Wu~Osaan7@jF0LYK?!-MU0&lk8VO#fWXT4*f zSLGGAwcEDs+nW^iXp42(V~c>=O>dd+-fYTXP@ZaNv4i8cw2|I}`>|7EW2^? z;rAy~qAxAh>wKniC+qv1>o4CvTW;hzvwPp~_!%184u#*)YK-ka^eSpSx5V<$>1El@ zqD%JbF8ni5T;ye{(efV&JGLyo>h~(GxvDO$Q^9kQ#kIF$TnwuE=N2xQV=_%ZMm_UG z`KGzA_AoE6^~qqn_GQ`%3;*Y9wr1DsJlgZA$m}_bx!U78Ba`~B1zis$4*!|C;(WsF z1->`FasQH&TdM4p_#@r;m)zB#GgWu!UTi(~HzaSGM6zz=yU>f$Qx{gqhznMGNXNT! zu>JOu`}WYv`>;yx?ytwcYE@fGNrjp@FMW8Db*`}1%}|NTH98A5ws(h?m#s0&c^#mz zzdn%TUuo`t%UwHKeebVbzJ||x$E$la?H#9c1fD+ZQS;+_Tl3)b-$i!ECqDhUYiD?~ z@)6ze#VcC`?$MICw)*=A zMIufNzmDhGxK8R3pV7h@%KXY8N_F~<%Bd5d`rST$z5dq5k{($ntFlH7{pGAn1=@a3 zoE=uXo5h!R^}gS^FRw619Acl*m?ZwnOByGCkndn#(s*dHACuJNsS3s{OB&4?C;Kx=PR?QEocvBf z11Mn31Qd{;Y^kUL(vYk;5hy0fJXugpZn6L~=i~+@j>+mudO*R`LP&zMfdU^z;R5%R z#3sim*8}ZxpFB}nX_874%iBhG381{_WIq+2$;(x$fg0{Y1o$KcC;O;Ial%W8$?H`= b$)Mz6V3`2}OBxkq!1ml$6Jv{(2MGfJv{&%U delta 1166 zcmX@+``vfLJxSie)06E27#JA*fLL+zM<)5n>s46;xX*j|p1sKHt*dqJ%=yhh23L$9 z6#1X^*7edkslO>mLpRvqg7NjuPqf6G3GoBA8hA8 z{pmAN$(2u*=XnE*$1Mfk3m+Z4ME)=wH+&a&>DO&>^BVK@{}mp(kUH{7>w`)x%z zzWDvIa(u7v?vmx({k#2X$>S5Bq#K@QoO98cd$r(#jOE5cpCq@=3MSu{mi|c79|NU*^b_RF}{T~%PQlV*c}(QROcMQJfoJ#vm1N( zQXT&)mhFGHt$v$(X4|xq_JRQU4z1j z|Mt-;^ZhaR*4e)ItK3!d{ae-l-}8TWujUWGp8u`CMm1xCMV8UR4B3+rPE*x2`7cB@ zD4ciI>l3hB?5S9E&gpDbq?cm-wEyAUaRxHpLgx?jve10e=GP{@-y-O!$nS&_j0coUTr+3GBdQT z{GxGI)UL0Nd&BgM1UhP``3NuXG+3R@Y8JEMpts=9XVcAJD)%oxoqm4zZ1)?peQoQP zr`~1bU--sm6VD;D6@lBLF1mOni1s$|UWxwh=$Xf{bINr0hdlFt74E(7H@*IT&Bybv z-+gJh_IbbH)RuFJxwlqCUcF$z*m|pSgYt70hj8&tXKrmw^tqTBDfTCElmGE`^Y__S zS!x=mGo(Lbn15-DN2*x!su?~pp-ZcR=M)$5l-6%HnqfNAO;6*`<+}f0)ArYY-_oD9 zGNZ?|N{nj$ zil7Sf?;q~%;n^~+)?=o!t&2Rg0j-&^U6&u?2YaclM|ICC)-PKOfFNY2I{yA5#Uoz=Y$s~lj~GJ$)IF+VDSP2 TGa3|Rz?Q616JzU<2MGfJx`GKX diff --git a/files/built_by_uv-0.1.0-variants.json b/files/built_by_uv-0.1.0-variants.json index eeba3ae68..1efd65a76 100644 --- a/files/built_by_uv-0.1.0-variants.json +++ b/files/built_by_uv-0.1.0-variants.json @@ -19,6 +19,13 @@ } } }, + "static-properties": { + "mathlib": { + "kind": [ + "very_fast_lib" + ] + } + }, "providers": { "cpu_level": { "enable-if": "platform_machine == 'x86_64' or platform_machine == 'AMD64'", @@ -26,6 +33,9 @@ "requires": [ "cpu_level_provider >= 0.1, <0.2" ] + }, + "mathlib": { + "install-time": false } }, "variants": { @@ -34,6 +44,11 @@ "x86_64_level": [ "v1" ] + }, + "mathlib": { + "kind": [ + "very_fast_lib" + ] } }, "cpu2": { @@ -41,6 +56,11 @@ "x86_64_level": [ "v2" ] + }, + "mathlib": { + "kind": [ + "very_fast_lib" + ] } }, "cpu3": { @@ -48,6 +68,11 @@ "x86_64_level": [ "v3" ] + }, + "mathlib": { + "kind": [ + "very_fast_lib" + ] } }, "cpu4": { @@ -55,6 +80,11 @@ "x86_64_level": [ "v4" ] + }, + "mathlib": { + "kind": [ + "very_fast_lib" + ] } } } diff --git a/files_sdist/built_by_uv-0.1.0.tar.gz b/files_sdist/built_by_uv-0.1.0.tar.gz index 8632c807effed19107363c8893e7b01d885428b3..fadd6cec2388a9e02c5985438b6ab100d0f1ee58 100644 GIT binary patch literal 6545 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

G1kr}}QP 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 CPH}Gl diff --git a/files_wheel/built_by_uv-0.1.0-py3-none-any.whl b/files_wheel/built_by_uv-0.1.0-py3-none-any.whl index b84b2693b5488abab2e735805c9fcba27b4b42f7..995f390cead2cfc211e72a305ea007cef9c2510c 100644 GIT binary patch delta 1123 zcmezFd(3ykJxN~PW8QlL7#JA*fmm_!M<)5n4^&wLSPwdKH7E!$9N4}72LBq3d7qds z>MFg;*)T<6_r|OT?`K=eFKS}XJbOrRPidN(ny;^k)BgiEPyR|Uo7m=kbgTB%8rO_l zC*Qp6`_R{*<1?e;&*pfk^NhTkvZd31GchoDvNA9zf$XXea&`6(a+xyu_`1bjBCgN> z>Lv(tOYC7(oAJcK$V}K}lcuomvH1UA*tXsA{~lNBpH<)$wK^+*ZbpNvyo93->7OsfD z$gZ1{IDcv;|Ks%s>Wu~Osaan7@jF0LYK?!-MU0&lk8VO#fWXT4*f zSLGGAwcEDs+nW^iXp42(V~c>=O>dd+-fYTXP@ZaNv4i8cw2|I}`>|7EW2^? z;rAy~qAxAh>wKniC+qv1>o4CvTW;hzvwPp~_!%184u#*)YK-ka^eSpSx5V<$>1El@ zqD%JbF8ni5T;ye{(efV&JGLyo>h~(GxvDO$Q^9kQ#kIF$TnwuE=N2xQV=_%ZMm_UG z`KGzA_AoE6^~qqn_GQ`%3;*Y9wr1DsJlgZA$m}_bx!U78Ba`~B1zis$4*!|C;(WsF z1->`FasQH&TdM4p_#@r;m)zB#GgWu!UTi(~HzaSGM6zz=yU>f$Qx{gqhznMGNXNT! zu>JOu`}WYv`>;yx?ytwcYE@fGNrjp@FMW8Db*`}1%}|NTH98A5ws(h?m#s0&c^#mz zzdn%TUuo`t%UwHKeebVbzJ||x$E$la?H#9c1fD+ZQS;+_Tl3)b-$i!ECqDhUYiD?~ z@)6ze#VcC`?$MICw)*=A zMIufNzmDhGxK8R3pV7h@%KXY8N_F~<%Bd5d`rST$z5dq5k{($ntFlH7{pGAn1=@a3 zoE=uXo5h!R^}gS^FRw619Acl*m?ZwnOByGCkndn#(s*dHACuJNsS3s{OB&4?C;Kx=PR?QEocvBf z11Mn31Qd{;Y^kUL(vYk;5hy0fJXugpZn6L~=i~+@j>+mudO*R`LP&zMfdU^z;R5%R z#3sim*8}ZxpFB}nX_874%iBhG381{_WIq+2$;(x$fg0{Y1o$KcC;O;Ial%W8$?H`= b$)Mz6V3`2}OBxkq!1ml$6Jv{(2MGfJv{&%U delta 1166 zcmX@+``vfLJxSie)06E27#JA*fLL+zM<)5n>s46;xX*j|p1sKHt*dqJ%=yhh23L$9 z6#1X^*7edkslO>mLpRvqg7NjuPqf6G3GoBA8hA8 z{pmAN$(2u*=XnE*$1Mfk3m+Z4ME)=wH+&a&>DO&>^BVK@{}mp(kUH{7>w`)x%z zzWDvIa(u7v?vmx({k#2X$>S5Bq#K@QoO98cd$r(#jOE5cpCq@=3MSu{mi|c79|NU*^b_RF}{T~%PQlV*c}(QROcMQJfoJ#vm1N( zQXT&)mhFGHt$v$(X4|xq_JRQU4z1j z|Mt-;^ZhaR*4e)ItK3!d{ae-l-}8TWujUWGp8u`CMm1xCMV8UR4B3+rPE*x2`7cB@ zD4ciI>l3hB?5S9E&gpDbq?cm-wEyAUaRxHpLgx?jve10e=GP{@-y-O!$nS&_j0coUTr+3GBdQT z{GxGI)UL0Nd&BgM1UhP``3NuXG+3R@Y8JEMpts=9XVcAJD)%oxoqm4zZ1)?peQoQP zr`~1bU--sm6VD;D6@lBLF1mOni1s$|UWxwh=$Xf{bINr0hdlFt74E(7H@*IT&Bybv z-+gJh_IbbH)RuFJxwlqCUcF$z*m|pSgYt70hj8&tXKrmw^tqTBDfTCElmGE`^Y__S zS!x=mGo(Lbn15-DN2*x!su?~pp-ZcR=M)$5l-6%HnqfNAO;6*`<+}f0)ArYY-_oD9 zGNZ?|N{nj$ zil7Sf?;q~%;n^~+)?=o!t&2Rg0j-&^U6&u?2YaclM|ICC)-PKOfFNY2I{yA5#Uoz=Y$s~lj~GJ$)IF+VDSP2 TGa3|Rz?Q616JzU<2MGfJx`GKX diff --git a/scripts/packages/built-by-uv/pyproject.toml b/scripts/packages/built-by-uv/pyproject.toml index c25c89211..61c1d80ef 100644 --- a/scripts/packages/built-by-uv/pyproject.toml +++ b/scripts/packages/built-by-uv/pyproject.toml @@ -30,6 +30,12 @@ namespace = ["cpu_level"] requires = ["cpu_level_provider >= 0.1, <0.2"] enable-if = "platform_machine == 'x86_64' or platform_machine == 'AMD64'" +[variant.providers.mathlib] +install-time = false + +[variant.static-properties] +mathlib = { "kind" = ["very_fast_lib"] } + [build-system] requires = ["uv_build>=0.8.0,<0.10.0"] build-backend = "uv_build"