@@ -117,11 +117,11 @@ significant performance improvement.
117117 CPUs. Vertical axis shows performance expressed in ns/day, a
118118 GROMACS-specific measure of simulation speed (higher is better).
119119
120- “ Compiling `GROMACS <https://www.gromacs.org/ >`_ for architectures
120+ Compiling `GROMACS <https://www.gromacs.org/ >`_ for architectures
121121 that can exploit the AVX-512 instructions supported by the Intel
122122 Cascade Lake microarchitecture gives an additional 18% performance
123123 improvement relative to using AVX2 instructions, with a speedup of
124- about 70% compared to a generic GROMACS installation with only SSE2.”
124+ about 70% compared to a generic GROMACS installation with only SSE2.
125125
126126 — `archspec: A library for detecting, labeling, and reasoning about
127127 microarchitectures <https://tgamblin.github.io/pubs/archspec-canopie-hpc-2020.pdf> `__
@@ -194,7 +194,7 @@ Separate package indexes as variants
194194
195195Projects such as `PyTorch <https://pytorch.org/get-started/locally/ >`__
196196and `RAPIDS <https://docs.rapids.ai/install/#selector >`__
197- currently distribute packages that approximate “ variants” through
197+ currently distribute packages that approximate " variants" through
198198separate package indexes with custom URLs. We will use the
199199example of PyTorch, while the problem, the workarounds and the impact for
200200users also apply to other packages.
@@ -317,7 +317,7 @@ JAX includes 12 extra selectors to cover all use cases - many of which
317317overlap and could be misleading to users if they don’t read the
318318documentation in detail.
319319
320- It should be noted that most of these “ extras” are technically mutually
320+ It should be noted that most of these " extras" are technically mutually
321321exclusive, though it is currently impossible to correctly express this
322322within the package metadata.
323323
@@ -432,7 +432,7 @@ computing clusters with different architectures (CPU, Hardware
432432accelerators, ASICS, etc.). The current system requires
433433environment-specific installation procedures, making reproducible
434434deployment difficult. This situation also contributes to making
435- “ scientific papers” difficult to reproduce. Application authors focused
435+ " scientific papers" difficult to reproduce. Application authors focused
436436on improving that are hindered by the packaging hurdles too:
437437
438438 We've been developing a package manager for Spyder, a Python IDE for
@@ -603,7 +603,7 @@ resolve dependencies like:
603603 conda install pytorch mkl
604604
605605 **Mutex Metapackages **: Python metadata and conda metadata do not have
606- good ways to express ideas like “ this package conflicts with that one.”
606+ good ways to express ideas like " this package conflicts with that one."
607607The main mechanism for enforcement is sharing a common package name -
608608only one package with a given name can exist at one time. Mutex
609609metapackages are sets of packages with the same name, but different
@@ -1071,7 +1071,7 @@ Wheel variant glossary
10711071----------------------
10721072
10731073This section focuses specifically on the vocabulary used by the proposed
1074- “ Wheel Variant” standard:
1074+ " Wheel Variant" standard:
10751075
10761076Variant Wheels
10771077 Wheels that share the same distribution name, version, build number,
@@ -1189,9 +1189,9 @@ The Wheel Variant PEP introduces four key components:
118911892. `Variant metadata `_ format: Standardized metadata describing variant
11901190 properties and provider requirements.
11911191
1192- a. Metadata specification at “ project level” inside
1192+ a. Metadata specification at " project level" inside
11931193 ``pyproject.toml ``
1194- b. Metadata specification of “ built packages” inside two JSON files:
1194+ b. Metadata specification of " built packages" inside two JSON files:
11951195
11961196 i. ``*.dist-info/variant.json ``: Individual wheel variant
11971197 metadata.
@@ -1274,7 +1274,7 @@ The feature value must consist only of ``0-9``, ``a-z``, ``_`` and ``.``
12741274ASCII Characters (``^[a-z0-9_.]+$ ``). It must correspond to a valid
12751275value defined by the respective variant provider for the feature.
12761276
1277- If a feature is marked as “ multi-value” by the provider plugin, a single
1277+ If a feature is marked as " multi-value" by the provider plugin, a single
12781278variant wheel may define multiple properties sharing the same namespace
12791279and feature name. Otherwise, only a single value can correspond to a
12801280single pair of namespace and feature name within a variant wheel.
@@ -1928,7 +1928,7 @@ methods. The specifics are provided in the subsequent sections.
19281928API endpoint
19291929''''''''''''
19301930
1931- The location of the plugin code is called an “ API endpoint” , and it is
1931+ The location of the plugin code is called an " API endpoint" , and it is
19321932expressed using the object reference notation following the
19331933:doc: `packaging:specifications/entry-points `:
19341934
@@ -1994,7 +1994,7 @@ significant. It is defined using the following protocol:
19941994 """ List of values, possibly ordered from most preferred to least"""
19951995 raise NotImplementedError
19961996
1997- A “ variant feature config” must provide the following properties or attributes:
1997+ A " variant feature config" must provide the following properties or attributes:
19981998
19991999- ``name: str `` specifying the feature name.
20002000
@@ -2061,14 +2061,14 @@ The plugin interface must define the following attributes:
20612061The plugin interface must provide the following functions:
20622062
20632063- ``get_all_config() -> list[VariantFeatureConfigType] `` that returns a
2064- list of “ variant feature configs” describing all valid variant
2064+ list of " variant feature configs" describing all valid variant
20652065 features within the plugin’s namespace, along with all their permitted
20662066 values. The ordering of the lists is insignificant here. A particular
20672067 plugin version must always return the same value (modulo ordering),
20682068 irrespective of any runtime conditions.
20692069
20702070- ``get_supported_configs() -> list[VariantFeatureConfigType] `` that
2071- returns a list of “ variant feature configs” describing the variant
2071+ returns a list of " variant feature configs" describing the variant
20722072 features within the plugin’s namespace that are compatible with this
20732073 particular system, along with their values that are supported. The
20742074 variant feature and value lists must be ordered from the most
@@ -2445,7 +2445,7 @@ Resolving variants to separate packages
24452445
24462446An alternative proposal was to publish the variants of the package as
24472447separate projects on the index, along with the main package serving as a
2448- “ resolver” directing to other variants via its metadata. For example, a
2448+ " resolver" directing to other variants via its metadata. For example, a
24492449``torch `` package could indicate the conditions for using ``torch-cpu ``,
24502450``torch-cu129 ``, etc. subpackages.
24512451
@@ -2466,7 +2466,7 @@ maintainers can upload them.
24662466
24672467Furthermore, it requires significant changes to the dependency resolver
24682468and package metadata formats. In particular, the dependency resolver
2469- would need to query all “ resolver” packages before performing
2469+ would need to query all " resolver" packages before performing
24702470resolution. It is unclear how to account for such variants while
24712471performing universal resolution. The one-to-one mapping between
24722472dependencies and installed packages would be lost, as a ``torch ``
0 commit comments