Skip to main content

A package for LISA Data Analysis

Project description

LISA Analysis Tools

Doc badge DOI

LISA Analysis Tools is a package for performing LISA Data Analysis tasks, including building the LISA Global Fit.

To install the latest version of lisaanalysistools using pip, simply run:

# For CPU-only version
pip install lisaanalysistools

# For GPU-enabled versions with CUDA 11.Y.Z
pip install lisaanalysistools-cuda11x

# For GPU-enabled versions with CUDA 12.Y.Z
pip install lisaanalysistools-cuda12x

To know your CUDA version, run the tool nvidia-smi in a terminal a check the CUDA version reported in the table header:

$ nvidia-smi
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
...

Now, in a python file or notebook:

import lisatools

You may check the currently available backends:

>>> for backend in ["cpu", "cuda11x", "cuda12x", "cuda", "gpu"]:
...     print(f" - Backend '{backend}': {"available" if lisatools.has_backend(backend) else "unavailable"}")
 - Backend 'cpu': available
 - Backend 'cuda11x': unavailable
 - Backend 'cuda12x': unavailable
 - Backend 'cuda': unavailable
 - Backend 'gpu': unavailable

Note that the cuda backend is an alias for either cuda11x or cuda12x. If any is available, then the cuda backend is available. Similarly, the gpu backend is (for now) an alias for cuda.

If you expected a backend to be available but it is not, run the following command to obtain an error message which can guide you to fix this issue:

>>> import lisatools
>>> lisatools.get_backend("cuda12x")
ModuleNotFoundError: No module named 'lisatools_backend_cuda12x'

The above exception was the direct cause of the following exception:
...

lisatools.cutils.BackendNotInstalled: The 'cuda12x' backend is not installed.

The above exception was the direct cause of the following exception:
...

lisatools.cutils.MissingDependencies: LISAanalysistools CUDA plugin is missing.
    If you are using lisatools in an environment managed using pip, run:
        $ pip install lisaanalysistools-cuda12x

The above exception was the direct cause of the following exception:
...

lisatools.cutils.BackendAccessException: Backend 'cuda12x' is unavailable. See previous error messages.

Once LISA Analysis Tools is working and the expected backends are selected, check out the examples notebooks on how to start with this software.

Installing from sources

Prerequisites

To install this software from source, you will need:

  • A C++ compiler (g++, clang++, ...)
  • A Python version supported by scikit-build-core (>=3.7 as of Jan. 2025)

If you want to enable GPU support in LISA Analysis Tools, you will also need the NVIDIA CUDA Compiler nvcc in your path as well as the CUDA toolkit (with, in particular, the libraries CUDA Runtime Library, cuBLAS and cuSPARSE).

Installation instructions using conda

We recommend to install LISA Analysis Tools using conda in order to have the compilers all within an environment. First clone the repo

git clone https://github.com/mikekatz04/LISAanalysistools.git
cd LISAanalysistools

Now create an environment (these instructions work for all platforms but some adjustements can be needed, refer to the detailed installation documentation for more information):

conda create -n lisatools_env -y -c conda-forge --override-channels |
    cxx-compiler pkgconfig conda-forge/label/lapack_rc::liblapacke

activate the environment

conda activate lisatools_env

Then we can install locally for development:

pip install -e '.[dev, testing]'

Installation instructions using conda on GPUs and linux

Below is a quick set of instructions to install the LISA Analysis Tools package on GPUs and linux.

conda create -n lisatools_env -c conda-forge lisaanalysistools-cuda12x python=3.12
conda activate lisatools_env

Test the installation device by running python

import lisatools
lisatools.get_backend("cuda12x")

Running the installation

To start the from-source installation, ensure the pre-requisite are met, clone the repository, and then simply run a pip install command:

# Clone the repository
git clone https://github.com/mikekatz04/LISAanalysistools.git
cd LISAanalysistools

# Run the install
pip install .

If the installation does not work, first check the detailed installation documentation. If it still does not work, please open an issue on the GitHub repository or contact the developers through other means.

Running the Tests

The tests require a few dependencies which are not installed by default. To install them, add the [testing] label to LISA Analysis Tools package name when installing it. E.g:

# For CPU-only version with testing enabled
pip install lisaanalysistools[testing]

# For GPU version with CUDA 12.Y and testing enabled
pip install lisaanalysistools-cuda12x[testing]

# For from-source install with testing enabled
git clone https://github.com/mikekatz04/LISAanalysistools.git
cd LISAanalysistools
pip install '.[testing]'

To run the tests, open a terminal in a directory containing the sources of LISA Analysis Tools and then run the unittest module in discover mode:

