[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

@ -19,14 +19,14 @@ Please add docstrings to any new function, class or method you implement. The do
### Tests
When implementing a new feature or fixing a bug please add meaningful tests to the files in the `tests` directory which cover the new code.
We follow the [PEP8](https://peps.python.org/pep-0008/) code style which is checked by `flake8`.
We follow the [PEP8](https://peps.python.org/pep-0008/) code style which is checked by `ruff`.
For all pull requests tests are executed for the most recent python releases via
```
pytest -vv -Werror
pytest --nbmake examples/*.ipynb
flake8 --ignore=E501,W503 --exclude=__init__.py pyerrors
ruff check pyerrors
```
The tests require `pytest`, `pytest-cov`, `pytest-benchmark`, `hypothesis`, `nbmake` and `flake8`. To install the test dependencies one can run `pip install pyerrors[test]`.
The tests require `pytest`, `pytest-cov`, `pytest-benchmark`, `hypothesis` and `nbmake`. To install the test dependencies one can run `pip install pyerrors[test]`. Linting is done with `ruff`, which can be installed via `pip install ruff` or run ad-hoc with `uvx ruff check pyerrors`.
Please make sure that all tests pass for a new pull requests.
To get a coverage report in html run