The ArrayKit library provides utilities for creating and transforming NumPy arrays, implementing performance-critical StaticFrame operations as Python C extensions.
Code: https://github.com/InvestmentSystems/arraykit
Packages: https://pypi.org/project/arraykit
ArrayKit requires the following:
- Python>=3.9
- numpy>=1.19.5
Now building wheels for Python 3.13.
Added TriMap.map_merge()
.
Corrected incorrect component of _TLabel
in __init__.pyi
.
Updated build configuration.
Updated build configuration.
Now building with NumPy 2.0.
Improved array_to_tuple_array()
and array_to_tuple_iter()
to preserve tuple
in 1D arrays.
Extended array_to_tuple_array()
and array_to_tuple_iter()
to support 1D arrays.
Added array_to_tuple_array()
.
Added array_to_tuple_iter()
.
Optimized memory allocation strategy for nonzero_1d()
.
Extended nonzero_1d()
to support non-contiguous arrays.
Optimizations to TriMap
when mapping to object and flexible dtypes.
Enhancements and optimizations to TriMap
.
Added nonzero_1d()
.
Added TriMap
utility class for join optimization.
Restored functional wheels for Mac OS x86_64
.
Now building wheels for 3.12.
Now building functional wheels for Mac OS arm64
/ Apple Silicon.
Updated types in pyi
file.
Updated types in pyi
file.
Minimum supported Python set to 3.8.
Minimum supported NumPy set to 1.19.5.
Improved performance of first_true_1d()
and first_true_2d()
.
Restored behavior of Blockndex.rows
to return -1 when BlockIndex
has zero rows.
Added BlockIndex.iter_block()
.
Corrected issue in BlockIndex.shape
when the BlockIndex
has zero rows.
Corrected handling of empty selections in BlockIndex.iter_contiguous()
.
Corrected handling of ascending
in BlockIndex.iter_contiguous()
with Boolean arrays.
Corrected deallocation routines in BlockIndex.iter_contiguous()
.
Added BlockIndex.iter_contiguous()
with options for ascending
and reduce
sequences.
Added slice_to_ascending_slice()
.
Updated BlockIndex.shape
to internally cache the shape tuple.
Corrected BlockIndex.iter_select()
handling of negative integers in sequences.
Updated BlockIndex.register()
to handle 0-column 2D arrays and return False.
Added BlockIndex.rows
, BlockIndex.columns
properties.
Updated unset BlockIndex.dtype
to return a float dtype.
Added BlockIndex
, a tool to be used by TypeBlocks
for mapping realized column positions to arrays.
Corrected potential issue in AK_CPL_resize_buffer
that could segfault for very large offsets.
Simplified implementation of NaTType
identification in isna_element()
.
Corrected potential memory leak in isna_element()
.
Optimization to delimited_to_arrays()
character reading per line.
Improvements to delimited_to_arrays()
, including proper loading of float16
types.
Extended deepcopy_array()
to permit memo
as None.
Corrected all compiler warnings on Windows.
Added first_true_1d()
, first_true_2d()
. Added tools for performance graphing.
Corrected segmentation fault resulting from attempting to parse invalid datetime64
strings in AK_CPL_to_array_via_cast
.
Added include_none
argument to isna_element()
; implemented identification of Pandas pd.Timestamp NaT.
Updated most-recent NumPy references to 1.23.5.
Maintenance release.
Optimization to numerical array creation in delimited_to_arrays()
.
Set NumPy minimum version at 1.18.5.
Extended arguments to and functionality in split_after_count()
to support the complete CSV dialect interface.
Now building wheels for 3.11.
Refinements to ensure typed-parsed ints are always int64 in delimited_to_arrays()
.
Implemented count_iteration
, split_after_count
.
Implemented delimited_to_arrays
, iterable_str_to_array_1d
.
Now building Python 3.10 wheels.
Added get_new_indexers_and_screen
.
Updated minimum NumPy to 1.18.5
Improvements to performance of array_deepcopy
.
Added dtype_from_element
.
Revised cross compile releases.
Added dtype_from_element()
.
Explicit imports in __init__.py
for better static analysis.
Added isna_element()
.
Redesigned package structure for inclusion of py.typed
and __init__.pyi
.
array_deepcopy
now accepts kwargs and makes the memo
dict optional.
Maintenance release of the following interfaces:
immutable_filter
mloc
shape_filter
column_2d_filter
column_1d_filter
row_1d_filter
array_deepcopy
resolve_dtype
resolve_dtype_iter