Repository navigation
Releases: det-lab/phonon-charge-pdf
Release list
v2.0.2
Hotfix: `band_distribution.version` fell back to `"0+unknown"` on every real
install -- `importlib.metadata.version(name)` looked up the import name
instead of the installed PyPI distribution name (`phonon-charge-pdf`), which
are now deliberately different. Hardcodes the lookup to the actual
distribution name.
No other code or physics changes.
v2.0.1
Hotfix: repo-rename URL corrections (pyproject.toml, README.md, CITATION.cff,
ford.md) after det-lab/band_distribution -> det-lab/phonon-charge-pdf, plus the
software's own Zenodo concept DOI added to CITATION.cff
(10.5281/zenodo.23049123).
No code or physics changes. Corrects the stale GitHub URL baked into v2.0.0's
published PyPI metadata.
v2.0.0
Absorbs the non-KDE simulation code extraction from nrFanoII_paper2022 into this
package as a properly-versioned, pip-installable Python library, alongside the
existing Fortran core.
pq_dist_v10.pyrenamed toppq_dist.py, dropping the filename-baked version- Portable Fortran-library loader for pip installs outside a git checkout
- New public
python/event_generator.pymodule (generate_events/generate_NR_events/
generate_ER_events), matching nrFanoII'sgenerate_events()DataFrame contract - CI validates
ppq_dist.pyandevent_generator.pyagainst the compiled Fortran
library on every push band_distributionis pip-installable (pip install -e .[test]); version derived
from the nearest git tag via setuptools-scmPpqPDFnow fails fast and clearly at construction when the Fortran library
isn't available- Published to PyPI as
phonon-charge-pdf
(import name staysband_distribution)
v1.1.5
Closes out the commits accumulated on main since v1.1.4 as a released baseline
before bootstrapping git flow: develop branches off this point, and the 1.1.x
line stays hotfix-able from main up to the v2.0.0 cut.
profile_driver.f90hadp0/p10's values copy-pasted intoq0/q10-- fixedpython/split intointernal/(private) andcli/(table-building tools)- flang 22 CI coverage added, deprecated macos-14 runner swapped for macos-26
- README reorganized around getting started, usage, verification & validation,
and building from source; assorted doc fixes
v1.1.4
Python-only release: no Fortran changes.
- refactor: one clear entrypoint.
python/ppqfort_pdf.py->python/_ppqfort_bindings.py(private, underscore-prefixed, not a public API);make_ppqn_pdf/make_ppqg_pdf->make_ppqn_pdf_unnormalized/make_ppqg_pdf_unnormalized.PpqPDF(python/ppq_pdf.py) is now documented as the one intended entrypoint for a fit or MCMC, both in its own module docstring and in a new README section placed before the testing-mechanics content. - Every test that legitimately needs the raw unnormalized PDF now explains why in a comment at its import, rather than silently modeling the wrong usage pattern for anyone reading the tests to learn the library.
If you pulled v1.1.3, no numerical results are affected — this is a naming/discoverability fix, not a correctness change. Pull v1.1.4 to get the clearer module names and README.
v1.1.3
Stops shipping Intel's ifx compiler in images meant to be published.
- fix:
environment.yamlunconditionally listedifx_linux-64, shared by every Dockerfile -- soDockerfile_llvm, despite compiling with system flang and being chosen specifically to avoid Intel-redistribution questions, was silently shipping ifx binaries.ifx_linux-64is now added only where actually used (Dockerfile_intel/_tau_intel, via an explicitconda installon top of the shared environment). - fix:
Dockerfile_jupyterrewritten to compile with flang ongmao/llvm-flang(same base asDockerfile_llvm) instead of ifx onquay.io/jupyter/base-notebook-- so it can be published too. The documenteddocker runmount point, port, and "Python (band)" kernel are unchanged. - fix:
Dockerfile_intel's own defaultCMDcrashed at container start (LD_LIBRARY_PATHnever included the conda env's lib dir, wherelibiomp5.solives) -- pre-existing, found while verifying this fix. - Verified by building and testing all 5 Dockerfiles, including that ifx is genuinely absent from the llvm and jupyter images and that
Dockerfile_intel's CMD now runs a full chi-square physics test to completion.
v1.1.2
Version reporting and container completeness fixes.
- fix:
PpqFort_version()used to have hand-typed integer constants duplicatingfpm.toml's version field; it drifted (v1.1.0 and v1.1.1 both reported 1.1.0). Now generated fromfpm.tomlbyscripts/generate_version_include.py(every Dockerfile runs it; CI generates it inline for containers with no guaranteed python3).test/python/test_version.pyis the regression guard. - fix:
Dockerfile_jupyterandDockerfile_tau_intelnow fetch the registered normalization tables at build time too (previously only gfortran/intel/llvm did). - fix(ci): fixed the resulting CI breakage from the version-include change (generator step was missing from the workflow entirely on the first push).
- Verified by building and testing all 5 Dockerfiles (gfortran, intel, llvm, jupyter, tau_intel): tables present and hash-correct,
ppqfort_pdf.version()reports (1, 1, 2) in each. - Found but not fixed (pre-existing, unrelated):
Dockerfile_intel's own defaultCMDcrashes at container start — itsLD_LIBRARY_PATHnever includes the conda env's lib dir, wherelibiomp5.solives.
v1.1.1
Fixes v1.1.0, which shipped with a build-breaking bug and an unpopulated table registry.
- fix:
app/profile_region.f90called functions renamed months earlier (PpqN_region_adaptive/PpqG_region_adaptive->PpqN_region/PpqG_region), breakingfpm buildunder every compiler. - feat: the Ep 2.5-350 / Eq 0.75-200 normalization tables are now registered (doi:10.5281/zenodo.23048216) and fetched by name via
python/normtables.py. - docs: a Fits and MCMC with the tables section in the README (prior bounds,
check_points, fit/MAP bounds). - ci: dropped two
flang-21macOS matrix legs that took ~4h per run (no Homebrew bottle available) with no loss of real coverage.