[chore] Stricter ruff rules (#282)

* [chore] Stricter ruff rules

* [chore] Furture lint rules and removal of flake8

* [ci] Bump github action versions

* [chore] Add additional test coverage

* Revert RNG switch to np.random.default_rng()

Restore use of the global np.random state in pseudo_Obs (misc.py) and the
prior id generation (fits.py), keeping seed behavior unchanged. The switch
to a module-local generator is out of scope for this lint-focused PR.

* Silence NPY002 on intentional legacy np.random calls

The RNG migration was reverted to keep np.random.seed() behavior, so add
per-line noqa: NPY002 on the three legacy np.random calls instead of the
Generator API.

* [Fix] Fix exception messages
This commit is contained in:
Fabian Joswig 2026-07-06 11:04:28 +02:00 committed by GitHub
commit e72949b69b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
33 changed files with 569 additions and 382 deletions

View file

@ -804,3 +804,18 @@ def test_prune_with_Nones():
for t in range(T):
assert np.all(pruned_then_padded.content[t] == padded_then_pruned.content[t])
def test_Corr_padding_default_not_shared():
data = [pe.pseudo_Obs(i + 1, 0.1, "e") for i in range(5)]
c1 = pe.Corr(data)
c2 = pe.Corr(data)
assert c1 is not c2
assert len(c1.content) == len(c2.content) == 5
assert all(a[0] == b[0] for a, b in zip(c1.content, c2.content))
def test_Corr_unhashable():
c = pe.Corr([pe.pseudo_Obs(i + 1, 0.1, "e") for i in range(5)])
with pytest.raises(TypeError):
hash(c)