skillfed

arraykit

Array utilities for StaticFrame

arraykit v1.12.0 116.2K downloads/30d#12,216 on PyPI8
Permissive license MIT Active released

What it is and what it does

ArrayKit is a C-extension library that implements array utilities for NumPy, designed to accelerate performance-critical operations. It was created to support StaticFrame's internal needs but is published as a standalone package. The library provides functions for array creation, transformation, grouping, mapping, and specialized operations like factorization and block indexing.

The package depends only on NumPy and requires Python 3.10 or later. It is actively maintained with recent releases adding new functions like map_object() and prepare_iter_for_array(). Wheels are pre-built for multiple platforms and Python versions, including free-threaded variants for Python 3.13+, reducing installation friction on supported systems.

Use it for:

  • Accelerate array grouping and reduction operations in data processing pipelines that require better performance than pure NumPy.
  • Use TriMap for optimized join operations when working with multiple arrays that need to be aligned or merged.
  • Parse delimited text files into typed NumPy arrays with automatic type inference via delimited_to_arrays().
  • Perform factorization on array data to identify unique values and their indices efficiently.
  • Build block-indexed structures for managing non-contiguous column selections in tabular data.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

ArrayKit provides C-extension implementations of array creation and transformation utilities optimized for NumPy, primarily used internally by StaticFrame for performance-critical operations.

Yes, if you are a StaticFrame user or need the specific array utilities it provides. The package is actively maintained, has no known vulnerabilities, and offers MIT licensing. However, if you are not using StaticFrame and do not need its specialized functions (TriMap, factorize, group_reduce, etc.), standard NumPy may be sufficient. Install friction is moderate due to compiled wheels, but pre-built binaries are available for common platforms.

Install

arraykit on PyPI

pip

pip install arraykit

uv

uv add arraykit

poetry

poetry add arraykit

Installing arraykit

Before you install

Medium install friction due to compiled wheels for multiple platforms and Python versions. Active maintenance with a release 8 days ago; the package is actively developed and supports current Python versions including free-threaded builds.

License in practice

MIT license permits unrestricted use, modification, and distribution in both open-source and commercial projects with minimal restrictions.

Quickstart

import numpy as np
import arraykit as ak

arr = np.array([1, 2, 3])
result = ak.nonzero_1d(arr)

Requires Python>=3.10 and numpy>=1.24.3; compiled wheels available for macOS (x86_64, arm64), Linux (x86_64, musllinux), and Windows (32/64-bit).

Verify before relying

  • Whether arraykit is intended for direct use or primarily as a StaticFrame internal dependency
  • Performance improvements over pure NumPy equivalents for specific operations
  • API stability guarantees or deprecation policy for exported functions

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction medium — platform-specific wheel
Runtime dependencies 1 — numpy
Maintenance actively maintained — 8 days since the last release
Last repo commit
First released
Downloads 116,237/month — #12,216 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: arraykit-1.12.0-cp310-cp310-macosx_10_9_x86_64.whl; arraykit-1.12.0-cp310-cp310-macosx_11_0_arm64.whl; arraykit-1.12.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; arraykit-1.12.0-cp310-cp310-musllinux_1_2_x86_64.whl; arraykit-1.12.0-cp310-cp310-win32.whl; arraykit-1.12.0-cp310-cp310-win_amd64.whl; arraykit-1.12.0-cp311-cp311-macosx_10_9_x86_64.whl; arraykit-1.12.0-cp311-cp311-macosx_11_0_arm64.whl; arraykit-1.12.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; arraykit-1.12.0-cp311-cp311-musllinux_1_2_x86_64.whl; arraykit-1.12.0-cp311-cp311-win32.whl; arraykit-1.12.0-cp311-cp311-win_amd64.whl; arraykit-1.12.0-cp312-cp312-macosx_10_13_x86_64.whl; arraykit-1.12.0-cp312-cp312-macosx_11_0_arm64.whl; arraykit-1.12.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; arraykit-1.12.0-cp312-cp312-musllinux_1_2_x86_64.whl; arraykit-1.12.0-cp312-cp312-win32.whl; arraykit-1.12.0-cp312-cp312-win_amd64.whl; arraykit-1.12.0-cp313-cp313-macosx_10_13_x86_64.whl; arraykit-1.12.0-cp313-cp313-macosx_11_0_arm64.whl

Keywords: numpy, array

Development Status :: 5 - Production/StableIntended Audience :: DevelopersOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: CProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Free ThreadingProgramming Language :: Python :: Implementation :: CPythonTopic :: Software DevelopmentTyping :: Typed

Tags

numpy array utilitiesarray transformation performancenumpy c extensionsarray creation helpersstaticframe dependencies
numpy-extensionperformance-oriented

More Software Development packages