skillfed

awkward0

Manipulate arrays of complex data structures as easily as Numpy.

awkward0 v0.15.5 282.1K downloads/30d#8,088 on PyPI213
Permissive license BSD 3-clause Abandoned released

What it is and what it does

Awkward Array is a pure Python and Numpy library that extends Numpy's vectorization capabilities to complex, non-rectangular data structures. While Numpy excels at operations on regular rectangular arrays, it struggles with variable-length lists, nested records, heterogeneous types, sparse data, or masked values—forcing users back to slow Python loops. Awkward Array bridges this gap by allowing you to manipulate these complex structures with the same efficient, vectorized syntax you'd use in Numpy, accessing data as columnar structures with memory efficiency comparable to Numpy arrays.

The library supports loading data from JSON, Python objects, HDF5, Parquet, ROOT files, or Arrow buffers, and can handle deeply nested hierarchies, cross-references, lazy loading, and on-demand Python class instantiation. However, this package (awkward0) is the legacy 0.x branch and has been abandoned since early 2021; it is no longer maintained and may have compatibility issues with modern Python and dependency versions.

Use it for:

  • Process physics detector data or scientific measurements with variable-length event records and nested hierarchies efficiently.
  • Convert JSON or nested Python data structures into columnar arrays for vectorized numerical operations.
  • Load and manipulate Parquet or HDF5 files containing ragged or heterogeneous data without manual loop-based unpacking.
  • Work with sparse or masked datasets where not all records have the same structure or completeness.
  • Perform batch operations on lists of different lengths (e.g., variable-size batches in machine learning) using Numpy-like syntax.

Worth the install?

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

Manipulates complex, non-rectangular data structures (jagged arrays, nested records, heterogeneous types, sparse or masked data) using Numpy-like vectorized operations instead of Python loops.

No. This package is abandoned (last commit 2021-02-08, repository archived) and superseded by the active awkward package. Installing awkward0 locks you into unmaintained code with no bug fixes or compatibility updates for modern Python and numpy versions. Use the current awkward package instead unless you have a specific legacy dependency constraint.

Install

awkward0 on PyPI

pip

pip install awkward0

uv

uv add awkward0

poetry

poetry add awkward0

Installing awkward0

Before you install

Low friction installation with only numpy as a runtime dependency. However, the package is abandoned as of 2021-02-08 with no active maintenance; the repository is archived and last commit was over three years ago.

License in practice

BSD 3-clause permissive license allows commercial and private use with minimal restrictions, requiring only license and copyright notice retention.

Quickstart

pip install awkward0

import awkward as ak
import numpy as np

# Create jagged array from nested Python lists
data = ak.from_iter([[1, 2, 3], [4, 5], [6, 7, 8, 9]])
result = data * 2  # Vectorized operation across variable-length sublists

Requires numpy 1.13.1 or later; package is abandoned and may have compatibility issues with modern Python versions beyond 3.9.

Verify before relying

  • Whether awkward0 0.15.5 works reliably with Python versions released after 3.9 or modern numpy versions.
  • Whether the successor package (awkward, not awkward0) should be used instead for new projects.
  • Performance characteristics and memory efficiency compared to modern alternatives for specific use cases.

Package facts

License BSD 3-clause (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 1 — numpy
Maintenance abandoned — 2,013 days since the last release
Last repo commit (repository archived)
First released
Downloads 282,122/month — #8,088 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: awkward0-0.15.5-py3-none-any.whl

Development Status :: 7 - InactiveIntended Audience :: DevelopersIntended Audience :: Information TechnologyIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseOperating System :: MacOSOperating System :: POSIXOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Information AnalysisTopic :: Scientific/Engineering :: MathematicsTopic :: Scientific/Engineering :: PhysicsTopic :: Software DevelopmentTopic :: Utilities

Tags

jagged array manipulationnested data structure arrayscolumnar data processingvariable-length list handlingnumpy-like ragged arrays
legacy-abandonedcolumnar-datascientific-computing

More Software Development packages