Repository navigation
Release 1.1.0 - #195
Merged
Merged
Release 1.1.0#195
Conversation
1.0.0 published the likelihood. This publishes the fitting layer, so that `pip install hjcfit[fitting]` means something: on PyPI the extra does not exist yet, and the command warns and installs the bare likelihood, which is the quiet kind of failure -- a working import, and the gap found later at read_idealized_bursts. Since 1.0.0: #186 read_idealized_bursts segments the record's periods rather than its resolved intervals, and needs dcio alone rather than dcio and scalcs. No shipped record has a sub-conductance level, so this changes nothing for them; it removes a way for the next one to be read wrongly and silently. #187 simplex_hjc, a port of SIMPHJC.FOR -- the search that produced every published HJCFIT result, and not SciPy's Nelder-Mead. #189 SWIG taken from PyPI on macOS rather than Homebrew. #192 that simplex made usable: documented at all for the first time, given reset_out_of_range for the limits the Fortran program applied around it, and tested end to end against the C++ likelihood rather than only against quadratics. #193 a [fitting] extra rather than hard dependencies, so the likelihood keeps needing nothing but numpy and scipy. #194 HJCFitter, FitResult and Record, lifted from the reproduction of Colquhoun, Hatton & Hawkes (2003). Duck-typed on a mechanism, so the fitting layer imports no mechanism library. The extra needs scalcs>=1.2.0 and dcio>=0.1.2, both released and both pinned for a reason recorded in pyproject.toml: the looser pins resolved and then failed on a missing attribute. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
1.0.0 published the likelihood. This publishes the fitting layer, so that
pip install hjcfit[fitting]means something — on PyPI the extra does notexist yet, and the command warns and installs the bare likelihood. That is the
quiet kind of failure: a working import, and the gap found later at
read_idealized_bursts.read_idealized_burstssegments the record's periods, not its resolved intervals, and needs dcio alone rather than dcio and scalcssimplex_hjc— a port ofSIMPHJC.FOR, the search that produced every published HJCFIT result, and not SciPy's Nelder–Meadreset_out_of_rangefor the limits the Fortran program applied around it, and tested end to end against the C++ likelihood rather than only against quadratics[fitting]extra rather than hard dependencies, so the likelihood keeps needing nothing but numpy and scipyHJCFitter,FitResult,Record— lifted from the CHH 2003 reproduction, duck-typed on a mechanism so the fitting layer imports no mechanism libraryThe extra needs
scalcs>=1.2.0anddcio>=0.1.2, both released, and bothpinned for a reason recorded in
pyproject.toml: the looser pins resolved andthen failed on a missing attribute.
82 tests passing.
The tag gate added in #193 is what caught that
pyproject.tomlstill said1.0.0 — a
v1.1.0tag against it would have failed the publish job rather thanshipping a mislabelled release.
🤖 Generated with Claude Code