Skip to main content

Comprehensive Time Series Exploratory Data Analysis toolkit

Project description

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

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

timeseries_eda-0.1.3.tar.gz (241.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

timeseries_eda-0.1.3-py3-none-any.whl (120.0 kB view details)

Uploaded Python 3

File details

Details for the file timeseries_eda-0.1.3.tar.gz.

File metadata

  • Download URL: timeseries_eda-0.1.3.tar.gz
  • Upload date:
  • Size: 241.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for timeseries_eda-0.1.3.tar.gz
Algorithm Hash digest
SHA256 b498c383ff95409081b315ba41930c0be20718a94fdb7af6c8e4521827016bb3
MD5 55b0317cff7e2ce78641a0fb6be962ac
BLAKE2b-256 9a61e5a1dbedfb836b4e7aca048d74adc1e265916a54aa5a9ec341afb2b94b94

See more details on using hashes here.

File details

Details for the file timeseries_eda-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: timeseries_eda-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 120.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for timeseries_eda-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 78ad4fa3d27c7bc94cfe5799dde8b019183e8c2b3415897d12067d29c12447a4
MD5 93c88c448a55900467cdfe418f623928
BLAKE2b-256 910b88cc7046038ca26ac76a006c3ba5c0f2369cd250443ff22fbae56a92b6eb

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