From 46b55d20f22e2d49c57f60d908414df80defc0e2 Mon Sep 17 00:00:00 2001 From: Leif Denby Date: Tue, 9 Jun 2026 14:50:42 +0200 Subject: [PATCH 1/2] fix: remove testpypi publish workflow --- .github/workflows/testpypi.yml | 49 --- docs/config_diagram.svg | 745 ++++++++++++++++----------------- 2 files changed, 372 insertions(+), 422 deletions(-) delete mode 100644 .github/workflows/testpypi.yml diff --git a/.github/workflows/testpypi.yml b/.github/workflows/testpypi.yml deleted file mode 100644 index 17f7b34..0000000 --- a/.github/workflows/testpypi.yml +++ /dev/null @@ -1,49 +0,0 @@ -### CI actions are pinned to immutable commit hashes, not mutable tags, to reduce supply-chain risk and help prevent LLM-based CI attacks. See https://github.com/lirantal/pypi-security-best-practices#13-secure-your-cicd-release-pipeline. -name: publish to testpypi - -on: - push: - branches: - - main - -jobs: - build: - name: build package - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 - with: - fetch-depth: 0 - fetch-tags: true - - - uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 - with: - enable-cache: true - - - run: uv build - - - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 - with: - name: package-dist - path: dist/* - - publish: - name: publish package to TestPyPI - needs: build - runs-on: ubuntu-latest - environment: testpypi - permissions: - id-token: write - steps: - - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 - with: - name: package-dist - path: dist - - # Requires TestPyPI Trusted Publishing to be configured for this GitHub - # repository/workflow/environment on test.pypi.org. The `id-token: write` - # permission above lets this action request an OIDC token, in place of a - # PYPI_TOKEN repository secret. - - uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # 1.14.0 - with: - repository-url: https://test.pypi.org/legacy/ diff --git a/docs/config_diagram.svg b/docs/config_diagram.svg index 76275eb..64182fb 100644 --- a/docs/config_diagram.svg +++ b/docs/config_diagram.svg @@ -1,479 +1,478 @@ - - - - -%3 - + + + + 2 - - -Config: - ConvGruModel - - -input_channels - -1 - - -num_blocks - -5 - - -noisy_decoder - -False + + +Config: + ConvGruModel + + +input_channels + +1 + + +num_blocks + +5 + + +noisy_decoder + +False 1 - - -Config: - NowcastLightningModule - - -network - - - - - -ensemble_size - -2 - - -loss_class - -'crps' - - -loss_params - - - -dict - - -'temporal_lambda' - -0.01 - - -masked_loss - -True - - -optimizer - - - - - -lr_scheduler - - - + + +Config: + NowcastLightningModule + + +network + + + + + +ensemble_size + +2 + + +loss_class + +'crps' + + +loss_params + + + +dict + + +'temporal_lambda' + +0.01 + + +masked_loss + +True + + +optimizer + + + + + +lr_scheduler + + + 1:c--2:c - + 3 - - -Partial: - Adam - - -lr - -0.0001 - - -fused - -True + + +Partial: + Adam + + +lr + +0.0001 + + +fused + +True 1:c--3:c - + 4 - - -Partial: - ReduceLROnPlateau - - -mode - -'min' - - -factor - -0.5 - - -patience - -10 + + +Partial: + ReduceLROnPlateau + + +mode + +'min' + + +factor + +0.5 + + +patience + +10 1:c--4:c - + 0 - - -Config: - Experiment - - -pl_module - - - - - -data - - - - - -trainer - - - + + +Config: + Experiment + + +pl_module + + + + + +data + + + + + +trainer + + + 0:c--1:c - + 5 - - -Config: - SourceDataDataModule - - -dataset_factory - - - - - -splits - - - -dict - - -'time' - - - -dict - - -'train' - -0.7 - - -'val' - -0.15 - - -'test' - -0.15 - - -batch_size - -16 - - -num_workers - -8 - - -pin_memory - -True + + +Config: + SourceDataDataModule + + +dataset_factory + + + + + +splits + + + +dict + + +'time' + + + +dict + + +'train' + +0.7 + + +'val' + +0.15 + + +'test' + +0.15 + + +batch_size + +16 + + +num_workers + +8 + + +pin_memory + +True 0:c--5:c - + 7 - - -Config: - Trainer - - -accelerator - -'auto' - - -logger - - - - - -callbacks - - - -list - - - - - - - - - - - - - - -0 - - -1 - - -2 - - -3 - - -max_epochs - -100 + + +Config: + Trainer + + +accelerator + +'auto' + + +logger + + + + + +callbacks + + + +list + + + + + + + + + + + + + + +0 + + +1 + + +2 + + +3 + + +max_epochs + +100 0:c--7:c - + 6 - - -Partial: - SourceDataPrecomputedSamplingDataset - - -zarr_path - -'./data/radar.zarr' - - -csv_path - -'./data/sampled_datacubes.csv' - - -standard_names - - - -list - -'rainfall_rate' - - -0 - - -input_steps - -6 - - -forecast_steps - -12 - - -return_mask - -True - - -deterministic - -False + + +Partial: + SourceDataPrecomputedSamplingDataset + + +zarr_path + +'./data/radar.zarr' + + +csv_path + +'./data/sampled_datacubes.csv' + + +standard_names + + + +list + +'rainfall_rate' + + +0 + + +input_steps + +6 + + +forecast_steps + +12 + + +return_mask + +True + + +deterministic + +False 5:c--6:c - + 8 - - -Config: - TensorBoardLogger - - -save_dir - -'logs' - - -name - -'mlcast' + + +Config: + TensorBoardLogger + + +save_dir + +'logs' + + +name + +'mlcast' 7:c--8:c - + 9 - - -Config: - ModelCheckpoint - - -monitor - -'val_loss' - - -save_top_k - -1 - - -mode - -'min' + + +Config: + ModelCheckpoint + + +monitor + +'val_loss' + + +save_top_k + +1 + + +mode + +'min' 7:c--9:c - + 10 - - -Config: - ModelCheckpoint - - -monitor - -'train_loss_epoch' - - -save_top_k - -1 - - -mode - -'min' + + +Config: + ModelCheckpoint + + +monitor + +'train_loss_epoch' + + +save_top_k + +1 + + +mode + +'min' 7:c--10:c - + 11 - - -Config: - EarlyStopping - - -monitor - -'val_loss' - - -patience - -100 - - -mode - -'min' + + +Config: + EarlyStopping + + +monitor + +'val_loss' + + +patience + +100 + + +mode + +'min' 7:c--11:c - + 12 - - -Config: - LearningRateMonitor - - -logging_interval - -'step' + + +Config: + LearningRateMonitor + + +logging_interval + +'step' 7:c--12:c - + From 5864a0289d3789a5101df41097ba8c1656f3c38b Mon Sep 17 00:00:00 2001 From: Leif Denby Date: Tue, 9 Jun 2026 14:54:32 +0200 Subject: [PATCH 2/2] diagram should be unchanged --- docs/config_diagram.svg | 745 ++++++++++++++++++++-------------------- 1 file changed, 373 insertions(+), 372 deletions(-) diff --git a/docs/config_diagram.svg b/docs/config_diagram.svg index 64182fb..76275eb 100644 --- a/docs/config_diagram.svg +++ b/docs/config_diagram.svg @@ -1,478 +1,479 @@ - - - - - + + + +%3 + 2 - - -Config: - ConvGruModel - - -input_channels - -1 - - -num_blocks - -5 - - -noisy_decoder - -False + + +Config: + ConvGruModel + + +input_channels + +1 + + +num_blocks + +5 + + +noisy_decoder + +False 1 - - -Config: - NowcastLightningModule - - -network - - - - - -ensemble_size - -2 - - -loss_class - -'crps' - - -loss_params - - - -dict - - -'temporal_lambda' - -0.01 - - -masked_loss - -True - - -optimizer - - - - - -lr_scheduler - - - + + +Config: + NowcastLightningModule + + +network + + + + + +ensemble_size + +2 + + +loss_class + +'crps' + + +loss_params + + + +dict + + +'temporal_lambda' + +0.01 + + +masked_loss + +True + + +optimizer + + + + + +lr_scheduler + + + 1:c--2:c - + 3 - - -Partial: - Adam - - -lr - -0.0001 - - -fused - -True + + +Partial: + Adam + + +lr + +0.0001 + + +fused + +True 1:c--3:c - + 4 - - -Partial: - ReduceLROnPlateau - - -mode - -'min' - - -factor - -0.5 - - -patience - -10 + + +Partial: + ReduceLROnPlateau + + +mode + +'min' + + +factor + +0.5 + + +patience + +10 1:c--4:c - + 0 - - -Config: - Experiment - - -pl_module - - - - - -data - - - - - -trainer - - - + + +Config: + Experiment + + +pl_module + + + + + +data + + + + + +trainer + + + 0:c--1:c - + 5 - - -Config: - SourceDataDataModule - - -dataset_factory - - - - - -splits - - - -dict - - -'time' - - - -dict - - -'train' - -0.7 - - -'val' - -0.15 - - -'test' - -0.15 - - -batch_size - -16 - - -num_workers - -8 - - -pin_memory - -True + + +Config: + SourceDataDataModule + + +dataset_factory + + + + + +splits + + + +dict + + +'time' + + + +dict + + +'train' + +0.7 + + +'val' + +0.15 + + +'test' + +0.15 + + +batch_size + +16 + + +num_workers + +8 + + +pin_memory + +True 0:c--5:c - + 7 - - -Config: - Trainer - - -accelerator - -'auto' - - -logger - - - - - -callbacks - - - -list - - - - - - - - - - - - - - -0 - - -1 - - -2 - - -3 - - -max_epochs - -100 + + +Config: + Trainer + + +accelerator + +'auto' + + +logger + + + + + +callbacks + + + +list + + + + + + + + + + + + + + +0 + + +1 + + +2 + + +3 + + +max_epochs + +100 0:c--7:c - + 6 - - -Partial: - SourceDataPrecomputedSamplingDataset - - -zarr_path - -'./data/radar.zarr' - - -csv_path - -'./data/sampled_datacubes.csv' - - -standard_names - - - -list - -'rainfall_rate' - - -0 - - -input_steps - -6 - - -forecast_steps - -12 - - -return_mask - -True - - -deterministic - -False + + +Partial: + SourceDataPrecomputedSamplingDataset + + +zarr_path + +'./data/radar.zarr' + + +csv_path + +'./data/sampled_datacubes.csv' + + +standard_names + + + +list + +'rainfall_rate' + + +0 + + +input_steps + +6 + + +forecast_steps + +12 + + +return_mask + +True + + +deterministic + +False 5:c--6:c - + 8 - - -Config: - TensorBoardLogger - - -save_dir - -'logs' - - -name - -'mlcast' + + +Config: + TensorBoardLogger + + +save_dir + +'logs' + + +name + +'mlcast' 7:c--8:c - + 9 - - -Config: - ModelCheckpoint - - -monitor - -'val_loss' - - -save_top_k - -1 - - -mode - -'min' + + +Config: + ModelCheckpoint + + +monitor + +'val_loss' + + +save_top_k + +1 + + +mode + +'min' 7:c--9:c - + 10 - - -Config: - ModelCheckpoint - - -monitor - -'train_loss_epoch' - - -save_top_k - -1 - - -mode - -'min' + + +Config: + ModelCheckpoint + + +monitor + +'train_loss_epoch' + + +save_top_k + +1 + + +mode + +'min' 7:c--10:c - + 11 - - -Config: - EarlyStopping - - -monitor - -'val_loss' - - -patience - -100 - - -mode - -'min' + + +Config: + EarlyStopping + + +monitor + +'val_loss' + + +patience + +100 + + +mode + +'min' 7:c--11:c - + 12 - - -Config: - LearningRateMonitor - - -logging_interval - -'step' + + +Config: + LearningRateMonitor + + +logging_interval + +'step' 7:c--12:c - +