Skip to content

Releases: PyFstat/PyFstat

v2.2.1

24 Feb 17:56
8387473
Compare
Choose a tag to compare

This is the v2.2.1 release of PyFstat, a python package for gravitational-wave data analysis with the F-statistic, dated 24/02/2025.

This release supports python versions from 3.9 to 3.12.
Python 3.13 support is pending on our key dependency LALSuite adopting it.

From the changelog:

  • Fixed some detection statistic / output values corner cases.
    • E.g. in case the user wants twoFX (via singleFstats option), but not BSGL.
    • This includes fixes for regressions in 2.2.0.
  • Added t0_MP and tau_MP max-posterior estimates in transient outputs, following lalpulsar conventions.
    • Correspondingly, renamed the max-likelihood values to t0_ML and tau_ML.
  • Added support for BtSG detection statistic in SearchOverGridFile.
  • Improved logging of grid search classes.
  • Added utils.translate_keys_to_lal() function.

For a list of known issues, or to report any problems, please see: https://github.com/PyFstat/PyFstat/issues

v2.2.0

08 Jan 14:02
27d2c5d
Compare
Choose a tag to compare

This is the v2.2.0 release of PyFstat, a python package for gravitational-wave data analysis with the F-statistic, dated 08/01/2025.

This release supports python versions from 3.9 to 3.12.
Python 3.13 support is pending on our key dependency LALSuite adopting it.

From the changelog:

  • Changed the core F-stat functions to alternatively take parameter-space points as dictionaries.
    The old individual arguments are still supported, but deprecated and will be removed in a future version.
  • Added new function utils.plot_spectrogram.
  • Added support for spindown orders >3 in Writer and search classes (up to lalpulsar.PULSAR_MAX_SPINS).
  • Added SearchOverGridFile class that can read a grid file following the format of lalpulsar_ComputeFStatistic_v2.
  • Some internal refactoring of code between mcmc, grid and core classes.
  • Updated various dependencies, mostly for developers.
  • Pinned chainconsumer dependency to <1.0.
  • Added codespell to pre-commit hooks.
  • Fixed some deprecations and code-formatting issues.
  • Extended tests.
  • Changed tutorial notebooks plotting from pcolorfast to pcolormesh.

For a list of known issues, or to report any problems, please see: https://github.com/PyFstat/PyFstat/issues

v2.1.0

04 Jul 07:37
d3f2c9f
Compare
Choose a tag to compare

This is the v2.1.0 release of PyFstat, a python package for gravitational-wave data analysis with the F-statistic, dated 04/07/2024.

This is a maintenance release for updating python and numpy compatibility and fixing minor bugs. This release now supports python versions from 3.9 to 3.12 (python 3.8 no longer supported).

From the changelog:

  • Dropped python 3.8 support.
  • Enabled python 3.12 support.
  • Enabled support for numpy >=1.24.0 as long as it's still <2.0.
  • Fixed binder notebooks.
  • Fixes to some MCMC plotting methods in case of returning fig and axes (rather than saving to files).
  • Fix for transient parameters in get_predict_fstat_parameters_from_dict().
  • for developers: upgraded to black 24 style, refactored and updated the github actions.

For a list of known issues, or to report any problems, please see: https://github.com/PyFstat/PyFstat/issues

v2.1.0rc1

03 Jul 16:16
85529b7
Compare
Choose a tag to compare
v2.1.0rc1 Pre-release
Pre-release

This is a pre-release for the v2.1.0 release of PyFstat, a python package for gravitational-wave data analysis with the F-statistic, dated 03/07/2024.

This is a maintenance release for updating python and numpy compatibility and fixing minor bugs. This release now supports python versions from 3.9 to 3.12 (python 3.8 no longer supported).

From the changelog:

  • Dropped python 3.8 support.
  • Enabled python 3.12 support.
  • Enabled support for numpy >=1.24.0 as long as it's still <2.0.
  • Fixed binder notebooks.
  • Fixes to some MCMC plotting methods in case of returning fig and axes (rather than saving to files).
  • Fix for transient parameters in get_predict_fstat_parameters_from_dict().
  • for developers: upgraded to black 24 style, refactored and updated the github actions.

For a list of known issues, or to report any problems, please see: https://github.com/PyFstat/PyFstat/issues

v2.0.2

12 Oct 10:31
25e2214
Compare
Choose a tag to compare

This is the v2.0.2 release of PyFstat, a python package for gravitational-wave data analysis with the F-statistic, dated 12/10/2023.

This release supports python versions from 3.8 to 3.11.

From the changelog:

  • Pinned to python<3.12 until more dependencies are updated and a few things fixed on our end.

For a list of known issues, or to report any problems, please see: https://github.com/PyFstat/PyFstat/issues

v2.0.1

11 Oct 17:22
9351583
Compare
Choose a tag to compare

This is the v2.0.1 release of PyFstat, a python package for gravitational-wave data analysis with the F-statistic, dated 11/10/2023.

This release supports python versions from 3.8 to 3.11.

From the changelog:

  • Fixed compatibility with matplotlib=3.8 and bumped minimum requirement to >=3.3.
  • Fixed pulling in ephemerides via lalpulsar optional dependency.
  • Fixed line simulation in "generating noise" tutorial.
  • Fixed some type checks to conform to flake8>=1.7 standards.
  • PyPI uploads now done using "trusted publishing" (OIDC).

For a list of known issues, or to report any problems, please see: https://github.com/PyFstat/PyFstat/issues

v2.0.1rc1

11 Oct 16:54
e475b2a
Compare
Choose a tag to compare
v2.0.1rc1 Pre-release
Pre-release

