Arprax Algorithms
Industrial-grade algorithms, performance profilers, and data structures for Python.
Built by Arprax Lab, this toolkit is designed for the "Applied Data Intelligence" era—where understanding how code scales is as important as the code itself.
🚀 Features
- ArpraxProfiler: High-precision analysis with GC control, warmup cycles, and OHPV2 (Doubling Test) complexity estimation.
- Industrial Utils: High-performance data factories (random_array, sorted_array) for robust benchmarking.
- Standard Library: High-performance implementations of classic algorithms (Merge Sort, Bubble Sort, etc.) with strict type hinting.
📦 Installation
# Core only
pip install arprax-algorithms
# With visual tools
pip install arprax-algorithms[visuals]
# With research tools
pip install arprax-algorithms[research]
🔬 Quick Start: Benchmarking
Once installed, you can immediately run a performance battle between algorithms.
from arprax.algos import Profiler
from arprax.algos.utils import random_array # Clean import from your new 'utils'
from arprax.algos.algorithms import merge_sort # Using the 'lifted' API
# 1. Initialize the industrial profiler
profiler = Profiler(mode="min", repeats=5)
# 2. Run a doubling test (OHPV2 Analysis)
results = profiler.run_doubling_test(
merge_sort,
random_array,
start_n=500,
rounds=5
)
# 3. Print the performance analysis
profiler.print_analysis("Merge Sort", results)
🎓 Demonstrations & Pedagogy
We provide high-fidelity demonstrations to show the library in action. These are located in the examples/ directory to maintain a decoupled, industrial-grade production environment.
Performance Profiling
Measure execution time, memory usage, and operation counts across different input sizes ($N$):
python examples/demo_profiler.py
Algorithm Visualization
View real-time, frame-by-frame animations of sorting and search logic:
python examples/visualizer.py
🏗️ The Arprax Philosophy
Applied Data Intelligence requires more than just code—it requires proof.
- Zero-Magic: Every algorithm is written for clarity and performance. We don't hide logic behind obscure abstractions or hidden standard library calls.
- Empirical Evidence: We don't just guess Big O complexity; we measure it using high-resolution timers and controlled environments.
- Industrial Scale: Our tools are designed to filter out background CPU noise, providing reliable benchmarks for real-world software engineering.
📚 Citation
To cite the Software: See the "Cite this repository" button on our GitHub.
To cite the Handbook (Documentation):
@manual{arprax_handbook,
title = {The Algorithm Engineering Handbook},
author = {Chowdhury, Tanmoy},
organization = {Arprax LLC},
year = {2026},
url = {https://algorithms.arprax.com/book},
note = {Accessed: 2026-02-01}
}
© 2026 Arprax Lab A core division of Arprax dedicated to Applied Data Intelligence.
Metadata
Release files for arprax-algorithms 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| arprax_algorithms-0.3.1.tar.gz | 37.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arprax_algorithms-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 82.1 kB
Release files / arprax_algorithms-0.3.1.tar.gz
| Download URL | arprax_algorithms-0.3.1.tar.gz |
|---|---|
| Size | 37.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3b1572f6a06fe151ef116bd6808d56cba5e19e02957968499fd3d542d7beba26
|
|
BLAKE2b-256 checksum How to use checksums |
7c86f07b5036d1cb3b02a082b99d528c7ab4db4bd01ab291ade0e07d9545a1e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Release files / arprax_algorithms-0.3.1-py3-none-any.whl
| Download URL | arprax_algorithms-0.3.1-py3-none-any.whl |
|---|---|
| Size | 45.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1dd1c26bbb0979870fe20cd333f92d8e945d94732ec62e864fc0b978dbc495b4
|
|
BLAKE2b-256 checksum How to use checksums |
274839ddc426cffeefe76975c8d6d2c8ee413f1c25e46fbebc45a7f7ee68208e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|