- Python 98.2%
- Just 1.3%
- Shell 0.5%
| doc | ||
| hooks | ||
| src/backscattering_simulation_data | ||
| tests | ||
| typings/backscattering_simulation_data | ||
| justfile | ||
| LICENSE | ||
| mise.toml | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
Backscattering Simulation Data
Python interface for managing and interfacing with backscattering simulation data of the Virgo interferometer
This library specifically manage simulation data generated with backscattering_simulation and backscattering_analyzer.
Getting started
Requirements
- Python >= 3.11
- mise (optional, standard workflow)
Installation
Tip
This library is a core component of the backscattering_simulation and backscattering_analyzer projects. Installing it alone is not intended.
it is designed to be used as a dependency.
python -m pip install .
Development tools & Workflow
If mise is installed, and mise.toml is trusted, all tools will be installed.
This project uses the following tools for development. While not all are required for basic usage, they are used by the maintainer to ensure consistency and avoid bugs.
- just: command runner (optional)
- hatch: project manager (optional)
- hatchling: package builder (optional)
- uv: package manager (optional)
- ruff: python linter and formatter (optional)
- ty: python type checker (optional)
Note
Tools used in the project consume and produce interoperable format to avoid vendor lock-in. This is the toolchain of the current maintainer
just can be used as a command runner to speed up
development. For example, to setup a dev environment and add git hooks,
run just dev.
All commands available can be listed with just -l.
Usage
Caution
This library is a core component of backscattering_simulation. It is not intended to used alone.
# Load data already generated by backscattering_simulation
from pathlib import Path
from h5py import File
from backscattering_simulation_data import Root
# path to the saved data file
filename = Path("path/to/data.hdf5")
with File(filename, "r") as file:
root = Root.from_hdf5(file)
# get the power on the injection
print(root.metadata.interferometer.injection_power)
Documentation
See the API Reference.
License
This project is licensed under the GNU GPL v3+. See license file for more information.
Acknowledgment
Thanks to all the people that worked on GWpy, Finesse and on all software and libraries used in this project.