arraykit 0.5.1__tar.gz → 0.6.1__tar.gz

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.
Files changed (27) hide show
  1. {arraykit-0.5.1/arraykit.egg-info → arraykit-0.6.1}/PKG-INFO +5 -3
  2. {arraykit-0.5.1 → arraykit-0.6.1}/README.rst +15 -1
  3. {arraykit-0.5.1 → arraykit-0.6.1/arraykit.egg-info}/PKG-INFO +5 -3
  4. {arraykit-0.5.1 → arraykit-0.6.1}/arraykit.egg-info/SOURCES.txt +3 -0
  5. {arraykit-0.5.1 → arraykit-0.6.1}/setup.py +5 -3
  6. {arraykit-0.5.1 → arraykit-0.6.1}/src/__init__.py +2 -0
  7. {arraykit-0.5.1 → arraykit-0.6.1}/src/__init__.pyi +24 -1
  8. {arraykit-0.5.1 → arraykit-0.6.1}/src/_arraykit.c +1387 -49
  9. {arraykit-0.5.1 → arraykit-0.6.1}/test/test_block_index.py +0 -1
  10. arraykit-0.6.1/test/test_nonzero_1d.py +86 -0
  11. arraykit-0.6.1/test/test_nonzero_1d_property.py +32 -0
  12. arraykit-0.6.1/test/test_tri_map.py +1125 -0
  13. {arraykit-0.5.1 → arraykit-0.6.1}/LICENSE.txt +0 -0
  14. {arraykit-0.5.1 → arraykit-0.6.1}/MANIFEST.in +0 -0
  15. {arraykit-0.5.1 → arraykit-0.6.1}/arraykit.egg-info/dependency_links.txt +0 -0
  16. {arraykit-0.5.1 → arraykit-0.6.1}/arraykit.egg-info/requires.txt +0 -0
  17. {arraykit-0.5.1 → arraykit-0.6.1}/arraykit.egg-info/top_level.txt +0 -0
  18. {arraykit-0.5.1 → arraykit-0.6.1}/setup.cfg +0 -0
  19. {arraykit-0.5.1 → arraykit-0.6.1}/src/py.typed +0 -0
  20. {arraykit-0.5.1 → arraykit-0.6.1}/test/test_array_go.py +0 -0
  21. {arraykit-0.5.1 → arraykit-0.6.1}/test/test_delimited_to_arrays.py +0 -0
  22. {arraykit-0.5.1 → arraykit-0.6.1}/test/test_delimited_to_arrays_integration.py +0 -0
  23. {arraykit-0.5.1 → arraykit-0.6.1}/test/test_delimited_to_arrays_property.py +0 -0
  24. {arraykit-0.5.1 → arraykit-0.6.1}/test/test_pyi.py +0 -0
  25. {arraykit-0.5.1 → arraykit-0.6.1}/test/test_split_after_count.py +0 -0
  26. {arraykit-0.5.1 → arraykit-0.6.1}/test/test_type_discovery.py +0 -0
  27. {arraykit-0.5.1 → arraykit-0.6.1}/test/test_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: arraykit
3
- Version: 0.5.1
3
+ Version: 0.6.1
4
4
  Summary: Array utilities for StaticFrame
5
5
  Home-page: https://github.com/static-frame/arraykit
6
6
  Author: Christopher Ariza, Brandt Bucher, Charles Burkland
@@ -9,16 +9,18 @@ Keywords: numpy array
9
9
  Classifier: Development Status :: 5 - Production/Stable
10
10
  Classifier: Intended Audience :: Developers
11
11
  Classifier: Topic :: Software Development
12
+ Classifier: Programming Language :: C
13
+ Classifier: Programming Language :: Python :: Implementation :: CPython
12
14
  Classifier: License :: OSI Approved :: MIT License
13
15
  Classifier: Operating System :: MacOS :: MacOS X
14
16
  Classifier: Operating System :: Microsoft :: Windows
15
17
  Classifier: Operating System :: POSIX
16
- Classifier: Programming Language :: Python :: 3.8
17
18
  Classifier: Programming Language :: Python :: 3.9
18
19
  Classifier: Programming Language :: Python :: 3.10
