Skip to main content

Rust-implemented time-series utilities exposed to Python via PyO3.

Reason this release was yanked:

Submodule recognition issue

Project description

rust_timeseries

PyPI CI

rust_timeseries is a high-performance Python library for time-series diagnostics.
The first release implements the Escanciano–Lobato (2009) robust automatic portmanteau test for serial dependence.
Heavy lifting is handled in Rust (via PyO3) so you get C-level speed with a pure-Python interface.


✨ Highlights

Why it matters What you get
Native-code core Tight Rust loops compiled to machine code
Zero-copy I/O numpy.ndarray / pandas.Series buffers are viewed directly—no copying ever
Heteroskedastic-robust τ̂-adjusted autocorrelations maintain validity under conditional heteroskedasticity
Automatic lag choice Data-driven (p̃) maximises the penalised statistic (L_p)
Friendly errors Clear ValueError / OSError when inputs are invalid

📦 Installation

pip install rust_timeseries

Binary wheels are provided for Python 3.9–3.13 on Linux x86-64, macOS (Intel & Apple Silicon) and Windows 64-bit.
If no wheel matches your platform a source install will build automatically—just have Rust 1.76+ on PATH.


🚀 Quick start

import rust_timeseries as rts
import numpy as np

y = np.random.randn(500)

test = rts.statistical_tests.EscancianoLobato(y, q=3.5)  # d defaults to ⌊n**0.2⌋
print(f"Q*      = {test.statistic:.3f}")
print(f"p̃       = {test.p_tilde}")
print(f"p-value = {test.pvalue:.4f}")

API snapshot

Object Attribute Meaning
EscancianoLobato .statistic Robust Box–Pierce statistic (Q^{*}_{p̃})
.pvalue Asymptotic χ² (1) tail probability
.p_tilde Data-driven lag (p̃)

Constructor signature

EscancianoLobato(data, /, *, q=2.4, d=None)

⚙️ How it works

All numerics live in safe Rust (src/), compiled into a shared library and imported by Python.
The Rust crate is internal; no stable Rust API is promised.


🛠 Development setup

git clone https://github.com/your-org/rust_timeseries
cd rust_timeseries
python -m venv .venv && source .venv/bin/activate
pip install -U pip maturin
maturin develop --features pyo3/extension-module
pytest

📜 License

Released under the MIT License – free for commercial and academic use.


📖 Reference