$ git clone https://github.com/mikekatz04/LISAanalysistools.git
$ cd LISAanalysistools
$ python -m lisatools.tests  # or "python -m unittest discover"
...
----------------------------------------------------------------------
Ran 20 tests in 71.514s
OK

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

If you want to develop LISA Analysis Tools and produce documentation, install lisatools from source with the [dev] label and in editable mode:

$ git clone https://github.com/mikekatz04/LISAanalysistools.git
$ cd LISAanalysistools
pip install -e '.[dev, testing]'

This will install necessary packages for building the documentation (sphinx, pypandoc, sphinx_rtd_theme, nbsphinx) and to run the tests.

The documentation source files are in docs/source. To compile the documentation locally, change to the docs directory and run make html.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Contributors

A (non-exhaustive) list of contributors to the LISA Analysis Tools code can be found in CONTRIBUTORS.md.

License

This project is licensed under the Apache License - see the LICENSE file for details.

Citation

Please make sure to cite LISA Analysis Tools papers and the LISA Analysis Tools software on Zenodo. We provide a set of prepared references in PAPERS.bib. There are other papers that require citation based on the classes used. For most classes this applies to, you can find these by checking the citation attribute for that class. All references are detailed in the CITATION.cff file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

lisaanalysistools-1.2.8-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

lisaanalysistools-1.2.8-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

lisaanalysistools-1.2.8-cp313-cp313-macosx_15_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

lisaanalysistools-1.2.8-cp313-cp313-macosx_14_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

lisaanalysistools-1.2.8-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

lisaanalysistools-1.2.8-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

lisaanalysistools-1.2.8-cp312-cp312-macosx_15_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

lisaanalysistools-1.2.8-cp312-cp312-macosx_14_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

lisaanalysistools-1.2.8-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

lisaanalysistools-1.2.8-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

lisaanalysistools-1.2.8-cp311-cp311-macosx_15_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

lisaanalysistools-1.2.8-cp311-cp311-macosx_14_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

lisaanalysistools-1.2.8-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

lisaanalysistools-1.2.8-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

lisaanalysistools-1.2.8-cp310-cp310-macosx_15_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

lisaanalysistools-1.2.8-cp310-cp310-macosx_14_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

Details for the file lisaanalysistools-1.2.8-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lisaanalysistools-1.2.8-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f99a7cff0cc9180a3254fcb9f9ddfa332c21dce324c33ce4cdff7803d5bac18d
MD5 445588db01a3dd332bd844617dd2b01c
BLAKE2b-256 4bcfee818add790844c08229c141c9b4c71eeefdff9d4b334cae8611f15d5247

See more details on using hashes here.

File details

Details for the file lisaanalysistools-1.2.8-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for lisaanalysistools-1.2.8-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6b97e84bc76464fc0c206e3111b63591f2fae100d0c29e58bf5c18125a624fb2
MD5 696ef729cd96f5686cc3d678d46064fa
BLAKE2b-256 a0af81d2b4b410fa2c6d9d899467fce6c2e8bb00d2c6c5a3f3c997c195cf19ed

See more details on using hashes here.

File details

Details for the file lisaanalysistools-1.2.8-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for lisaanalysistools-1.2.8-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 21af4440807a40ae00b07172d2306f4f1a0a0780470cf28b2d6a0ef55d55686b
MD5 4e61526adf3cb01dd9a9352c1d9c1158
BLAKE2b-256 d70b29c978a5f699530892dfb8e1889a3a13bafa1205696fee82108ae3ad41f7

See more details on using hashes here.

File details

Details for the file lisaanalysistools-1.2.8-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for lisaanalysistools-1.2.8-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 aa74d493ccfd7cf8e6b88e501646275789bd26cd78831f691543bd9c4e85077a
MD5 90c32c6c41bb32d42ad2948025b06cb5
BLAKE2b-256 d6b32ef04feb3f9fed48edd325a11104e3ba91465e71f7da88d29b3d0fb01c8b

See more details on using hashes here.

File details

Details for the file lisaanalysistools-1.2.8-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lisaanalysistools-1.2.8-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3cee8d2c0364a078ed18987e736d0cbf06af95ca9d95ac4b1983c6ec6675f9f5
MD5 2a5397cf8409ca116cc7e5ea7f354bd4
BLAKE2b-256 7669f31f8bc70b27ebb3720aa98af9ac83c9146ec93519b88c530eec08214e0d

See more details on using hashes here.

File details

