PyCDFt 0.2.0__tar.gz → 0.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pycdft-0.3.1/.github/workflows/release.yml +28 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/CHANGELOG.md +19 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/PKG-INFO +11 -4
- {pycdft-0.2.0 → pycdft-0.3.1}/PyCDFt.egg-info/PKG-INFO +11 -4
- {pycdft-0.2.0 → pycdft-0.3.1}/PyCDFt.egg-info/SOURCES.txt +1 -3
- {pycdft-0.2.0 → pycdft-0.3.1}/README.md +10 -3
- {pycdft-0.2.0 → pycdft-0.3.1}/docs/guide.html +5 -4
- {pycdft-0.2.0 → pycdft-0.3.1}/pycdft/__init__.py +1 -1
- pycdft-0.2.0/examples/figures/example_grid.png +0 -0
- pycdft-0.2.0/examples/figures/example_r_gaussian.png +0 -0
- pycdft-0.2.0/examples/figures/example_skewed.png +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/.github/workflows/ci.yml +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/CONTRIBUTING.md +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/LICENSE +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/MANIFEST.in +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/Makefile +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/PyCDFt.egg-info/dependency_links.txt +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/PyCDFt.egg-info/requires.txt +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/PyCDFt.egg-info/top_level.txt +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/benchmarks/benchmark_gpu.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/benchmarks/run_hybrid_benchmark.sh +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/docs/design.md +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/docs/gpu.md +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/examples/example_grid.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/examples/example_ibicus_compare.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/examples/example_r_gaussian.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/examples/example_skewed.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/examples/gpu_example.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/pycdft/api.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/pycdft/core.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/pycdft/gpu/__init__.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/pycdft/gpu/_torch.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/pycdft/gpu/api.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/pycdft/gpu/devices.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/pycdft/gpu/kernels.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/pycdft/math.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/pycdft/py.typed +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/pyproject.toml +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/setup.cfg +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/tests/naive_cdft.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/tests/r_cdft_reference.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/tests/test_api.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/tests/test_core.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/tests/test_equivalence.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/tests/test_gpu.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/tests/test_ibicus.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/tests/test_math.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/tests/test_nan.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/tests/test_r_cdft.py +0 -0
- {pycdft-0.2.0 → pycdft-0.3.1}/tests/test_tails.py +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
name: release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags: ["v*"]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
publish:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
environment: pypi
|
|
14
|
+
permissions:
|
|
15
|
+
id-token: write # OIDC token for trusted publishing
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
|
+
- uses: actions/setup-python@v5
|
|
19
|
+
with:
|
|
20
|
+
python-version: "3.11"
|
|
21
|
+
- name: Build
|
|
22
|
+
run: |
|
|
23
|
+
pip install -q build
|
|
24
|
+
python -m build
|
|
25
|
+
- name: Publish to PyPI
|
|
26
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
27
|
+
with:
|
|
28
|
+
verify-metadata: true
|
|
@@ -4,6 +4,25 @@ All notable changes to this project are documented here. The format follows
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/) and versioning follows
|
|
5
5
|
[Semantic Versioning](https://semver.org/).
|
|
6
6
|
|
|
7
|
+
## [0.3.1] - 2026-10-13
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- README: CI, PyPI version, Python versions and license badges.
|
|
12
|
+
|
|
13
|
+
## [0.3.0] - 2026-10-13
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- PyPI publishing via GitHub Actions trusted publishing (OIDC):
|
|
18
|
+
`.github/workflows/release.yml` builds the sdist and wheel and uploads on
|
|
19
|
+
tag push (`v*`), with no API tokens or stored secrets.
|
|
20
|
+
|
|
21
|
+
### Documentation
|
|
22
|
+
|
|
23
|
+
- README: PyPI install instructions (`pip install pycdft`, with the
|
|
24
|
+
`[gpu]` extra for the optional torch backend).
|
|
25
|
+
|
|
7
26
|
## [0.2.0] - 2026-10-12
|
|
8
27
|
|
|
9
28
|
### Documentation
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyCDFt
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: CDF-t statistical downscaling / bias correction, vectorized over grid cells (pure numpy)
|
|
5
5
|
Author: PyCDFt contributors
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -40,6 +40,11 @@ Dynamic: license-file
|
|
|
40
40
|
|
|
41
41
|
# PyCDFt
|
|
42
42
|
|
|
43
|
+
[](https://github.com/relmonta/pycdft/actions/workflows/ci.yml)
|
|
44
|
+
[](https://pypi.org/project/PyCDFt/)
|
|
45
|
+
[](https://pypi.org/project/PyCDFt/)
|
|
46
|
+
[](https://github.com/relmonta/pycdft/blob/main/LICENSE)
|
|
47
|
+
|
|
43
48
|
**CDF-t statistical downscaling / bias correction, vectorized over grid cells
|
|
44
49
|
(pure numpy).**
|
|
45
50
|
|
|
@@ -69,9 +74,11 @@ ds = model.fit_transform(obs, cm_hist, cm_future) # (1000,) downscaled series
|
|
|
69
74
|
## Installation
|
|
70
75
|
|
|
71
76
|
```bash
|
|
72
|
-
pip install
|
|
73
|
-
#
|
|
74
|
-
|
|
77
|
+
pip install pycdft # from PyPI (numpy only)
|
|
78
|
+
pip install "pycdft[gpu]" # + optional torch GPU backend
|
|
79
|
+
# or from this repository:
|
|
80
|
+
pip install . # core only
|
|
81
|
+
pip install -e ".[test]" # editable, with the test tools
|
|
75
82
|
```
|
|
76
83
|
|
|
77
84
|
Requires Python ≥ 3.9 and `numpy>=1.20`. The core has **no other
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyCDFt
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: CDF-t statistical downscaling / bias correction, vectorized over grid cells (pure numpy)
|
|
5
5
|
Author: PyCDFt contributors
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -40,6 +40,11 @@ Dynamic: license-file
|
|
|
40
40
|
|
|
41
41
|
# PyCDFt
|
|
42
42
|
|
|
43
|
+
[](https://github.com/relmonta/pycdft/actions/workflows/ci.yml)
|
|
44
|
+
[](https://pypi.org/project/PyCDFt/)
|
|
45
|
+
[](https://pypi.org/project/PyCDFt/)
|
|
46
|
+
[](https://github.com/relmonta/pycdft/blob/main/LICENSE)
|
|
47
|
+
|
|
43
48
|
**CDF-t statistical downscaling / bias correction, vectorized over grid cells
|
|
44
49
|
(pure numpy).**
|
|
45
50
|
|
|
@@ -69,9 +74,11 @@ ds = model.fit_transform(obs, cm_hist, cm_future) # (1000,) downscaled series
|
|
|
69
74
|
## Installation
|
|
70
75
|
|
|
71
76
|
```bash
|
|
72
|
-
pip install
|
|
73
|
-
#
|
|
74
|
-
|
|
77
|
+
pip install pycdft # from PyPI (numpy only)
|
|
78
|
+
pip install "pycdft[gpu]" # + optional torch GPU backend
|
|
79
|
+
# or from this repository:
|
|
80
|
+
pip install . # core only
|
|
81
|
+
pip install -e ".[test]" # editable, with the test tools
|
|
75
82
|
```
|
|
76
83
|
|
|
77
84
|
Requires Python ≥ 3.9 and `numpy>=1.20`. The core has **no other
|
|
@@ -6,6 +6,7 @@ Makefile
|
|
|
6
6
|
README.md
|
|
7
7
|
pyproject.toml
|
|
8
8
|
.github/workflows/ci.yml
|
|
9
|
+
.github/workflows/release.yml
|
|
9
10
|
PyCDFt.egg-info/PKG-INFO
|
|
10
11
|
PyCDFt.egg-info/SOURCES.txt
|
|
11
12
|
PyCDFt.egg-info/dependency_links.txt
|
|
@@ -21,9 +22,6 @@ examples/example_ibicus_compare.py
|
|
|
21
22
|
examples/example_r_gaussian.py
|
|
22
23
|
examples/example_skewed.py
|
|
23
24
|
examples/gpu_example.py
|
|
24
|
-
examples/figures/example_grid.png
|
|
25
|
-
examples/figures/example_r_gaussian.png
|
|
26
|
-
examples/figures/example_skewed.png
|
|
27
25
|
pycdft/__init__.py
|
|
28
26
|
pycdft/api.py
|
|
29
27
|
pycdft/core.py
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# PyCDFt
|
|
2
2
|
|
|
3
|
+
[](https://github.com/relmonta/pycdft/actions/workflows/ci.yml)
|
|
4
|
+
[](https://pypi.org/project/PyCDFt/)
|
|
5
|
+
[](https://pypi.org/project/PyCDFt/)
|
|
6
|
+
[](https://github.com/relmonta/pycdft/blob/main/LICENSE)
|
|
7
|
+
|
|
3
8
|
**CDF-t statistical downscaling / bias correction, vectorized over grid cells
|
|
4
9
|
(pure numpy).**
|
|
5
10
|
|
|
@@ -29,9 +34,11 @@ ds = model.fit_transform(obs, cm_hist, cm_future) # (1000,) downscaled series
|
|
|
29
34
|
## Installation
|
|
30
35
|
|
|
31
36
|
```bash
|
|
32
|
-
pip install
|
|
33
|
-
#
|
|
34
|
-
|
|
37
|
+
pip install pycdft # from PyPI (numpy only)
|
|
38
|
+
pip install "pycdft[gpu]" # + optional torch GPU backend
|
|
39
|
+
# or from this repository:
|
|
40
|
+
pip install . # core only
|
|
41
|
+
pip install -e ".[test]" # editable, with the test tools
|
|
35
42
|
```
|
|
36
43
|
|
|
37
44
|
Requires Python ≥ 3.9 and `numpy>=1.20`. The core has **no other
|
|
@@ -175,10 +175,11 @@
|
|
|
175
175
|
<!-- 3 ============================================================ -->
|
|
176
176
|
<section id="install">
|
|
177
177
|
<h2>3. Installation</h2>
|
|
178
|
-
<p>You need Python 3.9 or newer.
|
|
179
|
-
<pre><code>pip install
|
|
180
|
-
pip install
|
|
181
|
-
|
|
178
|
+
<p>You need Python 3.9 or newer. The core is <strong>numpy only</strong>:</p>
|
|
179
|
+
<pre><code>pip install pycdft # from PyPI
|
|
180
|
+
pip install "pycdft[gpu]" # + optional torch GPU backend
|
|
181
|
+
pip install -e ".[test]" # development install (from the repository)</code></pre>
|
|
182
|
+
<p>(The quotes keep shells such as zsh from interpreting the brackets.) Optional extras:</p>
|
|
182
183
|
<table>
|
|
183
184
|
<tr><th>Extra</th><th>What it adds</th></tr>
|
|
184
185
|
<tr><td><code>[gpu]</code></td><td>torch, for the GPU backend (<code>pycdft.gpu</code>). For a specific build (ROCm, CPU-only) install that torch first — see §8.</td></tr>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|