From a182cc9fa90d783914871c8c5a7f571acaf38062 Mon Sep 17 00:00:00 2001 From: Quewakira Date: Wed, 20 May 2026 15:51:29 +0200 Subject: [PATCH 1/6] meaningful changelog --- CHANGELOG.rst | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index b094539..ccd1cf7 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -11,25 +11,33 @@ The rules for spectrakit's CHANGELOG file: .. inclusion-marker-changelog-start -v0.0.5 (XXXX/XX/XX) +v0.1.0 (2026/05/20) ------------------- -- Fix wrong angles in water models (!6) -- Add CI, linting, and testing (!6) -- Fix calculation of the number of particles from the density (!5) -- Fixed a bug in calling SolvatePlanar (!3) -- Fix pbc handling (!2) - -v0.0.4 (2023/04/14) -------------------- -Henrik Jaeger - -- Add SolvatePlanar - -v0.0.3 (2022/11/02) -------------------- -Henrik Jaeger - -- Initial version +Initial release of spectrakit. + +- ReadTheDocs integration with Sphinx documentation (`#16`_). +- Fixed magnitude and Kramers–Kronig sign conventions (`#16`_). +- ``lib/math.py``: phase-correct, physical-units FFT wrappers ``FT``/``iFT``, + ``powerspectrum_from_timeseries``, and ``kramers_kronig`` (`#16`_). +- ``lib/util.py``: ``bin()`` for logarithmic index-based averaging of arrays + (`#16`_). +- ``lib/preprocessing.py``: ``hann_window()`` windowing helper (`#16`_). +- Fixed zero-padding behaviour in the FFT to correctly handle segment + boundaries (`#10`_). +- Standalone ``calculate_spectrum_from_dipole`` and + ``calculate_spectrum_from_current`` functions decoupled from the MDAnalysis + workflow, accepting pre-computed numpy arrays directly (`#6`_). +- ``WienerKhinchin`` alternative analysis class for simpler single-segment + calculations without error estimation (`#6`_). +- GitHub Actions CI pipeline (tests, lint, build, release) (`#1`_). +- ``tox`` environments for tests, lint, formatting, build, and docs. +- seperate spectrum code from maicos. +- ``DielectricSpectrum`` MDAnalysis-based analysis class that computes the + frequency-dependent dielectric susceptibility from an MD trajectory using + segmented averaging (Welford online variance) and Fourier transforms. +- Logarithmic frequency binning via ``bins``/``binafter``/``nobin`` parameters. +- Kramers–Kronig reconstruction of the real part of the susceptibility from + the imaginary part via a Hilbert transform. .. inclusion-marker-changelog-end From 85f88968a00c62d6067e5d64a68ef27e9021c2e9 Mon Sep 17 00:00:00 2001 From: Quewakira Date: Wed, 20 May 2026 15:56:56 +0200 Subject: [PATCH 2/6] rename to spectrumkit --- .github/ISSUE_TEMPLATE/Bug.md | 6 ++-- .github/workflows/build.yml | 2 +- CHANGELOG.rst | 5 ++-- README.rst | 28 +++++++++---------- .../api-documentation/dielectricspectrum.rst | 2 +- docs/src/api-documentation/lib/math.rst | 2 +- docs/src/api-documentation/lib/util.rst | 2 +- .../concepts-explanations/general-design.rst | 2 +- docs/src/concepts-explanations/index.rst | 2 +- docs/src/conf.py | 14 +++++----- examples/mdanalysis_workflow.py | 2 +- pyproject.toml | 16 +++++------ src/{spectrakit => spectrumkit}/__init__.py | 2 +- .../dielectricspectrum.py | 4 +-- src/{spectrakit => spectrumkit}/lib/math.py | 0 .../lib/preprocessing.py | 0 src/{spectrakit => spectrumkit}/lib/util.py | 0 tests/lib/test_math.py | 12 ++++---- tests/tests.py | 2 +- tox.ini | 10 +++---- 20 files changed, 57 insertions(+), 56 deletions(-) rename src/{spectrakit => spectrumkit}/__init__.py (86%) rename src/{spectrakit => spectrumkit}/dielectricspectrum.py (99%) rename src/{spectrakit => spectrumkit}/lib/math.py (100%) rename src/{spectrakit => spectrumkit}/lib/preprocessing.py (100%) rename src/{spectrakit => spectrumkit}/lib/util.py (100%) diff --git a/.github/ISSUE_TEMPLATE/Bug.md b/.github/ISSUE_TEMPLATE/Bug.md index 169d075..de38271 100644 --- a/.github/ISSUE_TEMPLATE/Bug.md +++ b/.github/ISSUE_TEMPLATE/Bug.md @@ -20,14 +20,14 @@ What happened instead. Add as much detail as you can. Include (copy and paste) s **Code to reproduce the behavior**