They consist of a normal public version identifier (as defined in the
previous section), along with an arbitrary "local version label", separated
-from the public version identifier by a
tilde. Local version labels have
+from the public version identifier by a . Local version labels have
no specific semantics assigned, but some syntactic restrictions are imposed.
Local version identifiers are used to denote fully API (and, if applicable,
``pip 1.5+1`` or ``pip 1.5+1.git.abc123de`` will still satisfy a version
specifier like ``pip>=1.5``.
tilde is chosen primarily for readability of local version identifiers.
+The is chosen primarily for readability of local version identifiers.
It was chosen instead of the hyphen to prevent
``pkg_resources.parse_version`` from parsing it as a prerelease, which is
important for enabling a successful migration to the new, more structured,
-versioning scheme. The use of tilde as a separator for API/ABI compatible
-local version identifiers also aligns well with its use as part of the
-comparison operator for compatible release version specifiers.
+versioning scheme. The plus was chosen instead of a tilde because of the
+significance of the tilde in Debian's version algorithm.
-Since the wheel naming format defined in PEP 427 escapes
+Since the wheel naming format defined in PEP 427 escapes characters
the "local version label" component from this PEP should be mapped to the
optional "build tag" component of the wheel file naming scheme, rather than
tilde to be transformed according to the normal PEP 427 escaping
+allowing the to be transformed according to the normal PEP 427 escaping
rules. If at some time the wheel naming scheme is updated to allow local
version identifiers to be used directly in filenames, then it will be
preferred to use that explicit support, rather than relying on the existing