Skip to main content

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

Reason this release was yanked:

Wrong doc string showed up

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.5.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.5-cp313-cp313-win_amd64.whl (148.5 kB view details)

Uploaded CPython 3.13Windows x86-64

rust_timeseries-0.1.5-cp313-cp313-manylinux_2_34_x86_64.whl (291.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

rust_timeseries-0.1.5-cp313-cp313-macosx_11_0_arm64.whl (255.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rust_timeseries-0.1.5-cp312-cp312-win_amd64.whl (148.6 kB view details)

Uploaded CPython 3.12Windows x86-64

rust_timeseries-0.1.5-cp312-cp312-manylinux_2_34_x86_64.whl (291.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

rust_timeseries-0.1.5-cp312-cp312-macosx_11_0_arm64.whl (254.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rust_timeseries-0.1.5-cp311-cp311-win_amd64.whl (148.1 kB view details)

Uploaded CPython 3.11Windows x86-64

rust_timeseries-0.1.5-cp311-cp311-manylinux_2_34_x86_64.whl (290.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

rust_timeseries-0.1.5-cp311-cp311-macosx_11_0_arm64.whl (258.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: rust_timeseries-0.1.5.tar.gz
  • Upload date:
  • Size: 13.3 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.5.tar.gz
Algorithm Hash digest
SHA256 5f2bc0b6d878f19021694303078f270e82359591708e550b1194551cacb73552
MD5 d8e66aa54c94a51bf70d14c3ada66783
BLAKE2b-256 d7118733344386d6dd85f28b7f5187f8499a6c5b6cbf3e93b520266e52d8c367

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0c46e35cf51891f9610b9c341625439e2faa0804f84cec3f218955bee550d8e0
MD5 4246b2d4a19d0e9f1580faf0f496e869
BLAKE2b-256 1df5a040288f7c294e8875c22f5895f60bf2bc5a2a45b7a2d28de3415411e74a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.5-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 629b5f9eace56c8fd2c1d5cb6fa7595ccd30c09f154f6948b51aa52170915e96
MD5 f127c08fa0b1a01a0669d3494a84fa65
BLAKE2b-256 3718abee7f2c8dd78753db3b31b165de264a7cb535d80fcbe43f69d4b35626f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9a614c810f26edbb108cb2b372a0a21ff5b2a825a4c526cd7b744538bf7da483
MD5 1fc9353f84cb0928b1c65f8047cdefab
BLAKE2b-256 07a7b95b9b40d9599f036c76d1147e816377ab5ee988d157828186c2ca68a630

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bcc9aba803e48c7595ce597ec699ba72964420765bb93ab2ef176dc07cce2233
MD5 855cc3a26dec5b3f55960423b8a9bd13
BLAKE2b-256 40592373bf3728b3cae4fefec436f6c618dc8fa4c20c25af1b5a28348207a93a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.5-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 0288c5f33b717419f001137cc5f2813afaecd8c5b6358ca83c71fa6bfa4f3a49
MD5 c9b16501667389aec102015f10a076f0
BLAKE2b-256 25472aa611eec767f05eb37ecb88ef47dbcf8af5bf42e77e81a54a39e9b1c609

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 49e674cef6b093066b7d3a19ab951075ede05f00da0c40cdeaef4aeecbac6501
MD5 b4e06f7b7a1ba7b5fa909f9ce4f95c26
BLAKE2b-256 33fb8a4fac8fcdef2deaa914a705576deda221249c424543e1fe15894a0962a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 97953fbd71b7f569766396c7a1c4a728f215cb5e247c9c08e3841c5866ca5cb1
MD5 3c9d763bc8e9377b74191b19fd9164d4
BLAKE2b-256 c65d398f63f5758d7228e4d6006fd64f91321d5e47bafbf7e6be9bef57c26493

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.5-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 efcb0c84b513eba435d3c3d589ee21f790024ed7b443a7567b72b8339f208ec0
MD5 5ff4056126c07a8eed09aef12b6fdf59
BLAKE2b-256 c104666621111601be19fe0f92161470f80b99eaa406c17bbbba26e5d393f41e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_timeseries-0.1.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d23dfc4e526146693d83419367904050539027277b306033c7b816ac925a825
MD5 c5a4e2820cf104ecf625365fb6907695
BLAKE2b-256 99b75182348e218b2b6767edd2a99d1f73c4574b0d156851754775abea025cfa

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