This release is a pre-release and may not be stable for production use.
Diurnalize
Diurnalize provides a reusable implementation of mean-preserving diurnal disaggregation. It decomposes a positive environmental variable into a spatial baseline level B(x) and a local time-of-day multiplier S(x,k):
Y(x,k) = B(x) * S(x,k)
The hierarchical shape model uses wrapped Gaussian temporal bases, low-rank spatial RBF bases with k-means centers and QR projection, sensor-specific bias, sensor-specific noise, and a time softmax so each predicted daily shape has mean 1.
Quick Start
pip install "diurnalize[model]"
diurnalize generate-demo --output /tmp/diurnalize_demo --scenario null_shape --n-sensors 6 --n-days 2 --grid-resolution 5
diurnalize fit --config /tmp/diurnalize_demo/config.yaml --output /tmp/diurnalize_run --preset quick
diurnalize predict --run /tmp/diurnalize_run --grid /tmp/diurnalize_demo/baseline_grid.csv --output /tmp/diurnalize_run/predictions
diurnalize validate --run /tmp/diurnalize_run --output /tmp/diurnalize_run/validation
diurnalize report --run /tmp/diurnalize_run --output /tmp/diurnalize_run/report.html
The base package can be installed with pip install diurnalize for data loading,
configuration, synthetic demo generation, and CLI discovery. Install the
model extra for Bayesian fitting, prediction exports, validation plots, and
HTML reports.
CSV Schemas
Observation CSVs require canonical headers matched case-insensitively only:
sensor_id,lat,lon,timestamp_utc,value
Baseline grids require:
lat,lon,baseline
Optional baseline columns include cell_id, region_id, and area_weight.
Citation
If you find this package or the associated methods useful, please consider citing the associated paper. Paper reproduction workflows are intentionally kept outside this package.
Development
pip install -e ".[dev]"
pytest
python -m build
python -m twine check dist/*
Metadata
Release files for diurnalize 0.1.0a1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| diurnalize-0.1.0a1.tar.gz | 17.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| diurnalize-0.1.0a1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.2 kB
Release files / diurnalize-0.1.0a1.tar.gz
| Download URL | diurnalize-0.1.0a1.tar.gz |
|---|---|
| Size | 17.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1bdce4069ed37c872d35049111aa4770d98367fb5f90bbbf9b59e5a6a88b1e3e
|
|
BLAKE2b-256 checksum How to use checksums |
64ce936c7ab6efacc42569866b3cf907dd3e471baac5abe1d04e62ac95a42b50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 2, 2026.
Transparency logRelease files / diurnalize-0.1.0a1-py3-none-any.whl
| Download URL | diurnalize-0.1.0a1-py3-none-any.whl |
|---|---|
| Size | 20.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
76c1c11ddec55b55c5e55e735b4b8a31d8dd34da14953689bed47f8e60cb449b
|
|
BLAKE2b-256 checksum How to use checksums |
f15583149b47efb82ea44e8e28f9cfa89703fef872e69aee38620ed0eccd1995
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 2, 2026.
Transparency log