Escanciano, J. C. & Lobato, I. N. (2009). Testing serial correlation in time series with missing observations. Journal of Econometrics 150, 209–225.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rust_timeseries-0.1.3.tar.gz (13.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

rust_timeseries-0.1.3-cp313-cp313-win_amd64.whl (147.8 kB view details)

Uploaded CPython 3.13Windows x86-64

rust_timeseries-0.1.3-cp313-cp313-manylinux_2_34_x86_64.whl (290.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

rust_timeseries-0.1.3-cp313-cp313-macosx_11_0_arm64.whl (254.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rust_timeseries-0.1.3-cp312-cp312-win_amd64.whl (147.8 kB view details)

Uploaded CPython 3.12Windows x86-64

rust_timeseries-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl (290.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

rust_timeseries-0.1.3-cp312-cp312-macosx_11_0_arm64.whl (253.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rust_timeseries-0.1.3-cp311-cp311-win_amd64.whl (147.4 kB view details)

Uploaded CPython 3.11Windows x86-64

rust_timeseries-0.1.3-cp311-cp311-manylinux_2_34_x86_64.whl (290.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

rust_timeseries-0.1.3-cp311-cp311-macosx_11_0_arm64.whl (257.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file rust_timeseries-0.1.3.tar.gz.

File metadata

  • Download URL: rust_timeseries-0.1.3.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for rust_timeseries-0.1.3.tar.gz
Algorithm Hash digest
SHA256 48c4a929bbed68130ea380dcc04bc365a2feca1891eae90bd822baa6d59f6975
MD5 94f4e6a093d5ed1f4f6f5a2105702a3e
BLAKE2b-256 afa7792c068a1375a8f5880a81062ed9155185cecbcad2bd4dd8001d5191cda3

See more details on using hashes here.

File details

Details for the file rust_timeseries-0.1.3-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for rust_timeseries-0.1.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 437e34b9c3a52e1ec47581467bf0b4a51ea373fc1afc66ca44612e41d850166e
MD5 3e2b48d58a6a4b4957129a6475fd15b3
BLAKE2b-256 58020d0d9cd88cb6ac7b2bde584b9ff7b858a3cd496ec01866bd38ce6e71f158

See more details on using hashes here.

File details

Details for the file rust_timeseries-0.1.3-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for rust_timeseries-0.1.3-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 bd83eaf047d060ea140d053cac92ea55f2995e42420dfb4a21ea5d874ce6d5b3
MD5 20e8fb5d542b5c9c9e530f8a8d8c333b
BLAKE2b-256 3e2356dd6633432c949c60a80e23541267dcf0a56f7c6be41e2e0e106d822517

See more details on using hashes here.

File details

Details for the file rust_timeseries-0.1.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rust_timeseries-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b96902e50e45153630b16da6488d31d38a19b837483689ac5f309d7bb865b171
MD5 4dd1baf965290b9b10e40fd4445ad672
BLAKE2b-256 7ca8fbd10161697541cb65efc490fa452af1f3d91d7f349c824046fed7d7a579

See more details on using hashes here.

File details

Details for the file rust_timeseries-0.1.3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for rust_timeseries-0.1.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 dd76cad20038dc85a5a7dd9aacf93485a3f804ac0205ce72ebae7796876588f2
MD5 05e79852afb8251315c435ca7ada673e
BLAKE2b-256 6d29286fed7046ac07dd630f6163dbe3c4d807c4a15d37eb4652e92b0568207f

See more details on using hashes here.

File details

Details for the file rust_timeseries-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for rust_timeseries-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 cee8badd6977c3cdc3e712944fb9bcebb5dea2e18a56f1f2c18f3f2d8a7712f4
MD5 77f4a64ebb01c0fd7cdc3e8d89e373b4
BLAKE2b-256 fbca62d49a0a0196ababb3cb8526a5f0a930c3b05f3ba4c14f4c8b68692a986e

See more details on using hashes here.

File details

Details for the file rust_timeseries-0.1.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rust_timeseries-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 42166c57933e70dba5613fea868f3d295388256abd71c5f492a87621c015ce17
MD5 08af90b03e3d1a16be13ad66066add5a
BLAKE2b-256 2a1f6fa597fe5701f66d13e3601ee06dbcd88abaf437c158b9099975175322f8

See more details on using hashes here.

File details

Details for the file rust_timeseries-0.1.3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for rust_timeseries-0.1.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 560c37724b80c56f68cc94c1b2037fba7ee50403fb7e9f5a51411497920ac584
MD5 478b6e394170c909022a4846252b34b7
BLAKE2b-256 0b33cefef643845f14efe696d4caf913a507dc77c53a82ccce029f2f9a3f9191

See more details on using hashes here.

File details

Details for the file rust_timeseries-0.1.3-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for rust_timeseries-0.1.3-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 a8a838d678479749e7a65b84d692c1f9a13309e731b3a2b2c6d6a364076d786c
MD5 5d92b3749f7f523c09e907856068fc57
BLAKE2b-256 50b5adcd9ef0408b2d02a71faed574ba38d9df996325aad1753ae6a18ab9209d

See more details on using hashes here.

File details

Details for the file rust_timeseries-0.1.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rust_timeseries-0.1.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1c86084ce1884794752d592380ac23aac73c16a462064339a01c17c19c3ccd33
MD5 6ca7284a3ebea9465d923e57f33808dd
BLAKE2b-256 a3e25fdd3ada8f310e35e39b4fab1d531d28d4b350a4929ce566215efe178798

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page