gwmock-signal¶
A Python package for simulating gravitational wave signals.
Installation¶
We recommend using uv to manage virtual environments for installing
gwmock-signal.
If you don't have uv installed, you can install it with pip. See the project
pages for more details:
- Install via pip:
pip install --upgrade pip && pip install uv - Project pages: uv on PyPI | uv on GitHub
- Full documentation and usage guide: uv docs
Requirements¶
- Python 3.12-3.13 (We adopt the SPEC 0 policy for the Python support version)
- We do not support Python 3.14 because
lalsuitedoes not have a wheel for Python 3.14 yet (#825) - Operating System: Linux, or macOS
Note: The package is built and tested against Python 3.12-3.13. When
creating a virtual environment with uv, specify the Python version to ensure
compatibility: uv venv --python 3.12 (replace 3.12 with your preferred
version in the 3.12-3.14 range). This avoids potential issues with unsupported
Python versions.
Install from PyPI¶
The recommended way to install gwmock-signal is from PyPI:
# Create a virtual environment (recommended with uv)
uv venv --python 3.12
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install gwmock-signal
Optional Dependencies¶
For development or specific features:
# Development dependencies (testing, linting, etc.)
uv pip install gwmock-signal[dev]
# Documentation dependencies
uv pip install gwmock-signal[docs]
Install from Source¶
For the latest development version:
git clone git@github.com:Leuven-Gravity-Institute/gwmock-signal.git
cd gwmock-signal
# Create a virtual environment (recommended with uv)
uv venv --python 3.12
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv sync
Development Installation¶
To set up for development:
git clone git@github.com:Leuven-Gravity-Institute/gwmock-signal.git
cd gwmock-signal
# Create a virtual environment (recommended with uv)
uv venv --python 3.12
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv sync --extra dev
# Install the commitlint dependencies
npm ci
# Install pre-commit hooks
uv run pre-commit install
uv run pre-commit install --hook-type commit-msg
Verify Installation¶
Check that gwmock-signal is installed correctly:
gwmock-signal --help
python -c "import gwmock_signal; print(gwmock_signal.__version__)"
Documentation¶
- Site: gwmock-signal documentation
- User guide: overview and Examples (use-case walkthroughs); API details stay in API
- API reference: signatures, types, and exceptions (mkdocstrings)
Build locally: uv sync --extra docs && uv run zensical serve (or
zensical build for static output in site/).
Contributing¶
Contributions are welcome!
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
Release Schedule¶
Releases follow a fixed schedule: every Tuesday at 00:00 UTC, unless an emergent bugfix is required. This ensures predictable updates while allowing flexibility for critical issues. Users can view upcoming changes in the draft release on the GitHub Releases page.
Testing¶
Run the test suite:
uv run pytest
License¶
This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.
Support¶
For questions or issues, please open an issue on GitHub or contact the maintainers.