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 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

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.0.tar.gz (98.9 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.0-py3-none-any.whl (119.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for timeseries_eda-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cdd49441f12a1bfceb0296bbc6594b476b3f5cb82945a5fb7050cdbadc05ad78
MD5 95470056d097d5d9ffce7d9646d01b96
BLAKE2b-256 0aedab670eb1118c9f2d6225d523747377dfb0c5d7843e0f3ca8d9016f3f3aa8

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for timeseries_eda-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e043e2cb5ba42b16afdd7d9b57fb4c8ffdd01361c02a33ed7a1dd4e5ca2f2c77
MD5 0624f35dbdfc9ae8bc7e73e0d52f405f
BLAKE2b-256 0b2be5250e7e53a7e3f7877c0dff62b7419070fa43b0bbfcbb0b0e8f9f984c90

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