19
20
  Classifier: Programming Language :: Python :: 3.11
20
21
  Classifier: Programming Language :: Python :: 3.12
21
- Requires-Python: >=3.8
22
+ Classifier: Typing :: Typed
23
+ Requires-Python: >=3.9
22
24
  License-File: LICENSE.txt
23
25
  Requires-Dist: numpy>=1.19.5
24
26
 
@@ -29,7 +29,7 @@ Dependencies
29
29
 
30
30
  ArrayKit requires the following:
31
31
 
32
- - Python>=3.8
32
+ - Python>=3.9
33
33
  - numpy>=1.19.5
34
34
 
35
35
 
@@ -37,6 +37,20 @@ ArrayKit requires the following:
37
37
  What is New in ArrayKit
38
38
  -------------------------
39
39
 
40
+ 0.6.1
41
+ ............
42
+
43
+ Enhancements and optimizations to ``TriMap``.
44
+
45
+ Added ``nonzero_1d()``.
46
+
47
+
48
+ 0.6.0
49
+ ............
50
+
51
+ Added ``TriMap`` utility class for join optimization.
52
+
53
+
40
54
  0.5.1
41
55
  ............
42
56
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: arraykit
3
- Version: 0.5.1
3
+ Version: 0.6.1
4
4
  Summary: Array utilities for StaticFrame
5
5
  Home-page: https://github.com/static-frame/arraykit
6
6
  Author: Christopher Ariza, Brandt Bucher, Charles Burkland
@@ -9,16 +9,18 @@ Keywords: numpy array
9
9
  Classifier: Development Status :: 5 - Production/Stable
10
10
  Classifier: Intended Audience :: Developers
11
11
  Classifier: Topic :: Software Development
12
+ Classifier: Programming Language :: C
13
+ Classifier: Programming Language :: Python :: Implementation :: CPython
12
14
  Classifier: License :: OSI Approved :: MIT License
13
15
  Classifier: Operating System :: MacOS :: MacOS X
14
16
  Classifier: Operating System :: Microsoft :: Windows
15
17
  Classifier: Operating System :: POSIX
16
- Classifier: Programming Language :: Python :: 3.8
17
18
  Classifier: Programming Language :: Python :: 3.9
18
19
  Classifier: Programming Language :: Python :: 3.10
19
20
  Classifier: Programming Language :: Python :: 3.11
20
21
  Classifier: Programming Language :: Python :: 3.12
21
- Requires-Python: >=3.8
22
+ Classifier: Typing :: Typed
23
+ Requires-Python: >=3.9
22
24
  License-File: LICENSE.txt
23
25
  Requires-Dist: numpy>=1.19.5
24
26
 
@@ -16,7 +16,10 @@ test/test_block_index.py
16
16
  test/test_delimited_to_arrays.py
17
17
  test/test_delimited_to_arrays_integration.py
18
18
  test/test_delimited_to_arrays_property.py
19
+ test/test_nonzero_1d.py
20
+ test/test_nonzero_1d_property.py
19
21
  test/test_pyi.py
20
22
  test/test_split_after_count.py
23
+ test/test_tri_map.py
21
24
  test/test_type_discovery.py
22
25
  test/test_util.py
@@ -5,7 +5,7 @@ from setuptools import Extension # type: ignore
5
5
  from setuptools import setup
6
6
  from pathlib import Path
7
7
 
8
- AK_VERSION = '0.5.1'
8
+ AK_VERSION = '0.6.1'
9
9
 
10
10
  def get_long_description() -> str:
