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
- git clone repo
- branch
- install with development requirements using
uv sync - do the work you need to
uv run noxfor 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)
| File | Size | Uploaded | |
|---|---|---|---|
| pydemetra-0.1.1.tar.gz | 7.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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