Fast time-frequency gravitational-wave response package for LISA data analysis with a JAX backend
Project description
jaxtfwaves
JAXTFwaves is the sibling project of tfwaves that is using JAX as backend.
tfwaves
TFWaves is a python package to compute fast time-frequency gravitational-wave response for LISA data analysis. It takes as imput phase and amplitude functions of the gravitational strain in the pseudo-inertial solar system barycenter frame, and outputs time-delay interferometry responses in the time-frequency domain.
Installation
The core package is available on PyPI:
pip install jaxtfwaves
To install a specific plugin, use its named extra:
pip install "jaxtfwaves[sobhbwaveform]" # SOBHB waveforms via ripplegw
# pip install "jaxtfwaves[emriwaveform]" # EMRI waveforms (coming soon)
Or install all available plugins at once:
pip install "jaxtfwaves[plugins]"
Contributing
Development environment
We use uv for dependency management. First clone the repository on your machine and go in the directory:
git clone git@gitlab.in2p3.fr:lisa-apc/tfwaves.git
cd jaxtfwaves
Create the lockfile and synchronize dependencies (including development tools):
uv sync --all-extras --group dev
We recommend you install pre-commit hooks to detect errors before you even commit.
uv run pre-commit install
Then you can run any script using
uv run python your_script.py
Lint and format checks are handled with Ruff:
uv run ruff check src tests
uv run ruff format --check src tests
Alternatively, you can activate the virtual environment by running
source .venv/bin/activate
and deactivate it by just running
deactivate
Alternative local installation
As an alternative to uv-managed environments, you can install the package in development mode when you are in the jaxtfwaves directory:
pip install -e . # core only
pip install -e ".[plugins]" # core + plugins
Publishing to PyPI
-
Build the package (from the repo root):
uv build -
Check the artifacts:
uv run twine check dist/*
-
Upload to TestPyPI first:
uv publish --publish-url https://test.pypi.org/legacy/ --token pypi-YOUR_TEST_TOKEN
Verify the install:
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple jaxtfwaves pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple "jaxtfwaves[plugins]"
-
Upload to PyPI:
uv publish --token pypi-YOUR_TOKEN
-
Tag the release:
git tag v0.1.0 git push origin v0.1.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jaxtfwaves-0.2.0.tar.gz.
File metadata
- Download URL: jaxtfwaves-0.2.0.tar.gz
- Upload date:
- Size: 10.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
925ea7937dab32ba7280b021d11405ef312b6639383603fcfd2384af1459efce
|
|
| MD5 |
37b7fccc1edebf1e9df51de8480bb8d7
|
|
| BLAKE2b-256 |
94d8c66a3d1354bc46b9393c7c13b089baf24465cda53433bd7b362b17e97e6f
|
File details
Details for the file jaxtfwaves-0.2.0-py3-none-any.whl.
File metadata
- Download URL: jaxtfwaves-0.2.0-py3-none-any.whl
- Upload date:
- Size: 35.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a006cc74db706a024b254b43c9d837439ed44a81495f9613b9d8d048822fbda0
|
|
| MD5 |
fa1df19daf4dd257e0f483e2c4fd2cf6
|
|
| BLAKE2b-256 |
bbf7f0857a39681d9dc2d6eaa5536ccfbaace9c2e0692acf10b8b74f4947fa1e
|