@@ -66,40 +66,49 @@ For each scheme, **univers** provides an implementation for:
6666version range syntax. It can parse and convert an existing native version range
6767strings to this unified syntax. For example, this means:
6868
69- - converting ">1.2.3" as used in a Python package into ``vers:pypi/>1.2.3 ``,
69+ - converting ">= 1.2.3" as used in a Python package into ``vers:pypi/>= 1.2.3 ``,
7070
71- - or converting "^1.0.2" as used in an npm package dependency declartion into
72- ``vers:npm/>=1.0.2, <2.0.0 ``
71+ - or converting "^1.0.2" as used in an npm package dependency declaration into
72+ ``vers:npm/>=1.0.2| <2.0.0 ``
7373
7474The supported package ecosystems versioning schemes and underlying libraries
7575include:
7676
7777- npm that use the "node-semver" ranges notation and the semver versions syntax
78- This is supported in part by the `semantic_version <https://github.com/rbarrois/python-semanticversion >`_ library.
78+ This is supported in part by the `semantic_version
79+ <https://github.com/rbarrois/python-semanticversion> `_ library.
7980
80- - pypi: handled by Python's packaging library and the standard ``packaging.version `` module.
81+ - pypi: handled by Python's packaging library and the standard
82+ ``packaging.version `` module.
8183
8284- Rubygems which use a semver-like but not-quite-semver scheme and there can be
8385 commonly more than three version segments.
8486 Gems also use a slightly different range notation from node-semver with
8587 different operators and slightly different semantics: for instance it uses "~>"
8688 as a pessimistic operator and supports exclusion with != and does not support
8789 "OR" between constraints (that it call requirements).
90+ Gem are handled by Python port of the Rubygems requirements and version
91+ handling code from the `puppeteer tool
92+ <https://github.com/nexB/univers/blob/main/src/univers/debian.py.ABOUT> `_
8893
89- - debian: handled by the `debian-inspector < https://github.com/nexB/univers/blob/main/src/univers/debian.py.ABOUT >`_
90- library .
94+ - debian: handled by the `debian-inspector library
95+ <https://github.com/nexB/univers/blob/main/src/univers/debian.py.ABOUT> `_ .
9196
92- - maven: handled by the embedded `pymaven <https://github.com/nexB/univers/blob/main/src/univers/pymaven.py.ABOUT >`_ library.
97+ - maven: handled by the embedded `pymaven library
98+ <https://github.com/nexB/univers/blob/main/src/univers/pymaven.py.ABOUT> `_.
9399
94- - rpm: handled by the embedded `rpm_vercmp <https://github.com/nexB/univers/blob/main/src/univers/rpm.py.ABOUT >`_ library.
100+ - rpm: handled by the embedded `rpm_vercmp library
101+ <https://github.com/nexB/univers/blob/main/src/univers/rpm.py.ABOUT> `_.
95102
96103- golang (using semver)
97104
98105- PHP composer
99106
100- - ebuild/gentoo: handled by the embedded `gentoo_vercmp <https://github.com/nexB/univers/blob/main/src/univers/gentoo.py.ABOUT >`_ module.
107+ - ebuild/gentoo: handled by the embedded `gentoo_vercmp module
108+ <https://github.com/nexB/univers/blob/main/src/univers/gentoo.py.ABOUT> `_.
101109
102- - arch linux : handled by the embedded `arch utility borrowed from msys2 <https://github.com/nexB/univers/blob/main/src/univers/arch.py.ABOUT >`_ module.
110+ - arch linux: handled by the embedded `arch utility module borrowed from msys2
111+ <https://github.com/nexB/univers/blob/main/src/univers/arch.py.ABOUT> `_.
103112
104113The level of support for each ecosystem may not be even for now and new schemes
105114and support for more package types are implemented on a continuous basis.
@@ -140,7 +149,7 @@ Normalize a version range from an npm:
140149
141150 from univers.version_range import NpmVersionRange
142151 range = NpmVersionRange.from_native(" ^1.0.2" )
143- assert str (range ) == " vers:npm/>=1.0.2, <2.0.0"
152+ assert str (range ) == " vers:npm/>=1.0.2| <2.0.0"
144153
145154
146155 Test if a version is within or outside a version range:
0 commit comments