pythonic-fp-numpy 1.0.0__py3-none-any.whl → 6.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,7 +13,8 @@
13
13
  # limitations under the License.
14
14
 
15
15
  from abc import ABC, abstractmethod
16
- from enum import auto, Enum
16
+ from enum import Enum, auto
17
+
17
18
  import numpy as np
18
19
  import numpy.typing as npt
19
20
 
@@ -75,7 +76,7 @@ class HWrapNDArray(ABC):
75
76
 
76
77
  """
77
78
 
78
- __slots__ = '_ndarray', '_type', '_shape', '_hash'
79
+ __slots__ = '_hash', '_ndarray', '_shape', '_type'
79
80
 
80
81
  def __init__(self, ndarray: npt.NDArray[np.generic]) -> None:
81
82
  """
@@ -127,7 +128,7 @@ class HWrapNDArray(ABC):
127
128
  - Never make the underlying NDArray writable!!!
128
129
 
129
130
  """
130
- return np.array(self._ndarray)
131
+ return np.array(iter(self._ndarray))
131
132
 
132
133
  def __hash__(self) -> int:
133
134
  """
@@ -185,7 +186,7 @@ class HWrapNDArray(ABC):
185
186
  Return a copy of the wrapped NDArray.
186
187
 
187
188
  """
188
- return np.array(self._ndarray, copy=True)
189
+ return np.array(iter(self._ndarray), copy=True)
189
190
 
190
191
 
191
192
  class HWrapNDArrayNumber(HWrapNDArray):
@@ -0,0 +1,51 @@
1
+ Metadata-Version: 2.4
2
+ Name: pythonic-fp-numpy
3
+ Version: 6.0.0
4
+ Summary: FP tools for Numpy
5
+ Keywords: numpy,ndarray,hashable,wrap
6
+ Author-email: "Geoffrey R. Scheller" <geoffrey@scheller.com>
7
+ Requires-Python: >=3.14
8
+ Description-Content-Type: text/markdown
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: Framework :: Pytest
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: License :: OSI Approved :: Apache Software License
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Programming Language :: Python :: 3.14
15
+ Classifier: Programming Language :: Python :: 3.15
16
+ Classifier: Typing :: Typed
17
+ License-File: LICENSE
18
+ Requires-Dist: numpy>=2.3.4
19
+ Project-URL: Changelog, https://github.com/grscheller/pythonic-fp-numpy/blob/main/CHANGELOG.md
20
+ Project-URL: Documentation, https://grscheller.github.io/pythonic-fp-numpy
21
+ Project-URL: Homepage, https://grscheller.github.io/pythonic-fp
22
+ Project-URL: Source, https://github.com/grscheller/pythonic-fp-numpy
23
+
24
+ # Pythonic FP - FP Numpy
25
+
26
+ Python package implementing functional programming tools for NumPy.
27
+
28
+ PyPI project
29
+ [pythonic-fp-numpy](https://pypi.org/project/pythonic-fp-numpy).
30
+ Part of the
31
+ [pythonic-fp](https://grscheller.github.io/pythonic-fp)
32
+ PyPI projects.
33
+
34
+ ## Documentation
35
+
36
+ Documentation and other links for this project are hosted on
37
+ [GitHub Pages](https://grscheller.github.io/pythonic-fp-numpy).
38
+
39
+ ### Modules
40
+
41
+ #### Module hashable_wrapped_ndarray
42
+
43
+ - wrap readonly NDArrays to make them hashable
44
+ - prioritize performance over safety
45
+ - see PyPI project boring-math-abstract-algebra for a use case
46
+
47
+ ## Copyright and License
48
+
49
+ Copyright (c) 2025-2026 Geoffrey R. Scheller. Licensed under the Apache
50
+ License, Version 2.0. See the LICENSE file for details.
51
+
@@ -0,0 +1,7 @@
1
+ pythonic_fp/numpy/__init__.py,sha256=dL-LF98cK5PId82_PBhTq9iTnfZthQkCq_jBTSKKBN0,964
2
+ pythonic_fp/numpy/hashable_wrapped_ndarray.py,sha256=9iIXhF5yDZV3fKijmJjqu1toc034zXcBmLfKbVgD2oA,10811
3
+ pythonic_fp/numpy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ pythonic_fp_numpy-6.0.0.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
5
+ pythonic_fp_numpy-6.0.0.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
6
+ pythonic_fp_numpy-6.0.0.dist-info/METADATA,sha256=VsUSJqF_xxLDvEkq7_Qirb45uuDOOYr4N-UuL9-sQ3Q,1721
7
+ pythonic_fp_numpy-6.0.0.dist-info/RECORD,,
File without changes
@@ -1,48 +0,0 @@
1
- import abc
2
- import numpy as np
3
- import numpy.typing as npt
4
- from abc import ABC
5
- from enum import Enum
6
-
7
- __all__ = ['DTypes', 'HWrapNDArray', 'HWrapNDArrayNumber', 'HWrapNDArrayString', 'HWrapNDArrayBytes', 'HWrapNDArrayVoid', 'HWrapNDArrayObject', 'HWrapNDArrayDateTime', 'HWrapNDArrayTimeDelta', 'HWrapNDArrayBool']
8
-
9
- class DTypes(Enum):
10
- number = ...
11
- str_ = ...
12
- bytes = ...
13
- void = ...
14
- object_ = ...
15
- datetime64 = ...
16
- timedelta64 = ...
17
- bool_ = ...
18
-
19
- class HWrapNDArray(ABC, metaclass=abc.ABCMeta):
20
- def __init__(self, ndarray: npt.NDArray[np.generic]) -> None: ...
21
- def __call__(self) -> npt.NDArray[np.number]: ...
22
- def __hash__(self) -> int: ...
23
- def __eq__(self, other: object) -> bool: ...
24
- def copy(self) -> npt.NDArray[np.number]: ...
25
-
26
- class HWrapNDArrayNumber(HWrapNDArray):
27
- def __init__(self, ndarray: npt.NDArray[np.number]) -> None: ...
28
-
29
- class HWrapNDArrayString(HWrapNDArray):
30
- def __init__(self, ndarray: npt.NDArray[np.str_]) -> None: ...
31
-
32
- class HWrapNDArrayBytes(HWrapNDArray):
33
- def __init__(self, ndarray: npt.NDArray[np.bytes_]) -> None: ...
34
-
35
- class HWrapNDArrayVoid(HWrapNDArray):
36
- def __init__(self, ndarray: npt.NDArray[np.void]) -> None: ...
37
-
38
- class HWrapNDArrayObject(HWrapNDArray):
39
- def __init__(self, ndarray: npt.NDArray[np.object_]) -> None: ...
40
-
41
- class HWrapNDArrayDateTime(HWrapNDArray):
42
- def __init__(self, ndarray: npt.NDArray[np.datetime64]) -> None: ...
43
-
44
- class HWrapNDArrayTimeDelta(HWrapNDArray):
45
- def __init__(self, ndarray: npt.NDArray[np.timedelta64]) -> None: ...
46
-
47
- class HWrapNDArrayBool(HWrapNDArray):
48
- def __init__(self, ndarray: npt.NDArray[np.bool_]) -> None: ...
@@ -1,62 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: pythonic-fp-numpy
3
- Version: 1.0.0
4
- Summary: NumPy Tools
5
- Keywords: numpy,ndarray,hashable,wrap
6
- Author-email: "Geoffrey R. Scheller" <geoffrey@scheller.com>
7
- Requires-Python: >=3.13
8
- Description-Content-Type: text/x-rst
9
- Classifier: Development Status :: 3 - Alpha
10
- Classifier: Framework :: Pytest
11
- Classifier: Intended Audience :: Developers
12
- Classifier: License :: OSI Approved :: Apache Software License
13
- Classifier: Operating System :: OS Independent
14
- Classifier: Programming Language :: Python :: 3.14
15
- Classifier: Typing :: Typed
16
- License-File: LICENSE
17
- Requires-Dist: numpy>=2.3.4
18
- Requires-Dist: boring-math-abstract-algebra>=1.1.0 ; extra == "test"
19
- Requires-Dist: pytest>=8.4.1 ; extra == "test"
20
- Project-URL: Changelog, https://github.com/grscheller/pythonic-fp-numpy/blob/main/CHANGELOG.rst
21
- Project-URL: Documentation, https://grscheller.github.io/pythonic-fp/projects/numpy.html
22
- Project-URL: Homepage, https://grscheller.github.io/pythonic-fp/
23
- Project-URL: Source, https://github.com/grscheller/pythonic-fp-numpy
24
- Provides-Extra: test
25
-
26
- Pythonic FP - FP Numpy
27
- ======================
28
-
29
- PyPI project
30
- `pythonic-fp-numpy
31
- <https://pypi.org/project/pythonic-fp-numpy>`_.
32
-
33
- Python package implementing functional programming for NumPy.
34
-
35
- Part of the
36
- `pythonic-fp
37
- <https://grscheller.github.io/pythonic-fp/>`_
38
- PyPI projects.
39
-
40
- Modules
41
- -------
42
-
43
- Module hashable_wrapped_ndarray
44
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
45
-
46
- - wrap readonly NDArrays to make them hashable
47
- - prioritize performance over safety
48
- - see PyPI project boring-math-abstract-algebra for a use case
49
-
50
- Documentation
51
- -------------
52
-
53
- Documentation and other links for this project are hosted on
54
- `GitHub Pages
55
- <https://grscheller.github.io/pythonic-fp/projects/numpy.html>`_.
56
-
57
- Copyright and License
58
- ---------------------
59
-
60
- Copyright (c) 2025-2026 Geoffrey R. Scheller. Licensed under the Apache
61
- License, Version 2.0. See the LICENSE file for details.
62
-
@@ -1,9 +0,0 @@
1
- pythonic_fp/numpy/__init__.py,sha256=dL-LF98cK5PId82_PBhTq9iTnfZthQkCq_jBTSKKBN0,964
2
- pythonic_fp/numpy/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- pythonic_fp/numpy/hashable_wrapped_ndarray.py,sha256=Y8ZKHuD_Rw754fagc1cvTztgAwtt58uu58fY5If8HCI,10798
4
- pythonic_fp/numpy/hashable_wrapped_ndarray.pyi,sha256=J4jsl5q5Lz15-Amunh824R5JOxZk8hnSUlDuPXa5lcs,1666
5
- pythonic_fp/numpy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- pythonic_fp_numpy-1.0.0.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
7
- pythonic_fp_numpy-1.0.0.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
8
- pythonic_fp_numpy-1.0.0.dist-info/METADATA,sha256=r_FLuxuoFdJQR9qX3DZbNEBt6kO-lePS5RYgjLMM6DM,1917
9
- pythonic_fp_numpy-1.0.0.dist-info/RECORD,,