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.7
- NumPy >= 1.18.5
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