Skip to content

Commit ae3e940

Browse files
committed
Merge branch 'master' into 154/update_311_reqs
2 parents 59fcdac + 766d4cf commit ae3e940

File tree

10 files changed

+1870
-55
lines changed

10 files changed

+1870
-55
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ jobs:
4848
matrix:
4949
os: ${{ fromJson(needs.matrix_config.outputs.matrix_os) }}
5050
python:
51-
- {minor: 8, req_build: 'requirements-build-3_08.txt', req_test: 'requirements-dev-3_08.txt'}
5251
- {minor: 9, req_build: 'requirements-build-3_11.txt', req_test: 'requirements-dev-3_11.txt'}
5352
- {minor: 10, req_build: 'requirements-build-3_11.txt', req_test: 'requirements-dev-3_11.txt'}
5453
- {minor: 11, req_build: 'requirements-build-3_11.txt', req_test: 'requirements-dev-3_11.txt'}
@@ -63,7 +62,7 @@ jobs:
6362
- run: echo '::add-matcher::.github/problem-matchers/msvc.json'
6463
if: startsWith(matrix.os, 'windows-')
6564

66-
- uses: pypa/cibuildwheel@v2.16.2
65+
- uses: pypa/cibuildwheel@v2.18.0
6766
if: matrix.os != 'macos-13-xlarge'
6867
with:
6968
output-dir: dist
@@ -77,7 +76,7 @@ jobs:
7776

7877
- run: pip install pipx
7978
if: matrix.os == 'macos-13-xlarge'
80-
- uses: pypa/cibuildwheel@v2.16.2
79+
- uses: pypa/cibuildwheel@v2.18.0
8180
if: matrix.os == 'macos-13-xlarge'
8281
with:
8382
output-dir: dist

README.rst

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,20 @@ Dependencies
2929

3030
ArrayKit requires the following:
3131

32-
- Python>=3.8
32+
- Python>=3.9
3333
- numpy>=1.19.5
3434

3535

3636

3737
What is New in ArrayKit
3838
-------------------------
3939

40+
0.6.0
41+
............
42+
43+
Added ``TriMap`` utility class for join optimization.
44+
45+
4046
0.5.1
4147
............
4248

requirements-build-3_08.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

requirements-dev-3_08.txt

Lines changed: 0 additions & 5 deletions
This file was deleted.

setup.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from setuptools import setup
66
from pathlib import Path
77

8-
AK_VERSION = '0.5.1'
8+
AK_VERSION = '0.6.0'
99

1010
def get_long_description() -> str:
1111
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 @@ def get_ext_dir(*components: tp.Iterable[str]) -> tp.Sequence[str]:
4444
version=AK_VERSION,
4545
description='Array utilities for StaticFrame',
4646
long_description=get_long_description(),
47-
python_requires='>=3.8',
47+
python_requires='>=3.9',
4848
install_requires=['numpy>=1.19.5'],
4949
url='https://github.com/static-frame/arraykit',
5050
author='Christopher Ariza, Brandt Bucher, Charles Burkland',
@@ -54,15 +54,17 @@ def get_ext_dir(*components: tp.Iterable[str]) -> tp.Sequence[str]:
5454
'Development Status :: 5 - Production/Stable',
5555
'Intended Audience :: Developers',
5656
'Topic :: Software Development',
57+
"Programming Language :: C",
58+
"Programming Language :: Python :: Implementation :: CPython",
5759
'License :: OSI Approved :: MIT License',
5860
'Operating System :: MacOS :: MacOS X',
5961
'Operating System :: Microsoft :: Windows',
6062
'Operating System :: POSIX',
61-
'Programming Language :: Python :: 3.8',
6263
'Programming Language :: Python :: 3.9',
6364
'Programming Language :: Python :: 3.10',
6465
'Programming Language :: Python :: 3.11',
6566
'Programming Language :: Python :: 3.12',
67+
'Typing :: Typed',
6668
],
6769
keywords='numpy array',
6870
packages=['arraykit'],

src/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
# pylint: disable=C0414
44

55
from ._arraykit import __version__
6+
from ._arraykit import TriMap as TriMap
67
from ._arraykit import ArrayGO as ArrayGO
78
from ._arraykit import BlockIndex as BlockIndex
89
from ._arraykit import ErrorInitTypeBlocks as ErrorInitTypeBlocks

src/__init__.pyi

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ class ErrorInitTypeBlocks(RuntimeError):
3232
def __setstate__(self) -> None: ...
3333

3434
class ArrayGO:
35-
3635
values: np.ndarray
3736
def __init__(
3837
self, iterable: tp.Iterable[object], *, own_iterable: bool = ...
@@ -45,6 +44,28 @@ class ArrayGO:
4544
def copy(self: _T) -> _T: ...
4645
def extend(self, __values: tp.Iterable[object]) -> None: ...
4746

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 is_many(self) -> bool: ...
54+
def src_no_fill(self) -> bool: ...
55+
def dst_no_fill(self) -> bool: ...
56+
def map_src_no_fill(self, array_from: np.ndarray) -> np.ndarray: ...
57+
def map_dst_no_fill(self, array_from: np.ndarray) -> np.ndarray: ...
58+
def map_src_fill(self,
59+
array_from: np.ndarray,
60+
fill_value: tp.Any,
61+
fill_value_dtype: np.dtype
62+
) -> np.ndarray: ...
63+
def map_dst_fill(self,
64+
array_from: np.ndarray,
65+
fill_value: tp.Any,
66+
fill_value_dtype: np.dtype
67+
) -> np.ndarray: ...
68+
4869
class BlockIndex:
4970
shape: tp.Tuple[int, int]
5071
dtype: np.dtype

0 commit comments

Comments
 (0)