From 75c7d728512bfafe59291a65ad7935e58eea0736 Mon Sep 17 00:00:00 2001 From: hauntsaninja Date: Sat, 16 Jul 2022 08:34:18 -0700 Subject: [PATCH 1/6] Include use of SpecifierSet.__iter__ in cheatsheet --- docs/specifiers.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/specifiers.rst b/docs/specifiers.rst index e1e458b8..34dbb415 100644 --- a/docs/specifiers.rst +++ b/docs/specifiers.rst @@ -28,6 +28,10 @@ Usage >>> combined_spec &= "!=1.1" >>> combined_spec =1.0,~=1.0')> + >>> # We can iterate over the SpecifierSet to recover the + >>> # individual specifiers + >>> list(combined_spec) + [=1.0')>, , ] >>> # Create a few versions to check for contains. >>> v1 = Version("1.0a5") >>> v2 = Version("1.0") From 696cd8cdd2531f407d4e09711ddec5e1deafcfce Mon Sep 17 00:00:00 2001 From: hauntsaninja Date: Sat, 16 Jul 2022 08:40:07 -0700 Subject: [PATCH 2/6] fix doc test --- docs/specifiers.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/specifiers.rst b/docs/specifiers.rst index 34dbb415..e3338416 100644 --- a/docs/specifiers.rst +++ b/docs/specifiers.rst @@ -30,8 +30,8 @@ Usage =1.0,~=1.0')> >>> # We can iterate over the SpecifierSet to recover the >>> # individual specifiers - >>> list(combined_spec) - [=1.0')>, , ] + >>> sorted(combined_spec, key=lambda x: x.operator) + [, =1.0')>, ] >>> # Create a few versions to check for contains. >>> v1 = Version("1.0a5") >>> v2 = Version("1.0") From 275ab2c2cf8c709e597df9b70f5bba9975582154 Mon Sep 17 00:00:00 2001 From: hauntsaninja Date: Sat, 16 Jul 2022 10:35:03 -0700 Subject: [PATCH 3/6] include an example in __iter__ reference --- docs/specifiers.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/specifiers.rst b/docs/specifiers.rst index e3338416..d5243fda 100644 --- a/docs/specifiers.rst +++ b/docs/specifiers.rst @@ -111,7 +111,10 @@ Reference .. method:: __iter__() Returns an iterator over all the underlying :class:`Specifier` (or - deprecated :class:`LegacySpecifier`) instances in this specifier set. + deprecated :class:`LegacySpecifier`) instances in this specifier set:: + + >>> list(SpecifierSet(">=1.0, <1.1")) + [, =1.0')>] .. method:: filter(iterable, prereleases=None) From 83a38f0540ce0a5aedb7f77212a2529ada1dfcc2 Mon Sep 17 00:00:00 2001 From: hauntsaninja Date: Sat, 16 Jul 2022 10:39:27 -0700 Subject: [PATCH 4/6] example --- packaging/specifiers.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packaging/specifiers.py b/packaging/specifiers.py index 840e0878..15f87b4f 100644 --- a/packaging/specifiers.py +++ b/packaging/specifiers.py @@ -823,6 +823,9 @@ def __iter__(self) -> Iterator[Specifier]: """ Returns an iterator over all the underlying :class:`Specifier` instances in this specifier set. + + >>> list(SpecifierSet(">=1.0.0,!=1.0.1")) + [, =1.0.0')>] """ return iter(self._specs) From 54e5599ff764bface1c69b5286541bb21f08c2ab Mon Sep 17 00:00:00 2001 From: hauntsaninja Date: Sat, 16 Jul 2022 10:41:29 -0700 Subject: [PATCH 5/6] everything is doctested :-) --- packaging/specifiers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/specifiers.py b/packaging/specifiers.py index 15f87b4f..6e3d3884 100644 --- a/packaging/specifiers.py +++ b/packaging/specifiers.py @@ -824,7 +824,7 @@ def __iter__(self) -> Iterator[Specifier]: Returns an iterator over all the underlying :class:`Specifier` instances in this specifier set. - >>> list(SpecifierSet(">=1.0.0,!=1.0.1")) + >>> sorted(SpecifierSet(">=1.0.0,!=1.0.1"), key=lambda x: x.operator) [, =1.0.0')>] """ return iter(self._specs) From 17b2ae3df94c288feb8fa929bd380613ce6b5109 Mon Sep 17 00:00:00 2001 From: hauntsaninja Date: Sun, 17 Jul 2022 13:14:20 -0700 Subject: [PATCH 6/6] use str to sort --- docs/specifiers.rst | 2 +- packaging/specifiers.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/specifiers.rst b/docs/specifiers.rst index 8259901d..934d9f6f 100644 --- a/docs/specifiers.rst +++ b/docs/specifiers.rst @@ -32,7 +32,7 @@ Usage =1.0,~=1.0')> >>> # We can iterate over the SpecifierSet to recover the >>> # individual specifiers - >>> sorted(combined_spec, key=lambda x: x.operator) + >>> sorted(combined_spec, key=str) [, =1.0')>, ] >>> # Create a few versions to check for contains. >>> v1 = Version("1.0a5") diff --git a/packaging/specifiers.py b/packaging/specifiers.py index 6e3d3884..45738d24 100644 --- a/packaging/specifiers.py +++ b/packaging/specifiers.py @@ -824,7 +824,7 @@ def __iter__(self) -> Iterator[Specifier]: Returns an iterator over all the underlying :class:`Specifier` instances in this specifier set. - >>> sorted(SpecifierSet(">=1.0.0,!=1.0.1"), key=lambda x: x.operator) + >>> sorted(SpecifierSet(">=1.0.0,!=1.0.1"), key=str) [, =1.0.0')>] """ return iter(self._specs)