skillfed

dbl-tempo

Tempo is timeseries manipulation for Spark. This project builds upon the capabilities of PySpark to provide a suite of abstractions and functions that make operations on timeseries data easier and highly scalable.

dbl-tempo v0.1.30 4.2M downloads/30d#2,360 on PyPI344
Permissive license MIT Active released

What it is and what it does

Tempo is a library that wraps DataFrames to simplify time series analysis. It provides a TSDF (Time Series DataFrame) abstraction that treats a DataFrame as a collection of time series, one per partition key, and exposes methods for common time series operations: resampling to different frequencies, AS OF joins to merge the latest records from a source table, rolling statistics over time windows, exponential and simple moving averages, Fourier transforms, and interpolation of missing values. The library also supports Delta Lake optimization on time and partition fields.

Tempo is built for data teams using Databricks who need to perform time series transformations at scale. It handles the complexity of windowing and sorting across partitions, allowing you to work with time-indexed data using a higher-level API. The entry point is always a TSDF object, which requires a distinguished timestamp column and optionally partition and sequence columns.

Use it for:

  • Resample high-frequency sensor or event data into regular time buckets (e.g., 1-minute aggregates) for analysis or visualization.
  • Perform AS OF joins to enrich a fact table with the most recent values from a slowly-changing dimension or reference table.
  • Generate lagged features from time series for machine learning (e.g., prior 50 values for EMA-based prediction).
  • Compute rolling statistics (mean, min, max) over a time window to detect anomalies or trends in streaming data.
  • Interpolate missing time periods in sparse time series using forward-fill, backward-fill, or linear interpolation methods.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Tempo provides time series operations on Spark DataFrames, including AS OF joins, rolling statistics, lagged feature generation, and Delta Lake optimization for time-partitioned data.

Yes. Tempo is actively maintained, has no known vulnerabilities, uses a permissive MIT license, and zero runtime dependencies. It is well-suited for teams already using Databricks who need to simplify time series operations. Install it if you work with time-indexed data; skip it if you do not need time series transformations.

Install

dbl-tempo on PyPI

pip

pip install dbl-tempo

uv

uv add dbl-tempo

poetry

poetry add dbl-tempo

Installing dbl-tempo

Before you install

Low install friction with a pure-Python wheel. Actively maintained as of 2026-07-10 with 344 repository stars and regular releases since 2021.

License in practice

MIT license permits commercial and private use with minimal restrictions, making it suitable for most production environments.

Quickstart

pip install dbl-tempo

from tempo import TSDF

tsdf = TSDF(spark_df, ts_col="event_ts", partition_cols=["user_id"])
resampled = tsdf.resample(freq='min', func='mean')

Requires Apache Spark and PySpark; designed for use in Databricks notebooks or local Spark environments.

Verify before relying

  • Whether Tempo's operations scale efficiently to very large time series datasets or specific volume thresholds.
  • Performance characteristics of AS OF joins compared to native Spark windowing on typical workloads.
  • Support for custom aggregation functions beyond the documented 'floor', 'ceil', 'min', 'max', 'mean' options.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 333 days since the last release
Last repo commit
First released
Downloads 4,221,234/month — #2,360 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: dbl_tempo-0.1.30-py3-none-any.whl

Development Status :: 4 - BetaProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy

Tags

spark time series operationsas of join sparkrolling statistics sparktime series features sparkdatabricks time seriestemporal data sparktime series resampling
time-seriesdatabricks

More Information Analysis packages