Skip to content

Shrink PyPI sdist, mask observed NaNs before subtraction, and harden lint runner - #538

Merged
martyn merged 1 commit into
developfrom
fix/review-remediations-pypi-sdist-20261109
Nov 10, 2026
Merged

martyn merged 1 commit into
developfrom
fix/review-remediations-pypi-sdist-20261109

Conversation

@martyn

@martyn martyn commented Nov 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Tiny PyPI distributions (.whl and .tar.gz sdist): Add MANIFEST.in pruning tests/, reports/, benchmarks/, experiments/, docs/, examples/, ops/, scripts/, etc., shrinking the PyPI sdist from 1.7 MB (7.14 MB uncompressed) to ~343 KiB (~373 KiB wheel). Enforce < 600 KB size gates and root allowlists on both artifacts in .github/workflows/tests.yml and tests/test_public_package_imports.py.
  • Pre-subtraction NaN masking in masked_mixture_nll: Mask observed via torch.where(mask.bool(), observed, 0.) before subtracting components[None] so unobserved NaN entries cannot contaminate gradients when observed.requires_grad is True. Export joint_reconstruction_loss, masked_mixture_nll, NeuralComponentImputer, and masked_quantile_transport_loss from top-level particlegan.
  • Lint runner resilience: Fall back to shutil.which('ruff') when sys.executable -m ruff is unavailable and raise a clear RuntimeError instead of JSONDecodeError when Ruff exits with empty stdout.
  • Documentation: Surface the bispf_shape_gates=False ablation readout (reports/prior-ablation-2026-10-25/README.md, Arm A4: 13/49 vs. 19/49 PASS) and link docs/bispf-input-domains.md (input_domain='continuous' | 'categorical') in README.md.

@martyn
martyn merged commit 76c989a into develop Nov 10, 2026
10 checks passed
@martyn
martyn deleted the fix/review-remediations-pypi-sdist-20261109 branch November 10, 2026 05:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant