Skip to main content

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

Reason this release was yanked:

Bad typing interface structure

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.4.tar.gz (13.1 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.4-cp313-cp313-win_amd64.whl (147.8 kB view details)

Uploaded CPython 3.13Windows x86-64

rust_timeseries-0.1.4-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.4-cp313-cp313-macosx_11_0_arm64.whl (254.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rust_timeseries-0.1.4-cp312-cp312-win_amd64.whl (148.0 kB view details)

Uploaded CPython 3.12Windows x86-64

rust_timeseries-0.1.4-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.4-cp312-cp312-macosx_11_0_arm64.whl (253.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rust_timeseries-0.1.4-cp311-cp311-win_amd64.whl (147.5 kB view details)

Uploaded CPython 3.11Windows x86-64

rust_timeseries-0.1.4-cp311-cp311-manylinux_2_34_x86_64.whl (290.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

rust_timeseries-0.1.4-cp311-cp311-macosx_11_0_arm64.whl (257.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for rust_timeseries-0.1.4.tar.gz
Algorithm Hash digest
SHA256 bb3eec607bc8f39379dd9b82dc069b481359b7df420704ff46c9276696f26f3b
MD5 00f5261277b76c3dc859ec1a910230e0
BLAKE2b-256 fc98988a5a3d069a0ec9feacee50aa53e68f58766dfaa910eb2b35d288821850

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3dd22692338b022a83d6cb89c8fdb4692d40b2f9a797d109f68a3311934092cb
MD5 97af751ae7d3fe33e7bd0610d2249634
BLAKE2b-256 2ad1d03be953b620533f60c22d5ce18164772841a7d818649c2a0130e86d6cee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.4-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 a1cd922ab83339f55adb29048865e0959969095938ac0ff246e3af3813152132
MD5 17657d9c82b415d47267fbd5814a2023
BLAKE2b-256 7514668126eae64662962cc40bb1e11c6c01b81f4a42be511c9eb71a4943d62b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c6988f9cde0c8adcb2580e02cdc783069930a464d2dec42c2b679e696c251df7
MD5 68eb4b178072ca120526e87b22170776
BLAKE2b-256 3d863958b40e27b6c7327ee29094d710ecf115921122f47b6665f42daead7f71

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6f7dbe6dcec9b5e7bb362eb59c48c7dd805d4deb4823961bd1e5eca691189110
MD5 f4511e8e1a9e9c07033c8b29e93b033b
BLAKE2b-256 96daf46aeb884d44b5acbce44bd267a01250fc65b3da91a40e63a0948a579399

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.4-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 cea552d3878f177706cbd3df142b5bdc22c6fbcc5e3dfd234b2fe5603ecc0a85
MD5 f6d704d2f49c73338602bc412afd4039
BLAKE2b-256 2ba211c08f8ce2a4a1999f8d67997163006eb001e911023c43ae6a7591d280f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b8ebd7acd6e4814c12945fad64452b9f7210f27021c7c3c9aa37879091d1074b
MD5 b2bdd2415430793bab296c043ee0691c
BLAKE2b-256 a56392deea37a483cccf2956452d78290f2d80ba28379c95d9cfd8a98a4f4837

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 25c6304984289284f75b92486282854ae2d3df3bc3c4fc5df24bc1e6a767272e
MD5 01f26467c6f0ef72a80d13300f3eb53e
BLAKE2b-256 b01dac9a60b665d0459d016af39e8978307e0063350c66d870a3c124b30bf361

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.4-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 1dc17790bb6492d02f1ced8d5bd3b780a9a6d2aec35cd0d556b605b32f04e60a
MD5 293a683a3a390cfdb7b1b081a77c8c53
BLAKE2b-256 0f3d18af5040754320adcc11968120605deca157325d33625d126665717d716a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e4b7ebfdc88abe4cbc73237fba1402f4eb32dbe381324c4d357ba2167fb196f3
MD5 5aee38d875ff2e0170967a5374014568
BLAKE2b-256 ea20914539ba978e23a20a57e40a0cfe4d69bc3e8cdcc0b58dabff4149793684

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