Skip to main content

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

Reason this release was yanked:

Bad .pyi file

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.0.tar.gz (12.9 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.0-cp313-cp313-win_amd64.whl (147.4 kB view details)

Uploaded CPython 3.13Windows x86-64

rust_timeseries-0.1.0-cp313-cp313-manylinux_2_34_x86_64.whl (290.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

rust_timeseries-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (254.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rust_timeseries-0.1.0-cp312-cp312-win_amd64.whl (147.4 kB view details)

Uploaded CPython 3.12Windows x86-64

rust_timeseries-0.1.0-cp312-cp312-manylinux_2_34_x86_64.whl (290.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

rust_timeseries-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (253.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rust_timeseries-0.1.0-cp311-cp311-win_amd64.whl (147.0 kB view details)

Uploaded CPython 3.11Windows x86-64

rust_timeseries-0.1.0-cp311-cp311-manylinux_2_34_x86_64.whl (289.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

rust_timeseries-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (257.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for rust_timeseries-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c20bbf62b1702ca066ce8e5cf10669b8f7082dcae0a670fb70feeb11a4650ee4
MD5 3d924260be2737d6ac594f862889e1d7
BLAKE2b-256 e0b2f0d844873b4a1d25114617d05dceaa8ce023f4ba3ac6a52f5dde0941e7e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f9366a17145bb5aa4f5731e2164cc3dd09e18258e7aa8d1c8a96454609429e5a
MD5 51b86725c4e041f26d2b2d34591088a0
BLAKE2b-256 4de6604d01a1262b2aaf501b21982183af0f4a19ca8931f898bb221f7a88f2ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.0-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 4a62a9349737f35a6e9c6c1ffe3e2dc125c28fee44fa2174359e6b10d814d982
MD5 d197b2abd85a9324db6687bb078f3367
BLAKE2b-256 2e1271d630bd2fc47122fd0b883b8f079f2dea2a494947483e9375763a8a4233

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7ebdabafdf6e8d3254305df8ac70acde910cac29a92adf2a43d1413e384ea634
MD5 8620a4910f1d8cc8d8be0a8357d1bdcb
BLAKE2b-256 488525d1d84b7669eae49498021ecd35e39027e3a3ab4c90a34e45d39e010ecf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0910e45c848320ec57503b1d6248dcd267249d5f13241acb54ed6df477a4f428
MD5 8da842e5d19eecf158ef8367051f983e
BLAKE2b-256 62141e28180eca2ce488cf10cc52257ac1baffcc14d710b455f43d290860be77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 5d424417e99208f5551acda73872b4cf39681b18374725a731ca78778ad1445b
MD5 a0c062c2b0f1b68bf1388cc3a05d773f
BLAKE2b-256 e32daada50c1c686763854fa8119b67dbb80b04445395d7f1f03495f39a24005

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 89c37b3151793f054b4604d42ab8365a062ca126672928f388ef43ce8f33553c
MD5 125c7e14e2743fda458a5743b0575204
BLAKE2b-256 d77a12544fa8abb83c893e530a563242922a26943a2507fc74294672559575cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b00ca55cdfc536af4d8ab3a486355c445a911f587b693c4ca07f843ae680f0ef
MD5 f8b413045d8344d66d44429129a80a89
BLAKE2b-256 6f1cd103d1dd6b366a2a4be1060e0fab37093d44851cedcea57a80a9a9a2940c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.0-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e04b822ce14c20abbe634369f4d894f907429920a9f1a6c51c6ff4ebf783a412
MD5 4f9267219ef39d54c6a4f55c72787b8d
BLAKE2b-256 ee7cecffc72d2ec646ebfca23ef013a959ef0e6fe541bc69add9ce27c5ca1740

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc4d9478215092189bab3ff9c474258626f5f6a4fbf074b9f51740fee49ee1d0
MD5 d4f16723d382e5231cdba61c1a36bd1e
BLAKE2b-256 978c1ea2004f46b2b9cbbfcaae9cfbfad4d58483ac8fef63bb3504d22d45b656

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