This is a pre-release for the v2.0.1 release of PyFstat, a python package for gravitational-wave data analysis with the F-statistic, dated 11/10/2023. This is mainly for testing an updated PyPI uploading procedure.

v2.0.0

18 Apr 15:12
f5f0480
Compare
Choose a tag to compare

This is the v2.0.0 release of PyFstat, a python package for gravitational-wave data analysis with the F-statistic, dated 18/04/2023.

This release supports python versions from 3.8 to 3.11.

This is a major release of PyFstat in the sense that users will likely have to make some changes to the way they call it, but mostly just regarding class instance labels / file naming.

From the changelog:

  • Mainly, we follow the recent lalpulsar upgrade to v3 of the SFT file format specification (see https://dcc.ligo.org/T040164-v2/public and note the v2 in the URL is not a typo, this file version describes both the v2 and v3 specifications).
    • We now require lalsuite>=7.13.
    • The file format update itself is fully backwards compatible: the only change is including window information in the header, which however reuses existing padding bytes, and hence does not affect compatibility.
    • The file naming convention however has become more restrictive: SFT files, and hence label arguments for Writer and derived classes, now may only contain ASCII alphanumerical characters, which specifically makes the old PyFstat habit of using underscores illegal. We suggest CamelCase instead.
    • Instead of SFTWindowBeta, one must now use SFTWindowParam.
    • noiseSFTs no longer requires SFTWindow[Beta/Param], only if a window specification cannot be read from the headers of input SFTs.
  • Fixed an error that prevented one parameter to be printed in search output file header comments.
  • Fixed compatibility with corner=2.2.2.
  • Removed utils.get_lal_exec(), now always expect executables to be named lalpulsar_. (Old LALSuite versions with lalapps_ CW executables are quite outdated by now.)
  • Removed deprecated prior formats in InjectionParametersGenerator class.
  • Transient F-stat GPU implementation:
    • Introduced F-stat condition number check, with threshold equivalent to defaults of XLALComputeAntennaPatternSqrtDeterminant() and estimateAntennaPatternConditionNumber().
    • Now falls back to F=2 (2F=4) if Ddinv=0, also equivalent to lalpulsar.
    • Added unit tests.
    • Improved CUDA device info logging.
  • For developers: updated coding style to black 23.1.0 rules (mostly newlines policy).

For a list of known issues, or to report any problems, please see: https://github.com/PyFstat/PyFstat/issues

v1.19.1

19 Dec 14:27
97c1c42
Compare
Choose a tag to compare

This is the v1.19.1 release of PyFstat, a python package for gravitational-wave data analysis with the F-statistic, dated 19/12/2022.

This release supports python versions from 3.8 to 3.11.

The only change since v1.19.0 is that we've pinned, until further notice, to numpy<1.24.0 to avoid incompatibility with ptemcee.

Previous changes, from the changelog of v1.19.0:

  • LALSuite is introducing an SFT specification and filename update
    • see https://dcc.ligo.org/T040164-v2/public
    • This version of PyFstat is pinned to lalsuite<=7.11 (or lalpulsar<6.0) so that it is ensured to keep working with the old convention.
    • Next PyFstat release will adapt to the LALSuite changes.
    • Added get_official_sft_filename() utility function to ease migration.
  • Improvements to injection_parameters module with new priors logic (see documentation); old input style still supported for now but deprecated.
  • Writer: improved timestamps handling: support 1-column format (without nanoseconds), which has been the LALPulsar default for a while.
  • Changed ComputeFstat.write_atoms_to_file() method to use consistent %% comment markers.
  • Fixed segfault in get_semicoherent_single_IFO_twoFs() with recent LALSuite (need to properly copy FstatAtomVector struct).
  • Fixed TransientGridSearch when not setting any actual transient parameters.
  • Added (h0,cosi)<->(aplus,across) functions to utils.converting.
  • Added utils.atom submodule with tools related to F-stat atoms.
  • utils.get_sft_as_arrays() now user-accessible
  • Writer: warning about inferring parameters (in noiseSFTs is not None case) downgraded to info message
  • improvements to documentation and test suite

For a list of known issues, or to report any problems, please see: https://github.com/PyFstat/PyFstat/issues

v1.19.0

01 Dec 19:26
1458a1f
Compare
Choose a tag to compare

This is the v1.19.0 release of PyFstat, a python package for gravitational-wave data analysis with the F-statistic, dated 01/12/2022.

This release supports python versions from 3.8 to 3.11.

From the changelog:

  • LALSuite is introducing an SFT specification and filename update
    • see https://dcc.ligo.org/T040164-v2/public
    • This version of PyFstat is pinned to lalsuite<=7.11 (or lalpulsar<6.0) so that it is ensured to keep working with the old convention.
    • Next PyFstat release will adapt to the LALSuite changes.
    • Added get_official_sft_filename() utility function to ease migration.
  • Improvements to injection_parameters module with new priors logic (see documentation); old input style still supported for now but deprecated.
  • Writer: improved timestamps handling: support 1-column format (without nanoseconds), which has been the LALPulsar default for a while.
  • Changed ComputeFstat.write_atoms_to_file() method to use consistent %% comment markers.
  • Fixed segfault in get_semicoherent_single_IFO_twoFs() with recent LALSuite (need to properly copy FstatAtomVector struct).
  • Fixed TransientGridSearch when not setting any actual transient parameters.
  • Added (h0,cosi)<->(aplus,across) functions to utils.converting.
  • Added utils.atom submodule with tools related to F-stat atoms.
  • utils.get_sft_as_arrays() now user-accessible
  • Writer: warning about inferring parameters (in noiseSFTs is not None case) downgraded to info message
  • improvements to documentation and test suite

For a list of known issues, or to report any problems, please see: https://github.com/PyFstat/PyFstat/issues