Closed bob-carpenter closed 1 year ago
Merging #16 (ea6ca6e) into main (b6374b4) will increase coverage by
2.08%
. The diff coverage is100.00%
.
@@ Coverage Diff @@
## main #16 +/- ##
==========================================
+ Coverage 95.76% 97.85% +2.08%
==========================================
Files 9 11 +2
Lines 260 280 +20
==========================================
+ Hits 249 274 +25
+ Misses 11 6 -5
Impacted Files | Coverage Δ | |
---|---|---|
bayes_kit/__init__.py | 100.00% <100.00%> (ø) |
|
bayes_kit/autocorr.py | 100.00% <100.00%> (ø) |
|
bayes_kit/ess.py | 100.00% <100.00%> (+9.25%) |
:arrow_up: |
bayes_kit/iat.py | 100.00% <100.00%> (ø) |
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more
This is ready to re-review. I got up to 100% test coverage, which was really useful for making me be more careful defining and testing boundary conditions. I renamed the "internal" function _end_pos_pairs
after @magland pointed out the first name misspecified the function, then documented the boundary conditions, then fixed the function to match the tests. Edit: it also adds anti-correlated tests in a broader range of anti correlations.
Also, this will close issues #15 and #13 and #3 (I added a new issue for the ranked versions and updated #3).
I'm not sure if you'd like to fix them here or in #10 or somewhere else, but I just wanted to note that mypy --strict .
raises 61 errors in this branch. It's about 25 between ess.py
, test_ess.py
and test_autocorrelation.py
, with the rest in the RHat code you don't really touch here
I'l fix the mypy tests. Sorry for skipping bits of the workflow.
Would there be a way to automate (a) black formatting, (b) strict mypy testing, and (c) anything else that's going to cause a PR to be rejected if I forget to do it manually?
I plan on automating that as soon as our current main
branch would pass it, but a lot of the type errors in these files are already checked in there so it wouldn’t be feasible yet
Another question on doc. The extra line space is because emacs thinks the first line of doc should fit on a single line. Should I be forcing the first sentence of doc to fit on a single line? Is it OK if it runs over? black didn't reformat it, but emacs doesn't like it.
I believe the standard is if it takes more than one line, you should add a newline after the opening """
e.g.
"""A single line docstring"""
"""
A docstring which is much longer, taking up
multiple lines or even including multiple sections
"""
Black doesn't touch docstrings, but the python emacs package might have this opinion built-in
Thanks. The examples for the Google-style doc start right after the """
but they're all one-liners. I can try to be more terse if that's the standard in Python.
I wouldn’t sacrifice the level of detail you want to avoid the extra newline. In any programmatic usage (e.g. by Sphinx) leading whitespace is removed from them
I just want to follow conventions which looks like terse first sentences. That's what javadoc wanted, too. I'll see what I can do.
This PR:
It fixes issues #13 and #15.