Skip to main content

finesse-ligo

Finesse 3.0 LIGO models, tools, and data. This package is an optional extra to the finesse package which must be installed to use this package.

Installation

If you just want to use the tools and models provided you can use: pip install finesse-ligo

finesse-ligo also uses a variety of datasets for its models, such as finite element model results or optical surface metrology data. These are not included in the pypi package as some of the datasets can be large (>GB) and may not be needed by everyone. These can be installed via python using the finesse_ligo.download method. Or they can be downloaded via a commandline interface finesse_ligo download [datasetname].

The location in which datasets are stored is set by the main package finesse, in its user configuration usr.ini file. The location of which can be found a variety of ways, for example via a terminal with Finesse installed:

$ kat3 config --paths
Configuration paths (1 = highest priority; ✓ = found, ✗ = not found):
    ✗ 1: /Users/user/git/finesse3/finesse.ini
    ✓ 2: /Users/user/.config/finesse/usr.ini

Or using the python interface:

import finesse
finesse.config.config_instance().user_config_path()

The current data directory being used can be found with:

finesse.config.config_instance()['finesse.data']['path']

Usage and Contributing

This package includes top-level tools and models for simulating LIGO in Finesse 3. Individal simulations that you perform should be stored elsewhere, such as the finesse_playground reposistory. Your scripts should just import this package.

If you want to contribute any changes or code to this project then it must be done via a merge request. Merge requests must pass all tests before being merged.

The pipeline will fail if pre-commit has not been run. After cloning the git repository please run pip install pre-commit; pre-commit install. This will ensure that formating and simple code errorrs are fixed using black and flake8.

Documentation for functions should be in the numpydoc format: https://numpydoc.readthedocs.io/en/latest/format.html

Adding new katscript

New KatScript elements and commands must be registered with the FINESSE parser. This is done in the top level __init__.py which registers each of the objects required.

Adding new datafiles

New datafiles can be added to the repository in the tools.py file. In which is a DATAFILES and CHECKSUM dictionary with the relevant URL to download the file from. The checksum is the MD5 value for the file to ensure it hasn't been corrupted during the download.

Datasets can be stored in git repositories that have public access. However, datasets tend to be large binary files which are not well suited to being stored in git repositories. In such cases we recommend Zenodo (https://www.zenodo.org), an open source, open data platform for sharing data and research.

Support

Please post an issue if you are experiencing any bugs, problems, or feature requests. https://chat.ligo.org/ligo/channels/finesse can also be used for broader discussion on Finesse and modelling LIGO with it.

License

All code here is distributed under GPL v3.

Packaging

The finesse-ligo is automatically uploaded to pypi when new tags are pushed to main. Tags must be annotated and be in the semantic versioning form MAJOR.MINOR.PATCH:

  • MAJOR version when you make incompatible API changes,
  • MINOR version when you add functionality in a backwards compatible manner, and
  • PATCH version when you make backwards compatible bug fixes.

Only maintainers can push tags to the main branch.

Metadata

Release files for finesse-ligo 1.0.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for finesse-ligo 1.0.15
File Size Uploaded Provenance
finesse-ligo-1.0.15.tar.gz 420.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for finesse-ligo 1.0.15
File Interpreter ABI Platform
finesse_ligo-1.0.15-py3-none-any.whl Python 3 none any Details

Total release size: 835.4 kB

Release files / finesse-ligo-1.0.15.tar.gz

Download URL finesse-ligo-1.0.15.tar.gz
Size 420.1 kB
Tags Source
SHA-256 checksum
How to use checksums
75dd44f4022c727b49b6e3ae2882906a47571f66b14c8ba8f4a9b8105c4f72c4
BLAKE2b-256 checksum
How to use checksums
fd4d3cf84f7ab1e50f59802b62ecaa2c308c341b32eaa5747fd25e820d06e15a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Release files / finesse_ligo-1.0.15-py3-none-any.whl

Download URL finesse_ligo-1.0.15-py3-none-any.whl
Size 415.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
94ca29acaaf68527264e19791d3ce359c8c8248c6bb8bb9366f2129c555e14b6
BLAKE2b-256 checksum
How to use checksums
a07e479b8240b1f494d259b7a83b755e724740b37f4b2f32ef5e980e5b733514
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Security for finesse-ligo 1.0.15

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page