NumpyPandas is a C++ implementation of the NumPy and pandas numerical‑computing stack, with thin pybind11 bindings that expose the same APIs to Python. It pairs header-only template libraries (the heavy lifting, with SIMD, MKL, and Boost.Math acceleration) with compiled DLLs, and ships a Python extension module for each library so existing NumPy/pandas code can run against the C++ core.
The Python NumPy library is a mix of C and Python, while the pandas library is a mix of Python, Cython, and C. Neither can be called from C++, and pandas cannot be called from Python Numba. Moreover, for historical reasons, both libraries are quite messy — pandas in particular. This makes them ideal targets for a direct rewrite in C++ with a Python interface.
The project is organized into two libraries, each documented at two levels — the C++ core API and the Python bindings API.
If you know pandas, you already know NumpyPandas: the PandasCore C++ API mirrors pandas' Python interface almost method‑for‑method, and the PandasPython bindings are a drop‑in match — your existing pandas code and intuition carry over with little to no change.
Likewise, NumpyCore and NumpyPython follow NumPy's conventions closely, though they currently cover a narrower subset of its interface.
NumpyPandas was built with the Quantaiko Library Agent — an AI agent, layered on top of Claude Code, that re‑implements large existing quantitative libraries while preserving their original interface, making adoption seamless, reducing support overhead, and freeing up engineering resources. The agent combines a toolkit of Python scripts, Numba, and external tools with a Claude CLI prompting library to drive dynamic planning‑and‑execution workflows.