arraykit 1.3.1__tar.gz → 1.4.0__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.
- {arraykit-1.3.1/arraykit.egg-info → arraykit-1.4.0}/PKG-INFO +8 -2
- {arraykit-1.3.1 → arraykit-1.4.0}/README.rst +6 -0
- arraykit-1.4.0/VERSION +2 -0
- {arraykit-1.3.1 → arraykit-1.4.0/arraykit.egg-info}/PKG-INFO +8 -2
- {arraykit-1.3.1 → arraykit-1.4.0}/pyproject.toml +23 -1
- arraykit-1.4.0/setup.py +46 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/src/__init__.py +1 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/src/__init__.pyi +127 -103
- {arraykit-1.3.1 → arraykit-1.4.0}/src/_arraykit.c +4 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/src/methods.c +249 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/src/methods.h +3 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/test/test_array_go.py +16 -38
- {arraykit-1.3.1 → arraykit-1.4.0}/test/test_astype_array.py +36 -26
- {arraykit-1.3.1 → arraykit-1.4.0}/test/test_auto_map.py +140 -142
- {arraykit-1.3.1 → arraykit-1.4.0}/test/test_auto_map_property.py +8 -8
- {arraykit-1.3.1 → arraykit-1.4.0}/test/test_block_index.py +244 -283
- {arraykit-1.3.1 → arraykit-1.4.0}/test/test_delimited_to_arrays.py +507 -288
- {arraykit-1.3.1 → arraykit-1.4.0}/test/test_delimited_to_arrays_integration.py +28 -7
- {arraykit-1.3.1 → arraykit-1.4.0}/test/test_delimited_to_arrays_property.py +14 -14
- {arraykit-1.3.1 → arraykit-1.4.0}/test/test_nonzero_1d.py +9 -27
- {arraykit-1.3.1 → arraykit-1.4.0}/test/test_nonzero_1d_property.py +3 -6
- {arraykit-1.3.1 → arraykit-1.4.0}/test/test_objectable.py +2 -7
- {arraykit-1.3.1 → arraykit-1.4.0}/test/test_pyi.py +11 -6
- {arraykit-1.3.1 → arraykit-1.4.0}/test/test_split_after_count.py +7 -13
- {arraykit-1.3.1 → arraykit-1.4.0}/test/test_tri_map.py +215 -89
- {arraykit-1.3.1 → arraykit-1.4.0}/test/test_type_discovery.py +128 -96
- {arraykit-1.3.1 → arraykit-1.4.0}/test/test_util.py +394 -230
- arraykit-1.3.1/VERSION +0 -2
- arraykit-1.3.1/setup.py +0 -39
- {arraykit-1.3.1 → arraykit-1.4.0}/LICENSE.txt +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/MANIFEST.in +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/arraykit.egg-info/SOURCES.txt +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/arraykit.egg-info/dependency_links.txt +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/arraykit.egg-info/requires.txt +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/arraykit.egg-info/top_level.txt +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/setup.cfg +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/src/array_go.c +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/src/array_go.h +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/src/array_to_tuple.c +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/src/array_to_tuple.h +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/src/auto_map.c +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/src/auto_map.h +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/src/block_index.c +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/src/block_index.h +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/src/delimited_to_arrays.c +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/src/delimited_to_arrays.h +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/src/py.typed +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/src/tri_map.c +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/src/tri_map.h +0 -0
- {arraykit-1.3.1 → arraykit-1.4.0}/src/utilities.h +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: arraykit
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0
|
|
4
4
|
Summary: Array utilities for StaticFrame
|
|
5
5
|
Author: Christopher Ariza, Brandt Bucher, Charles Burkland
|
|
6
|
-
License
|
|
6
|
+
License: MIT
|
|
7
7
|
Project-URL: Homepage, https://github.com/static-frame/arraykit
|
|
8
8
|
Keywords: numpy,array
|
|
9
9
|
Classifier: Development Status :: 5 - Production/Stable
|
|
@@ -64,6 +64,12 @@ ArrayKit requires the following:
|
|
|
64
64
|
What is New in ArrayKit
|
|
65
65
|
-------------------------
|
|
66
66
|
|
|
67
|
+
1.4.0
|
|
68
|
+
............
|
|
69
|
+
|
|
70
|
+
Added ``write_array_to_file()``.
|
|
71
|
+
|
|
72
|
+
|
|
67
73
|
1.3.1
|
|
68
74
|
............
|
|
69
75
|
|
arraykit-1.4.0/VERSION
ADDED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: arraykit
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0
|
|
4
4
|
Summary: Array utilities for StaticFrame
|
|
5
5
|
Author: Christopher Ariza, Brandt Bucher, Charles Burkland
|
|
6
|
-
License
|
|
6
|
+
License: MIT
|
|
7
7
|
Project-URL: Homepage, https://github.com/static-frame/arraykit
|
|
8
8
|
Keywords: numpy,array
|
|
9
9
|
Classifier: Development Status :: 5 - Production/Stable
|
|
@@ -64,6 +64,12 @@ ArrayKit requires the following:
|
|
|
64
64
|
What is New in ArrayKit
|
|
65
65
|
-------------------------
|
|
66
66
|
|
|
67
|
+
1.4.0
|
|
68
|
+
............
|
|
69
|
+
|
|
70
|
+
Added ``write_array_to_file()``.
|
|
71
|
+
|
|
72
|
+
|
|
67
73
|
1.3.1
|
|
68
74
|
............
|
|
69
75
|
|
|
@@ -19,7 +19,7 @@ authors = [
|
|
|
19
19
|
{ name = "Brandt Bucher" },
|
|
20
20
|
{ name = "Charles Burkland" },
|
|
21
21
|
]
|
|
22
|
-
license = "MIT"
|
|
22
|
+
license = { text = "MIT" }
|
|
23
23
|
keywords = ["numpy", "array"]
|
|
24
24
|
dependencies = [
|
|
25
25
|
"numpy>=1.24.3",
|
|
@@ -54,3 +54,25 @@ arraykit = ["__init__.pyi", "py.typed"]
|
|
|
54
54
|
[tool.setuptools.dynamic]
|
|
55
55
|
version = { file = "VERSION" }
|
|
56
56
|
|
|
57
|
+
[tool.ruff]
|
|
58
|
+
exclude = [
|
|
59
|
+
".git",
|
|
60
|
+
".mypy_cache",
|
|
61
|
+
".pytest_cache",
|
|
62
|
+
".ruff_cache",
|
|
63
|
+
"build",
|
|
64
|
+
"dist",
|
|
65
|
+
]
|
|
66
|
+
|
|
67
|
+
line-length = 90
|
|
68
|
+
indent-width = 4
|
|
69
|
+
|
|
70
|
+
[tool.ruff.format]
|
|
71
|
+
quote-style = "single"
|
|
72
|
+
indent-style = "space"
|
|
73
|
+
skip-magic-trailing-comma = false
|
|
74
|
+
line-ending = "auto"
|
|
75
|
+
docstring-code-format = true
|
|
76
|
+
docstring-code-line-length = "dynamic"
|
|
77
|
+
|
|
78
|
+
|
arraykit-1.4.0/setup.py
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import typing as tp
|
|
2
|
+
from setuptools import setup, Extension
|
|
3
|
+
from setuptools.command.build_ext import build_ext
|
|
4
|
+
import site, os
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
|
|
7
|
+
AK_VERSION = Path('VERSION').read_text(encoding='utf-8').strip()
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def get_ext_dir(*components: tp.Iterable[str]) -> tp.Sequence[str]:
|
|
11
|
+
dirs = []
|
|
12
|
+
# Check user site-packages
|
|
13
|
+
user_site = site.getusersitepackages()
|
|
14
|
+
if user_site:
|
|
15
|
+
fp = os.path.join(user_site, *components)
|
|
16
|
+
if os.path.exists(fp):
|
|
17
|
+
dirs.append(fp)
|
|
18
|
+
# Check system site-packages
|
|
19
|
+
for sp in site.getsitepackages():
|
|
20
|
+
fp = os.path.join(sp, *components)
|
|
21
|
+
if os.path.exists(fp):
|
|
22
|
+
dirs.append(fp)
|
|
23
|
+
return dirs
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
ext_modules = [
|
|
27
|
+
Extension(
|
|
28
|
+
name='arraykit._arraykit',
|
|
29
|
+
sources=[
|
|
30
|
+
'src/_arraykit.c',
|
|
31
|
+
'src/array_go.c',
|
|
32
|
+
'src/array_to_tuple.c',
|
|
33
|
+
'src/block_index.c',
|
|
34
|
+
'src/delimited_to_arrays.c',
|
|
35
|
+
'src/methods.c',
|
|
36
|
+
'src/tri_map.c',
|
|
37
|
+
'src/auto_map.c',
|
|
38
|
+
],
|
|
39
|
+
include_dirs=get_ext_dir('numpy', '_core', 'include') + ['src'],
|
|
40
|
+
library_dirs=get_ext_dir('numpy', '_core', 'lib'),
|
|
41
|
+
define_macros=[('AK_VERSION', AK_VERSION)],
|
|
42
|
+
libraries=['npymath'],
|
|
43
|
+
)
|
|
44
|
+
]
|
|
45
|
+
|
|
46
|
+
setup(ext_modules=ext_modules)
|
|
@@ -24,6 +24,7 @@ from ._arraykit import delimited_to_arrays as delimited_to_arrays
|
|
|
24
24
|
from ._arraykit import iterable_str_to_array_1d as iterable_str_to_array_1d
|
|
25
25
|
from ._arraykit import split_after_count as split_after_count
|
|
26
26
|
from ._arraykit import get_new_indexers_and_screen as get_new_indexers_and_screen
|
|
27
|
+
from ._arraykit import write_array_to_file as write_array_to_file
|
|
27
28
|
from ._arraykit import count_iteration as count_iteration
|
|
28
29
|
from ._arraykit import first_true_1d as first_true_1d
|
|
29
30
|
from ._arraykit import first_true_2d as first_true_2d
|
|
@@ -8,22 +8,22 @@ _T = tp.TypeVar('_T')
|
|
|
8
8
|
__version__: str
|
|
9
9
|
|
|
10
10
|
_TLabel = tp.Union[
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
11
|
+
tp.Hashable,
|
|
12
|
+
int,
|
|
13
|
+
bool,
|
|
14
|
+
np.bool_,
|
|
15
|
+
np.integer,
|
|
16
|
+
float,
|
|
17
|
+
complex,
|
|
18
|
+
np.inexact,
|
|
19
|
+
str,
|
|
20
|
+
bytes,
|
|
21
|
+
None,
|
|
22
|
+
np.datetime64,
|
|
23
|
+
np.timedelta64,
|
|
24
|
+
datetime.date,
|
|
25
|
+
datetime.datetime,
|
|
26
|
+
tp.Tuple['_TLabel', ...],
|
|
27
27
|
]
|
|
28
28
|
|
|
29
29
|
class ErrorInitTypeBlocks(RuntimeError):
|
|
@@ -31,7 +31,6 @@ class ErrorInitTypeBlocks(RuntimeError):
|
|
|
31
31
|
def with_traceback(self, tb: Exception) -> Exception: ...
|
|
32
32
|
def __setstate__(self) -> None: ...
|
|
33
33
|
|
|
34
|
-
|
|
35
34
|
class NonUniqueError(RuntimeError):
|
|
36
35
|
def __init__(self, *args: tp.Any, **kwargs: tp.Any) -> None: ...
|
|
37
36
|
def with_traceback(self, tb: Exception) -> Exception: ...
|
|
@@ -62,20 +61,18 @@ class TriMap:
|
|
|
62
61
|
def dst_no_fill(self) -> bool: ...
|
|
63
62
|
def map_src_no_fill(self, /, array_from: np.ndarray) -> np.ndarray: ...
|
|
64
63
|
def map_dst_no_fill(self, /, array_from: np.ndarray) -> np.ndarray: ...
|
|
65
|
-
def map_src_fill(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
array_from_dst: np.ndarray,
|
|
78
|
-
) -> np.ndarray: ...
|
|
64
|
+
def map_src_fill(
|
|
65
|
+
self, /, array_from: np.ndarray, fill_value: tp.Any, fill_value_dtype: np.dtype
|
|
66
|
+
) -> np.ndarray: ...
|
|
67
|
+
def map_dst_fill(
|
|
68
|
+
self, /, array_from: np.ndarray, fill_value: tp.Any, fill_value_dtype: np.dtype
|
|
69
|
+
) -> np.ndarray: ...
|
|
70
|
+
def map_merge(
|
|
71
|
+
self,
|
|
72
|
+
/,
|
|
73
|
+
array_from_src: np.ndarray,
|
|
74
|
+
array_from_dst: np.ndarray,
|
|
75
|
+
) -> np.ndarray: ...
|
|
79
76
|
|
|
80
77
|
class BlockIndex:
|
|
81
78
|
shape: tp.Tuple[int, int]
|
|
@@ -84,46 +81,68 @@ class BlockIndex:
|
|
|
84
81
|
columns: int
|
|
85
82
|
|
|
86
83
|
def __init__(
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
84
|
+
block_count: int = 0,
|
|
85
|
+
row_count: int = -1,
|
|
86
|
+
bir_count: int = 0,
|
|
87
|
+
bir_capacity: int = 8,
|
|
88
|
+
bir_bytes: bytes = b'',
|
|
89
|
+
dtype: np.dtype = None,
|
|
90
|
+
) -> None: ...
|
|
94
91
|
def register(self, __value: np.ndarray) -> bool: ...
|
|
95
|
-
def to_list(
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
def
|
|
99
|
-
|
|
100
|
-
|
|
92
|
+
def to_list(
|
|
93
|
+
self,
|
|
94
|
+
) -> tp.List[tp.Tuple[int, int]]: ...
|
|
95
|
+
def to_bytes(
|
|
96
|
+
self,
|
|
97
|
+
) -> bytes: ...
|
|
98
|
+
def copy(
|
|
99
|
+
self,
|
|
100
|
+
) -> 'BlockIndex': ...
|
|
101
|
+
def __len__(
|
|
102
|
+
self,
|
|
103
|
+
) -> int: ...
|
|
104
|
+
def __iter__(
|
|
105
|
+
self,
|
|
106
|
+
) -> tp.Iterator[tp.Tuple[int, int]]: ...
|
|
107
|
+
def __reversed__(
|
|
108
|
+
self,
|
|
109
|
+
) -> tp.Iterator[tp.Tuple[int, int]]: ...
|
|
101
110
|
def __getitem__(self, __key: int) -> tp.Tuple[int, int]: ...
|
|
102
|
-
def __getstate__(
|
|
111
|
+
def __getstate__(
|
|
112
|
+
self,
|
|
113
|
+
) -> tp.Tuple[int, int, int, int, bytes]: ...
|
|
103
114
|
def __setstate__(self, state: tp.Tuple[int, int, int, int, bytes]) -> None: ...
|
|
104
115
|
def get_block(self, __key: int) -> int: ...
|
|
105
116
|
def get_column(self, __key: int) -> int: ...
|
|
106
|
-
def iter_select(
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
117
|
+
def iter_select(
|
|
118
|
+
self,
|
|
119
|
+
__key: tp.Union[slice, np.ndarray, tp.List[int]],
|
|
120
|
+
) -> tp.Iterator[tp.Tuple[int, int]]: ...
|
|
121
|
+
def iter_contiguous(
|
|
122
|
+
self,
|
|
123
|
+
__key: tp.Union[slice, np.ndarray, tp.List[int]],
|
|
124
|
+
*,
|
|
125
|
+
ascending: bool = False,
|
|
126
|
+
reduce: bool = False,
|
|
127
|
+
) -> tp.Iterator[tp.Tuple[int, tp.Union[slice, int]]]: ...
|
|
115
128
|
def iter_block(self) -> tp.Iterator[tp.Tuple[int, slice]]: ...
|
|
116
129
|
|
|
117
|
-
|
|
118
130
|
class FrozenAutoMap:
|
|
119
|
-
def __init__(
|
|
120
|
-
|
|
131
|
+
def __init__(
|
|
132
|
+
self,
|
|
133
|
+
labels: tp.Iterable[_TLabel] | np.ndarray = (),
|
|
134
|
+
/,
|
|
135
|
+
) -> None: ...
|
|
136
|
+
def get(
|
|
137
|
+
self,
|
|
138
|
+
__key: _TLabel,
|
|
139
|
+
/,
|
|
140
|
+
) -> int: ...
|
|
121
141
|
def keys(self) -> tp.Iterator[_TLabel]: ...
|
|
122
142
|
def items(self) -> tp.Iterator[tuple[_TLabel, int]]: ...
|
|
123
143
|
def values(self) -> tp.Iterator[int]: ...
|
|
124
144
|
def get_all(self, __key: list[_TLabel] | np.ndarray) -> np.ndarray: ...
|
|
125
145
|
def get_any(self, __key: list[_TLabel] | np.ndarray) -> list[int]: ...
|
|
126
|
-
|
|
127
146
|
def __iter__(self) -> tp.Iterator[_TLabel]: ...
|
|
128
147
|
def __getitem__(self, __key: tp.Any) -> int: ...
|
|
129
148
|
def __contains__(self, __key: tp.Any) -> bool: ...
|
|
@@ -133,59 +152,54 @@ class FrozenAutoMap:
|
|
|
133
152
|
def __getstate__(self) -> tp.Any: ...
|
|
134
153
|
def __setstate__(self, __state: tp.Any) -> None: ...
|
|
135
154
|
def __len__(self) -> int: ...
|
|
136
|
-
|
|
137
155
|
def __or__(self) -> tp.Any: ...
|
|
138
156
|
def __ror__(self) -> tp.Any: ...
|
|
139
157
|
|
|
140
|
-
|
|
141
158
|
class AutoMap(FrozenAutoMap):
|
|
142
|
-
def __init__(
|
|
159
|
+
def __init__(
|
|
160
|
+
self,
|
|
161
|
+
labels: tp.Iterable[_TLabel] | np.ndarray = (),
|
|
162
|
+
/,
|
|
163
|
+
) -> None: ...
|
|
143
164
|
def __ior__(self) -> tp.Any: ...
|
|
144
165
|
def add(self, __key: _TLabel) -> None: ...
|
|
145
166
|
def update(self, __keys: tp.Iterable[_TLabel] | np.ndarray) -> None: ...
|
|
146
167
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
168
|
def iterable_str_to_array_1d(
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
169
|
+
iterable: tp.Iterable[str],
|
|
170
|
+
*,
|
|
171
|
+
dtype: tp.Optional[tp.Any] = None,
|
|
172
|
+
thousandschar: str = ',',
|
|
173
|
+
decimalchar: str = '.',
|
|
174
|
+
) -> np.ndarray: ...
|
|
158
175
|
def delimited_to_arrays(
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
176
|
+
file_like: tp.Iterable[str],
|
|
177
|
+
*,
|
|
178
|
+
axis: int = 0,
|
|
179
|
+
dtypes: tp.Optional[tp.Callable[[int], tp.Any]] = None,
|
|
180
|
+
line_select: tp.Optional[tp.Callable[[int], bool]] = None,
|
|
181
|
+
delimiter: str = ',',
|
|
182
|
+
doublequote: bool = True,
|
|
183
|
+
escapechar: tp.Optional[str] = '',
|
|
184
|
+
quotechar: tp.Optional[str] = '"',
|
|
185
|
+
quoting: int = 0,
|
|
186
|
+
skipinitialspace: bool = False,
|
|
187
|
+
strict: bool = False,
|
|
188
|
+
thousandschar: str = ',',
|
|
189
|
+
decimalchar: str = '.',
|
|
190
|
+
) -> tp.List[np.array]: ...
|
|
175
191
|
def split_after_count(
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
192
|
+
string: str,
|
|
193
|
+
*,
|
|
194
|
+
delimiter: str = ',',
|
|
195
|
+
count: int = 0,
|
|
196
|
+
doublequote: bool = True,
|
|
197
|
+
escapechar: tp.Optional[str] = '',
|
|
198
|
+
quotechar: tp.Optional[str] = '"',
|
|
199
|
+
quoting: int = 0,
|
|
200
|
+
strict: bool = False,
|
|
201
|
+
) -> tp.Tuple[str, str]: ...
|
|
187
202
|
def count_iteration(__iterable: tp.Iterable) -> int: ...
|
|
188
|
-
|
|
189
203
|
def immutable_filter(__array: np.ndarray) -> np.ndarray: ...
|
|
190
204
|
def mloc(__array: np.ndarray) -> int: ...
|
|
191
205
|
def name_filter(__name: _TLabel) -> _TLabel: ...
|
|
@@ -193,13 +207,23 @@ def shape_filter(__array: np.ndarray) -> np.ndarray: ...
|
|
|
193
207
|
def column_2d_filter(__array: np.ndarray) -> np.ndarray: ...
|
|
194
208
|
def column_1d_filter(__array: np.ndarray) -> np.ndarray: ...
|
|
195
209
|
def row_1d_filter(__array: np.ndarray) -> np.ndarray: ...
|
|
196
|
-
def array_deepcopy(
|
|
210
|
+
def array_deepcopy(
|
|
211
|
+
__array: np.ndarray, memo: tp.Optional[tp.Dict[int, tp.Any]]
|
|
212
|
+
) -> np.ndarray: ...
|
|
197
213
|
def resolve_dtype(__d1: np.dtype, __d2: np.dtype) -> np.dtype: ...
|
|
198
214
|
def resolve_dtype_iter(__dtypes: tp.Iterable[np.dtype]) -> np.dtype: ...
|
|
199
215
|
def isna_element(__value: tp.Any, include_none: bool = True) -> bool: ...
|
|
200
216
|
def dtype_from_element(__value: tp.Optional[_TLabel]) -> np.dtype: ...
|
|
201
|
-
def get_new_indexers_and_screen(
|
|
202
|
-
|
|
217
|
+
def get_new_indexers_and_screen(
|
|
218
|
+
indexers: np.ndarray, positions: np.ndarray
|
|
219
|
+
) -> tp.Tuple[np.ndarray, np.ndarray]: ...
|
|
220
|
+
def write_array_to_file(
|
|
221
|
+
__array: np.ndarray,
|
|
222
|
+
__file: tp.IO[bytes],
|
|
223
|
+
*,
|
|
224
|
+
fortran_order: bool = False,
|
|
225
|
+
buffersize: int = 8192,
|
|
226
|
+
) -> None: ...
|
|
203
227
|
def first_true_1d(__array: np.ndarray, *, forward: bool) -> int: ...
|
|
204
228
|
def first_true_2d(__array: np.ndarray, *, forward: bool, axis: int) -> np.ndarray: ...
|
|
205
229
|
def nonzero_1d(__array: np.ndarray, /) -> np.ndarray: ...
|
|
@@ -209,4 +233,4 @@ def astype_array(__array: np.ndarray, __dtype: np.dtype | None, /) -> np.ndarray
|
|
|
209
233
|
def slice_to_ascending_slice(__slice: slice, __size: int) -> slice: ...
|
|
210
234
|
def slice_to_unit(__slice: slice, /) -> int: ...
|
|
211
235
|
def array_to_tuple_array(__array: np.ndarray) -> np.ndarray: ...
|
|
212
|
-
def array_to_tuple_iter(__array: np.ndarray) -> tp.Iterator[tp.Tuple[tp.Any, ...]]: ...
|
|
236
|
+
def array_to_tuple_iter(__array: np.ndarray) -> tp.Iterator[tp.Tuple[tp.Any, ...]]: ...
|
|
@@ -65,6 +65,10 @@ static PyMethodDef arraykit_methods[] = {
|
|
|
65
65
|
(PyCFunction)get_new_indexers_and_screen,
|
|
66
66
|
METH_VARARGS | METH_KEYWORDS,
|
|
67
67
|
NULL},
|
|
68
|
+
{"write_array_to_file",
|
|
69
|
+
(PyCFunction)write_array_to_file,
|
|
70
|
+
METH_VARARGS | METH_KEYWORDS,
|
|
71
|
+
NULL},
|
|
68
72
|
{NULL},
|
|
69
73
|
};
|
|
70
74
|
|