Releases: PyFstat/PyFstat
v2.2.1
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
(viasingleFstats
option), but notBSGL
. - This includes fixes for regressions in 2.2.0.
- E.g. in case the user wants
- Added
t0_MP
andtau_MP
max-posterior estimates in transient outputs, following lalpulsar conventions.- Correspondingly, renamed the max-likelihood values to
t0_ML
andtau_ML
.
- Correspondingly, renamed the max-likelihood values to
- Added support for
BtSG
detection statistic inSearchOverGridFile
. - 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
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 tolalpulsar.PULSAR_MAX_SPINS
). - Added
SearchOverGridFile
class that can read a grid file following the format oflalpulsar_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
topcolormesh
.
For a list of known issues, or to report any problems, please see: https://github.com/PyFstat/PyFstat/issues
v2.1.0
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
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
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
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
v2.0.0
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 forWriter
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 useSFTWindowParam
. noiseSFTs
no longer requiresSFTWindow[Beta/Param]
, only if a window specification cannot be read from the headers of input SFTs.
- We now require
- 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 namedlalpulsar_
. (Old LALSuite versions withlalapps_
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()
andestimateAntennaPatternConditionNumber()
. - Now falls back to F=2 (2F=4) if Ddinv=0, also equivalent to
lalpulsar
. - Added unit tests.
- Improved CUDA device info logging.
- Introduced F-stat condition number check, with threshold equivalent to defaults of
- 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
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
(orlalpulsar<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-accessibleWriter
: warning about inferring parameters (innoiseSFTs 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
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
(orlalpulsar<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-accessibleWriter
: warning about inferring parameters (innoiseSFTs 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