11
11
  return '''The ArrayKit library provides utilities for creating and transforming NumPy arrays, implementing performance-critical StaticFrame operations as Python C extensions.
@@ -44,7 +44,7 @@ setup(
44
44
  version=AK_VERSION,
45
45
  description='Array utilities for StaticFrame',
46
46
  long_description=get_long_description(),
47
- python_requires='>=3.8',
47
+ python_requires='>=3.9',
48
48
  install_requires=['numpy>=1.19.5'],
49
49
  url='https://github.com/static-frame/arraykit',
50
50
  author='Christopher Ariza, Brandt Bucher, Charles Burkland',
@@ -54,15 +54,17 @@ setup(
54
54
  'Development Status :: 5 - Production/Stable',
55
55
  'Intended Audience :: Developers',
56
56
  'Topic :: Software Development',
57
+ "Programming Language :: C",
58
+ "Programming Language :: Python :: Implementation :: CPython",
57
59
  'License :: OSI Approved :: MIT License',
58
60
  'Operating System :: MacOS :: MacOS X',
59
61
  'Operating System :: Microsoft :: Windows',
60
62
  'Operating System :: POSIX',
61
- 'Programming Language :: Python :: 3.8',
62
63
  'Programming Language :: Python :: 3.9',
63
64
  'Programming Language :: Python :: 3.10',
64
65
  'Programming Language :: Python :: 3.11',
65
66
  'Programming Language :: Python :: 3.12',
67
+ 'Typing :: Typed',
66
68
  ],
67
69
  keywords='numpy array',
68
70
  packages=['arraykit'],
@@ -3,6 +3,7 @@
3
3
  # pylint: disable=C0414
4
4
 
5
5
  from ._arraykit import __version__
6
+ from ._arraykit import TriMap as TriMap
6
7
  from ._arraykit import ArrayGO as ArrayGO
7
8
  from ._arraykit import BlockIndex as BlockIndex
8
9
  from ._arraykit import ErrorInitTypeBlocks as ErrorInitTypeBlocks
@@ -27,3 +28,4 @@ from ._arraykit import count_iteration as count_iteration
27
28
  from ._arraykit import first_true_1d as first_true_1d
28
29
  from ._arraykit import first_true_2d as first_true_2d
29
30
  from ._arraykit import slice_to_ascending_slice as slice_to_ascending_slice
31
+ from ._arraykit import nonzero_1d as nonzero_1d
@@ -32,7 +32,6 @@ class ErrorInitTypeBlocks(RuntimeError):
32
32
  def __setstate__(self) -> None: ...
33
33
 
34
34
  class ArrayGO:
35
-
36
35
  values: np.ndarray
37
36
  def __init__(
38
37
  self, iterable: tp.Iterable[object], *, own_iterable: bool = ...
@@ -45,6 +44,29 @@ class ArrayGO:
45
44
  def copy(self: _T) -> _T: ...
46
45
  def extend(self, __values: tp.Iterable[object]) -> None: ...
47
46
 
47
+ class TriMap:
48
+ def __init__(self, src_len: int, dst_len: int) -> None: ...
49
+ def __repr__(self) -> str: ...
50
+ def register_one(self, src_from: int, dst_from: int) -> None: ...
51
+ def register_unmatched_dst(self) -> None: ...
52
+ def register_many(self, src_from: int, dst_from: np.ndarray) -> None: ...
53
+ def finalize(self) -> None: ...
54
+ def is_many(self) -> bool: ...
55
+ def src_no_fill(self) -> bool: ...
56
+ def dst_no_fill(self) -> bool: ...
57
+ def map_src_no_fill(self, array_from: np.ndarray) -> np.ndarray: ...
58
+ def map_dst_no_fill(self, array_from: np.ndarray) -> np.ndarray: ...
59
+ def map_src_fill(self,
60
+ array_from: np.ndarray,
61
+ fill_value: tp.Any,
62
+ fill_value_dtype: np.dtype
63
+ ) -> np.ndarray: ...
64
+ def map_dst_fill(self,
65
+ array_from: np.ndarray,
66
+ fill_value: tp.Any,
67
+ fill_value_dtype: np.dtype
68
+ ) -> np.ndarray: ...
69
+
48
70
  class BlockIndex:
49
71
  shape: tp.Tuple[int, int]
50
72
  dtype: np.dtype
@@ -137,4 +159,5 @@ def get_new_indexers_and_screen(indexers: np.ndarray, positions: np.ndarray) ->
137
159
 
138
160
  def first_true_1d(__array: np.ndarray, *, forward: bool) -> int: ...
139
161
  def first_true_2d(__array: np.ndarray, *, forward: bool, axis: int) -> np.ndarray: ...
162
+ def nonzero_1d(__array: np.ndarray, /) -> np.ndarray: ...
140
163
  def slice_to_ascending_slice(__slice: slice, __size: int) -> slice: ...