Skip to main content
PyPI Python Versions License Tests

“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

https://amir-jafari.github.io/Time-Series-EDA


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

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)

Source distribution for timeseries-eda 0.1.3
File Size Uploaded
timeseries_eda-0.1.3.tar.gz 241.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for timeseries-eda 0.1.3
File Interpreter ABI Platform
timeseries_eda-0.1.3-py3-none-any.whl Python 3 none any Details

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

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page