tseda — Time Series EDA
“Understand your time series before you forecast it.”
tseda is a comprehensive, dependency-light Python toolkit for time series Exploratory Data Analysis (EDA). It is to time series what YData-Profiling is to tabular data: a single command that produces a complete understanding of any time series dataset before you start modelling.
Why tseda?
Existing libraries solve individual problems. No single package provides all of:
Comprehensive EDA & data auditing
Forecastability assessment
Automated diagnostics (stationarity, seasonality, anomalies)
Structural break / changepoint detection
Feature engineering
Model recommendations
Interactive reports
tseda fills that gap, using only numpy, pandas, scipy, and matplotlib as core dependencies.
Installation
pip install timeseries-eda
For stationarity tests that use statsmodels (ADF, KPSS, Phillips-Perron):
pip install timeseries-eda[stats]
For building the documentation:
pip install timeseries-eda[docs]
Quick Start
import numpy as np
import pandas as pd
from tseda import TimeSeries
# Build a TimeSeries object
idx = pd.date_range("2020-01-01", periods=365, freq="D")
ts = TimeSeries(
np.cumsum(np.random.randn(365)),
index=idx,
name="stock_price",
unit="USD",
)
print(ts)
# Data quality
from tseda.quality import MissingValueAnalyzer, OutlierDetector
missing = MissingValueAnalyzer().analyze(ts)
outliers = OutlierDetector().mad(ts)
# Statistics
from tseda.statistics import DescriptiveAnalyzer, StationarityTester
stats = DescriptiveAnalyzer().analyze(ts)
adf = StationarityTester().adf(ts)
print(adf.summary() if hasattr(adf, "summary") else adf)
# Decomposition
from tseda.decomposition import STLDecomposer
dec = STLDecomposer().decompose(ts, period=7)
print(dec.summary())
# Seasonality
from tseda.seasonality import SeasonalityDetector
season = SeasonalityDetector().detect(ts)
print(f"Dominant period: {season.dominant_period}")
Modules
Module |
Capability |
|---|---|
core |
TimeSeries data structure & validators |
quality |
Missing values, outlier detection, flat-line checks |
statistics |
Descriptive stats, stationarity, ACF/PACF |
decomposition |
Classical & STL decomposition |
seasonality |
FFT periodogram + ACF-based period detection |
anomaly |
Rolling IQR/Z-score, STL-residual anomaly detection |
changepoint |
Structural break / CUSUM detection |
features |
Temporal, statistical, spectral feature extraction |
forecastability |
Forecast-readiness scoring & leakage detection |
visualization |
Matplotlib plot suite |
report |
HTML & console report generation |
Dependencies
Core (always installed):
numpy >= 1.23
pandas >= 1.5
scipy >= 1.9
matplotlib >= 3.6
Optional:
statsmodels >= 0.14 — ADF, KPSS, Phillips-Perron, STL (pip install timeseries-eda[stats])
Documentation
Contributing
Contributions are welcome! Please open an issue or pull request at https://github.com/amir-jafari/Time-Series-EDA.
License
MIT © 2026 Amirhossein Jafari
Metadata
Release files for timeseries-eda 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| timeseries_eda-0.1.3.tar.gz | 241.6 kB | Without provenance | Details for timeseries_eda-0.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| timeseries_eda-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for timeseries_eda-0.1.3-py3-none-any.whl |
Total release size: 361.6 kB
Release files / timeseries_eda-0.1.3.tar.gz
| Download URL | timeseries_eda-0.1.3.tar.gz |
|---|---|
| Size | 241.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b498c383ff95409081b315ba41930c0be20718a94fdb7af6c8e4521827016bb3
|
|
BLAKE2b-256 checksum How to use checksums |
9a61e5a1dbedfb836b4e7aca048d74adc1e265916a54aa5a9ec341afb2b94b94
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.7
|
Release files / timeseries_eda-0.1.3-py3-none-any.whl
| Download URL | timeseries_eda-0.1.3-py3-none-any.whl |
|---|---|
| Size | 120.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
78ad4fa3d27c7bc94cfe5799dde8b019183e8c2b3415897d12067d29c12447a4
|
|
BLAKE2b-256 checksum How to use checksums |
910b88cc7046038ca26ac76a006c3ba5c0f2369cd250443ff22fbae56a92b6eb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.7
|
Security for timeseries-eda 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.