Commit graph

1,461 commits

Author SHA1 Message Date
Fabian Joswig
5a38851c6b [ci] Add free threaded python interpreter 3.14t to pytest action 2026-07-27 21:26:12 +02:00
Fabian Joswig
c58467aa11
[Fix] Fix off-by-one in Covobs pos bounds check (#288)
* [Fix] Fix off-by-one in Covobs pos bounds check

* [Fix] Also reject negative pos values
2026-07-15 09:34:10 +02:00
Fabian Joswig
470e2c57fc
[Feat] More specific Exception statements (#287)
* [Feat] More specific Exception statements

* [Fix] Address copilot comments
2026-07-06 16:36:56 +02:00
Fabian Joswig
e72949b69b
[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
2026-07-06 11:04:28 +02:00
Fabian Joswig
229ea45ac7
[feat] Relax strict autograd.numpy requirement (#285)
* [feat] Relax strict autograd.numpy requirement

* [Fix] Re-impose --Werror for python 3.14 runs after new autograd release
2026-06-30 08:55:49 +02:00
Justus Kuhlmann
30d109413d
Propose fix for nc/idl map (#284)
* proposed fix for nc/idl map

* correct docs, implement failesafe for therm. trajectories

* lint

* easier test, improve descriptions

* clarify r_step parameterin docs

* add small test for trajectories
2026-05-28 11:37:21 +02:00
Fabian Joswig
b28c2f0b6f
[Fix] Migrate to odrpack because of scipy.odr deprecation (#279)
* [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.
2026-04-19 19:50:36 +02:00
Fabian Joswig
b180dff020 [chore] Bump version to v2.18.0-dev 2026-03-29 20:49:50 +02:00
Fabian Joswig
62f41d0d5f [release] Bump version to 2.17, append CHANGELOG v2.17.0 2026-03-29 20:48:23 +02:00
Fabian Joswig
23d2629801
[CI] Run pytest workflows once per week (#280) 2026-03-29 20:43:59 +02:00
Fabian Joswig
682d23604d
[Fix] Pandas 3 string type changes (#278)
* [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
2026-03-29 18:46:15 +02:00
Justus Kuhlmann
da399b7c02
Fix/check append rep (#277)
* add option that the headers of an append-mode file can have different format

* add tests for irregular headers in append mode

* hotfix: fix bug in append start read implementation

* lint

* lint II
2025-11-25 12:57:03 +01:00
Fabian Joswig
1002dd0e51 [chore] Bump version to v2.17.0-dev 2025-10-30 16:36:09 +01:00
Fabian Joswig
4cdddf0a76 [chore] Bump version and changelog v2.16.0 2025-10-30 16:34:05 +01:00
Justus Kuhlmann
da0a4cc40a
Feat/idl func (#275)
* outsource function to get idl for append mode

* Expose option to define function for idl by the user.

* clean up args

* add tests

* lint
2025-10-30 16:26:52 +01:00
Pia Leonie Jones Petrak
e0076ccea9
[Fix] corrected expected_chisquare by adding the number of priors (#274)
* [Fix] corrected expected_chisquare by adding the number of priors

* test/fits_test.py: dof and expected chisquare the same in uncorrelated fit w. prior to uncorrelated data
2025-10-22 15:36:01 +02:00
Fabian Joswig
85ae9d7563
[chore] Remove support for python 3.9 and bump python versions in runners (#273) 2025-10-19 12:59:20 +02:00
Fabian Joswig
a600a69bb9
[ci] Add python 3.14 runners for pytest workflow (#270)
* [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
2025-10-19 12:44:06 +02:00
Fabian Joswig
4c4173c461 [chore] Bump version to 2.16.0-dev 2025-10-19 12:32:52 +02:00
Fabian Joswig
6c7daac44b Merge branch 'develop' v2.15.1 2025-10-19 12:30:10 +02:00
Fabian Joswig
1d031d0eab [chore] Bump version and update changelog 2025-10-19 12:29:45 +02:00
Ruaidhrí
e0bfcabc0c
pyerrors/correlators.py: Allowing for None values in pe.Corr.prune (#272)
* pyerrors/correlators.py: Allowing for None values in pe.Corr.prune

Closes: fjosw#271

* wip

* test/correlators_test.py: Adding test for updated prune method.

Closes #271
2025-10-19 12:28:36 +02:00
Fabian Joswig
3e955d4976 [chore] Bump version to 2.16.0-dev 2025-10-10 17:38:02 +02:00
Fabian Joswig
dbe5912ca3 Merge branch 'develop' v2.15.0 2025-10-10 17:34:35 +02:00
Fabian Joswig
5bcbe5c2ff [chore] Bump version and update Changelog 2025-10-10 17:34:18 +02:00
Fabian Joswig
cf36d17a00 [CI] Ignore sinc test failure 2025-10-10 17:31:14 +02:00
Fabian Joswig
6521e16901 [CI] Ignore sinc test failure 2025-10-10 17:30:00 +02:00
s-kuberski
68e4633ae0
[Feat] Number of fit parameters can be explicitly passed to the fit functions (#269) 2025-10-09 13:14:17 +02:00
Fabian Joswig
d6e6a435a8
[ci] Re-enable fail on warning for pytest pipeline. (#265)
* [ci] Re-enable fail on warning for pytest pipeline.

* [Fix] Use sqlite3 context managers in pandas module.

* [Fix] Add closing context.
2025-05-05 17:09:40 +02:00
Alexander Puck Neuwirth
8183ee2ef4
setup.py: Drop deprecated license classifiers (#264)
Closes: #263
2025-05-05 10:52:22 +02:00
JanNeuendorf
dcb95265ac
Fixed index in GEVP example (#261)
Co-authored-by: Fabian Joswig <fjosw@users.noreply.github.com>
2025-04-22 10:26:20 +02:00
s-kuberski
934a61e124
[Fix] removed unnecessary lines that raised the flake8 error code F824 (#262)
Co-authored-by: Simon Kuberski <simon.kuberski@cern.ch>
2025-04-22 10:19:14 +02:00
Fabian Joswig
3c36ab08c8 [Version] Bump version to 2.15.0-dev 2025-03-09 12:37:42 +01:00
Fabian Joswig
b2847a1f80 [Release] Bump version to 2.14.0 and update CHANGELOG v2.14.0 2025-03-09 12:35:29 +01:00
s-kuberski
17792418ed
[Fix] Removed the possibility to create an Obs from data on several replica (#258)
* [Fix] Removed the possibility to create an Obs from data on several replica

* [Fix] extended tests and corrected a small bug in the previous commit

---------

Co-authored-by: Simon Kuberski <simon.kuberski@cern.ch>
2025-02-25 16:58:44 +01:00
Fabian Joswig
dd4f8525f7
[CI] Add ARM runner and bump macos runner python version to 3.12 (#260) 2025-02-19 18:23:56 +01:00
s-kuberski
5f5438b563
[Feat] Introduce checks of the provided inverse matrix for correlated fits (#259)
Co-authored-by: Simon Kuberski <simon.kuberski@cern.ch>
2025-02-19 18:15:55 +01:00
s-kuberski
6ed6ce6113
[fix] Corrected an error message (#257)
Co-authored-by: Simon Kuberski <simon.kuberski@cern.ch>
2025-02-13 19:43:56 +01:00
Fabian Joswig
7eabd68c5f
[CI] Speed up test workflow install phase by using uv (#254)
* [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
2025-01-10 09:36:05 +01:00
Justus Kuhlmann
9ff34c27d7
Fix/sfcf ensname (#253)
* correct strings in _get_rep_names, add option for rep_sep

* doc

* add test for rep name getters
2025-01-06 10:46:49 +01:00
Fabian Joswig
997d360db3
[ci] Add ruff workflow (#250)
* [ci] Add ruff workflow

* [ci] Add src for ruff workflow

* [ci] Rename ruff worklow

* [ci] Adjust on for ruff workflow
2024-12-24 17:52:08 +01:00
Fabian Joswig
3eac9214b4
[Fix] Ruff rules and more precise Excpetion types (#248)
* [Fix] Fix test for membership should be 'not in' (E713)

* [Fix] Fix module imported but unused (F401)

* [Fix] More precise Exception types in dirac, obs and correlator
2024-12-24 15:35:59 +01:00
Fabian Joswig
d908508120 [docs] Simplify README 2024-12-18 13:00:06 +01:00
Justus Kuhlmann
b1448a2703
Fix plateaus in correlator (#247) 2024-12-05 22:08:48 +01:00
Fabian Joswig
30bfb55981
[Feat] Provide derivatives for pow (#246)
* [Feat] Provide manual derivatives for __pow__

* [Feat] Also applied changes to rpow

* [Test] Another pow test added.
2024-11-26 17:52:27 +01:00
Fabian Joswig
0ce765a99d [Version] Bumped version to 2.14.0-dev 2024-11-03 17:07:29 +01:00
Fabian Joswig
c057ecffda [Release] Updated changelog and bumped version v2.13.0 2024-11-03 17:03:06 +01:00
Fabian Joswig
47fd72b814
[Build] Release workflow added. (#244) 2024-11-03 16:57:20 +01:00
Fabian Joswig
b43a2cbd34
[ci] Add python 3.13 to pytest workflow. (#242)
* [ci] Add python 3.13 to pytest workflow.

* [ci] Remove py and pyarrow from pytest workflow
2024-10-14 23:27:24 +02:00
s-kuberski
4b1bb0872a
fix: corrected bug that prevented combined fits with multiple x-obs in some cases (#241)
* fix: corrected bug that prevented combined fits with multiple x-obs in some cases

* made test more complex

* [Fix] Slightly increase tolerance for matrix function test.

* Adapt test_merge_idx to compare lists

---------

Co-authored-by: Simon Kuberski <simon.kuberski@cern.ch>
Co-authored-by: Fabian Joswig <fjosw@users.noreply.github.com>
2024-09-13 19:15:59 +02:00