Skip to content

Commit 2e20460

Browse files
committed
Add a variant.json example
Signed-off-by: Michał Górny <mgorny@quansight.com>
1 parent 60987ca commit 2e20460

1 file changed

Lines changed: 58 additions & 0 deletions

File tree

peps/pep-0826.rst

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,64 @@ keys:
190190
``-`` characters with ``_`` in the normalized package name.
191191

192192

193+
Example
194+
'''''''
195+
196+
.. code:: json5
197+
198+
{
199+
// The schema URL will be replaced with the final URL on packaging.python.org
200+
"$schema": "https://variants-schema.wheelnext.dev/v0.0.3.json",
201+
202+
"default-priorities": {
203+
// MUST list all namespaces used.
204+
"namespace": ["x86_64", "aarch64", "blas_lapack"],
205+
206+
// other fields same as in PEP 825
207+
"feature": {},
208+
"property": {}
209+
},
210+
211+
"providers": {
212+
// MUST list all namespaces used.
213+
"aarch64": {
214+
// Specifies provider plugin package. REQUIRED since there is no
215+
// "static-properties" -- plugin will be queried at install time.
216+
"requires": ["provider-variant-aarch64 >=0.0.1"],
217+
// Overrides plugin API endpoint. OPTIONAL; without it, the API
218+
// endpoint "provider_variant_aarch64" would be used.
219+
"plugin-api": "provider_variant_aarch64.plugin:AArch64Plugin"
220+
},
221+
"blas_lapack": {
222+
// Specifies compatible properties. No install-time querying is
223+
// necessary.
224+
"static-properties": {
225+
// Values are ordered -- by default, openblas variant is preferred
226+
over mkl, // and accelerate over the other two.
227+
"library": ["accelerate", "openblas", "mkl"]
228+
},
229+
// OPTIONAL: unused since "static-properties" are available.
230+
"requires": ["blas-lapack-variant-provider"]
231+
},
232+
"x86_64": {
233+
// Specifies provider plugin package. REQUIRED since there is no
234+
// "static-properties" -- plugin will be queried at install time.
235+
"requires": [
236+
"provider-variant-x86-64 >=0.0.1; python_version >= '3.12'",
237+
"legacy-provider-variant-x86-64 >=0.0.1; python_version < '3.12'"
238+
],
239+
// Overrides plugin API endpoint. REQUIRED since "requires" may
240+
// evaluate to two different packages depending on Python version.
241+
"plugin-api": "provider_variant_x86_64.plugin:X8664Plugin"
242+
}
243+
},
244+
245+
"variants": {
246+
// same as in PEP 825
247+
}
248+
}
249+
250+
193251
Provider plugin API
194252
-------------------
195253

0 commit comments

Comments
 (0)