Skip to main content

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

Reason this release was yanked:

Again, docstring 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.6.tar.gz (13.3 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.6-cp313-cp313-win_amd64.whl (148.7 kB view details)

Uploaded CPython 3.13Windows x86-64

rust_timeseries-0.1.6-cp313-cp313-manylinux_2_34_x86_64.whl (291.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

rust_timeseries-0.1.6-cp313-cp313-macosx_11_0_arm64.whl (255.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rust_timeseries-0.1.6-cp312-cp312-win_amd64.whl (148.8 kB view details)

Uploaded CPython 3.12Windows x86-64

rust_timeseries-0.1.6-cp312-cp312-manylinux_2_34_x86_64.whl (291.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

rust_timeseries-0.1.6-cp312-cp312-macosx_11_0_arm64.whl (254.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rust_timeseries-0.1.6-cp311-cp311-win_amd64.whl (148.4 kB view details)

Uploaded CPython 3.11Windows x86-64

rust_timeseries-0.1.6-cp311-cp311-manylinux_2_34_x86_64.whl (291.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

rust_timeseries-0.1.6-cp311-cp311-macosx_11_0_arm64.whl (258.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for rust_timeseries-0.1.6.tar.gz
Algorithm Hash digest
SHA256 f719f8a86e639e1b2e78313575feeb724b7ec6b7853251d4d788ff5a72d6578a
MD5 fffa976874f74d36ce2a2532580a7633
BLAKE2b-256 1ba1b88f0723680b222b3cc3abbc87120aa3d7c483fc79882b237f3ddbba1dca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2a2d4d20bc19438c6d3af40975ab2ea165ffb6c17ed8bf53d5c25ec1f4d8be1e
MD5 c3d4fdc9d55f1dd93e3091188be84f83
BLAKE2b-256 a50c71384f463e0909692b57f019a6e605f3c73201640443ce4385d5c00dd595

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.6-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 d46e48afe11eaf36d5bc429ff9feda9279f7adecfa6aa6d726e6bcb0873b1984
MD5 865fc5cf5bdc6bf53839300bd48d318b
BLAKE2b-256 1a6972a43b06a5f0370da705051ea269a915f21451caf2cfb15c3ad1a23bae4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2c1fe5d505b3e603e4ddda6dc398b48eb8b97583339d9ed7333a6bf6f54758b9
MD5 3c68dfca55a5ba9e87e816536059009b
BLAKE2b-256 295c17bc399ceb5670d8c6f90df8794a5f6e27ed6425ace35a7e7400d75e8a67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 11bd0eccc3a8745badb4e960a433a71e799f609ed30e6688fb51b9f04e59df03
MD5 1d30b2c6aa6dd7ed8fc947bfab60b03d
BLAKE2b-256 afc1ac9b865bdacb8f7cf122eab97ce1fb84ba5b997ed755c91039251e98c011

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.6-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 4cda95d4744855ffb1d45e41b41e0bb1793653b49fabe8e44615ec8bdf92ae0b
MD5 377018028feaf4eae7da2d422b8a2151
BLAKE2b-256 ea779acf5783dc9a2b1aa33d142dcf456feb75a3456394e415b106de45183ba0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e38e5219659ae89417a2476839c47caad007c1550fdaf0924ba30e34423c35f1
MD5 e7b7e3a73bb04f87fa459576c8a48274
BLAKE2b-256 a903df789ec143489d787851ebcdd9716aae6fa4c65068fb6c63697a302a3833

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5d024bc4fd439076fe23ba4396ea4f1fbe387f3cb1d3d816a7bd1bd573dc6e03
MD5 cb995fff5add18683c637332e6c902b9
BLAKE2b-256 6c881f8e146a02809e37a10b79b5e80b49674b79427ef17f597669727b2569b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.6-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 5ccdef5d66941b8cb7958386510fce8e14d7d7548fb6f41d4c077473f922ba10
MD5 244ce945c2c98896fd1cf1395b5db139
BLAKE2b-256 b07da69819da0f80da7da158ec0c9cbbe604cf87b9ad023acfd79fb277f255a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ef9f336037e4dacf9272a82c77e660e51038617ce684f62cc11312c73ff838c7
MD5 6ce354bd9c3dee0296319d95d72d7951
BLAKE2b-256 9a5eab1bfc417e8b02e21501e2ede13a4c3a5bf6442a38212cfca8443d911e29

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