Comprehensive Time Series Exploratory Data Analysis toolkit
Project description
“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 tseda
For stationarity tests that use statsmodels (ADF, KPSS, Phillips-Perron):
pip install tseda[stats]
For building the documentation:
pip install tseda[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 tseda[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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file timeseries_eda-0.1.1.tar.gz.
File metadata
- Download URL: timeseries_eda-0.1.1.tar.gz
- Upload date:
- Size: 237.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
91defcefc4a1fe7ff6c6f14f780f679e3e644ac421fb197d4fe6f111e78af1a6
|
|
| MD5 |
64806bc756de9d3f292e33d1a6e705d5
|
|
| BLAKE2b-256 |
073a44e58f7191c7819090b3d2cdeb4e1f9d00ccf73efed01be301125624a8e4
|
File details
Details for the file timeseries_eda-0.1.1-py3-none-any.whl.
File metadata
- Download URL: timeseries_eda-0.1.1-py3-none-any.whl
- Upload date:
- Size: 119.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2abf497111e19b8c896b6ea7bdcebd3b5eb193801928cb1d5b7a4c940211e24d
|
|
| MD5 |
7d337d4bc79ff149a6df4cd980a662a5
|
|
| BLAKE2b-256 |
6ddf59f8098e8fe222f8b6fce65531b4ad57277454cc9f38b8da9c51aaca2ea1
|