Skip to main content

pydemetra

Python front-end to JDemetra+, which is a Java package for seasonal adjustment.

⚠️ This repo is under development and not fully tested. Use with caution ⚠️

Want to just get going? Head to the Quick Start page.

This project has no affiliation the original JDemetra+, but we're grateful to its creators!

Functionality

pydemetra was inspired by the rjdverse R front-end to JDemetra+. Without that package, this one would not be possible. Not all of the functionality of either JDemetra+ or the R front-end is implemented in this package.

Implemented

  • X-13ARIMA-SEATS seasonal adjustment (X-13, X-11, RegARIMA)
  • TRAMO-SEATS seasonal adjustment (TRAMO, SEATS)
  • Calendars and trading days — national calendars, fixed/Easter/weekday holidays, trading day regressors
  • ARIMA modelling — SARIMA, UCARIMA, estimation, decomposition, simulation
  • Regression variables — outliers (AO, LS, TC, SO), ramps, interventions, Easter/leap-year effects, periodic dummies, trigonometric variables
  • Statistical tests — seasonality, normality, trading days, autocorrelation
  • Time series utilities — aggregation, interpolation, differencing, length-of-period adjustment
  • Distributions — t, chi-squared, gamma, inverse gamma, inverse Gaussian
  • Splines — B-splines, natural/monotonic/periodic cubic splines
  • Benchmarking specification

Not implemented

  • STL decomposition
  • State space models
  • High-frequency seasonal adjustment
  • Extended X-11
  • Benchmarking and temporal disaggregation
  • Revision analysis
  • Trend-cycle filters

Prerequisites

  • Python 3.11+
  • Java 17+ (the JVM is started automatically on first use)

Most functions that interact with JDemetra+ Java classes require a running JVM. The JVM is started lazily on the first call — no manual setup needed as long as Java 17+ is on your PATH or JAVA_HOME is set.

Installing Java on MacOS

To install a recent version of Java, run

brew install openjdk
export PATH="/opt/homebrew/opt/openjdk/bin:$PATH"

and then restart your terminal.

Development

  1. git clone repo
  2. branch
  3. install with development requirements using uv sync
  4. do the work you need to
  5. uv run nox for full test suite; everything should pass

Metadata

Release files for pydemetra 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pydemetra 0.1.1
File Size Uploaded
pydemetra-0.1.1.tar.gz 7.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pydemetra 0.1.1
File Interpreter ABI Platform
pydemetra-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 14.2 MB

Release files / pydemetra-0.1.1.tar.gz

Download URL pydemetra-0.1.1.tar.gz
Size 7.1 MB
Tags Source
SHA-256 checksum
How to use checksums
4bfce067efd607366d944a265c38bfef556b8c9920a679ed164d10a67057e996
BLAKE2b-256 checksum
How to use checksums
a2cd55f791a10d0b758598c6a001fc2d708315e57218cfd672c9add46e03195a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 10, 2026.

Transparency log

Release files / pydemetra-0.1.1-py3-none-any.whl

Download URL pydemetra-0.1.1-py3-none-any.whl
Size 7.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
e5b787ab269e76eee632ef70fe270858e425eb2ef558dfca8e6be38aec8dfcff
BLAKE2b-256 checksum
How to use checksums
b37d098c2fac2749fff732efb2da0017fcc85c0ac72ff1e222eebcdf6fff87f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 10, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

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