From 7efc42629e352b7a7a92cb53fa9cf31e8b6d6710 Mon Sep 17 00:00:00 2001 From: AmirHossein Ahmadi Date: Fri, 28 Mar 2025 21:33:24 +0330 Subject: [PATCH 1/2] add external constructor for pp --- pyenumerable/constructors.py | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 pyenumerable/constructors.py diff --git a/pyenumerable/constructors.py b/pyenumerable/constructors.py new file mode 100644 index 0000000..b392438 --- /dev/null +++ b/pyenumerable/constructors.py @@ -0,0 +1,11 @@ +from collections.abc import Iterable + +from pyenumerable.implementations import PurePythonEnumerable +from pyenumerable.protocol import Enumerable + + +def pp_enumerable[TSource]( + *items: TSource, + from_iterable: Iterable[Iterable[TSource]] | None = None +) -> Enumerable[TSource]: + return PurePythonEnumerable(*items, from_iterable=from_iterable) From 1165d7437d07f4dc3c182689a4ecd836ca3759cc Mon Sep 17 00:00:00 2001 From: AmirHossein Ahmadi Date: Fri, 28 Mar 2025 21:33:37 +0330 Subject: [PATCH 2/2] add external pp constructor to pyenumerable --- pyenumerable/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyenumerable/__init__.py b/pyenumerable/__init__.py index 25e4003..cf69920 100644 --- a/pyenumerable/__init__.py +++ b/pyenumerable/__init__.py @@ -3,10 +3,11 @@ """ # noqa: E501 +from pyenumerable.constructors import pp_enumerable from pyenumerable.implementations import PurePythonEnumerable from pyenumerable.protocol import Enumerable -__all__ = ["Enumerable", "PurePythonEnumerable"] +__all__ = ["Enumerable", "PurePythonEnumerable", "pp_enumerable"] __author__ = "AmirHossein Ahmadi" __license__ = "WTFPL" __version__ = "1.0.2"