Details for the file lisaanalysistools-1.2.8-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for lisaanalysistools-1.2.8-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b8f9015abbf4119f2f0b8d41a94f33cbd92cbced0fa48af8cf1b30bd2da2929f
MD5 05f91f1884652143c43c87aef1a5355a
BLAKE2b-256 270e9283c57a79a23d95ff78407fe1f62bc8b4398638a0951b71e7102c3d85f8

See more details on using hashes here.

File details

Details for the file lisaanalysistools-1.2.8-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for lisaanalysistools-1.2.8-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 4402cb29b791c8337d2ec9141c1b9330289f9e673f4ad7923881ffb5a735e04c
MD5 a79b05726e665122f3168577e9a8cc67
BLAKE2b-256 d4d7237f94d28d8b23c7d328a744ddef2608a37170b0c4d93598d68bcd4cd3d2

See more details on using hashes here.

File details

Details for the file lisaanalysistools-1.2.8-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for lisaanalysistools-1.2.8-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 01e211d58a7a3bad2ed1a6e0be6ab34ebcc1f1a5fac9c97a0cf68a0e928de3af
MD5 8dad165b5e3922596a88de41bd106f0a
BLAKE2b-256 5d5051f23cdfe2ac41825752856bd1277e9c52e39009ccdc126bf119993e00d8

See more details on using hashes here.

File details

Details for the file lisaanalysistools-1.2.8-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lisaanalysistools-1.2.8-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a3a66449edf8fc0df6cc74e16906c2c3980fe224b3a8d987613a26e56e7928bd
MD5 2e706dc5b6d5c222a1a05374f0180843
BLAKE2b-256 65a15b78f1fc399b0ab44e09523ae12a37b66a94c74201f7a3bc8cb82e1afc5a

See more details on using hashes here.

File details

Details for the file lisaanalysistools-1.2.8-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for lisaanalysistools-1.2.8-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d11021aaae4afa539cc81d1644337b4f80d2344d0f6048d29c72399b08de6ecb
MD5 0dcb7bac8e91f2ee096f143395e5b9fc
BLAKE2b-256 9dea8ffb89e4783b9353dc8e00419e08942c09876c461f4d56bb80c794d35494

See more details on using hashes here.

File details

Details for the file lisaanalysistools-1.2.8-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for lisaanalysistools-1.2.8-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 9864009058b4994ef1559c3f1646cccf09d2a44f9a47498ffeca8af1c66f9a42
MD5 d2023dabc5623bec66d4d4654586624d
BLAKE2b-256 d994b451e866812f7f58ab14442e9d9aa9c04b4a0c1dffc2a19bb9bfb9f3025f

See more details on using hashes here.

File details

Details for the file lisaanalysistools-1.2.8-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for lisaanalysistools-1.2.8-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 73978d0c54e7a3fad3bbcfef55164b3d1bb91402f7abe07ce577705f9b240bb5
MD5 80b496083113109bdcab9d47a6e3f2c8
BLAKE2b-256 05beccefb43c9c99bbc0b3f69d06581b653e6efb9775b452f8de4f5a611227f4

See more details on using hashes here.

File details

Details for the file lisaanalysistools-1.2.8-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lisaanalysistools-1.2.8-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b3003439a7bfacb881183d23c1714dad22a03c16e1d04865b00ba2deaad1ce32
MD5 fdd103e314476ccab5d74c44894fe55e
BLAKE2b-256 84ad96b5b589fa12606e64d2115605a63112b0fb6f0cbbac385788928f805539

See more details on using hashes here.

File details

Details for the file lisaanalysistools-1.2.8-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for lisaanalysistools-1.2.8-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3f93d6db6bf72823967626d5f9bd22da3a53a477d6d51606448cfc67cffefd01
MD5 a6efb0709013ba982b9c0974e4213f79
BLAKE2b-256 2d3e9cb36581c7d6e09c712f3bb70efb505184228156a826ff1756eed4595699

See more details on using hashes here.

File details

Details for the file lisaanalysistools-1.2.8-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for lisaanalysistools-1.2.8-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 6912ed36798ca0da3344ba372e2cb09e6e351e484fae156d4f9dd59adfabde9c
MD5 0f55477dc1c7911397b6d5730a193a5b
BLAKE2b-256 2d14b93950b40550e94e7d70460d1b44b46a85ca50814f152e4259e8532c91fb

See more details on using hashes here.

File details

Details for the file lisaanalysistools-1.2.8-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for lisaanalysistools-1.2.8-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f3cf6de94b2aa48687f2632cbcf38d03af8c97496623b7a75918547579e06f0f
MD5 8059def253a69dac8439b9239fd27c87
BLAKE2b-256 f42a9d617ea2b27e8ff6e5a3b8dd60c9768ae7d72463dd254ce29ff6909fcd18

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page