* [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
* [Fix] Migrate to odrpack because of scipy.odr deprecation in recent
release
* [Fix] Fix behaviour for rank deficient fits. Add test
* [Fix] Relax test_merge_obs tolerance to machine epsilon and update ODR docstring to reference odrpack
* [ci] Re-add -Werror to pytest workflow
* [Fix] Handle platform-dependent rank-deficient warning in ODR tests
* [Fix] Improve rank-deficient detection and bump odrpack to >=0.5
Fix incorrect ODRPACK95 info code parsing: rank deficiency is encoded
in the tens digit (info // 10 % 10), not the hundreds digit. Add
irank and inv_condnum to the warning message for diagnostics.
* [Fix] Pandas 3 string type handling
* [ci] Temporarily remove WError because of scipy deprecation
* [Fix] Address edge cases in _deserialize_df
- Use pd.isna() instead of truthiness check for gzip null guard, fixing
incorrect behavior when null is np.nan (which is truthy in Python)
- Add bounds check to while loop to prevent IndexError when all non-null
values are empty strings converted to None by regex replace
* [Fix] Address edge cases in _deserialize_df and add string dtype tests
- Guard against IndexError on empty DataFrames and all-null columns
- Use is not None instead of pd.isna() for Obs objects in auto_gamma
- Add tests for string dtype columns (with/without None, CSV and SQL)
- Add test for empty DataFrame deserialization
* [Fix] Avoid skipping NA-to-None conversion and guard auto_gamma against None lists
- Replace continue with conditional to preserve NA-to-None conversion for all-null columns
- Guard auto_gamma list lambda against None values to prevent TypeError
- Add tests for all-empty-string columns and Obs lists with None + auto_gamma
* [ci] Add python 3.14 runners for pytest workflow
* [ci] Deactivate -Werror option in pytest workflow to fix python 3.14
runner
* [ci] Run tests with Werror for all python versions but for 3.14
* [CI] Speed up install phase by using uv
* [CI] Use uv in examples workflow
* [CI] Fix yml syntax
* [CI] Install uv into system env
* [CI] Add system install for examples workflow
* make template
* read_sfcf_multi running with compact format
* fix append mode, norrmal tests work
* improve readability
* add simple test for multi_read
* simple multi_test works
* add first method to check sfcf param hashes
* add docstring
* simple test for o format working
* use benedict to make loops easier
* introduce python-benedict as dep
* no nice_out, less error prone, found bug in tests
* Revert "introduce python-benedict as dep"
This reverts commit 9696d68b7a.
* Revert "use benedict to make loops easier"
This reverts commit fa3987479b.
* no nice output after reverts
* [build] Added jkuhl-uni as CODEOWNER for sfcf.
* refactor: flatten internal dicts
* very small test extension
* ...flake8
* docu
* Delete second sep init
---------
Co-authored-by: Fabian Joswig <fabian.joswig@uni-muenster.de>