Metadata-Version: 2.4
Name: nessai
Version: 0.15.2
Summary: Nessai: Nested Sampling with Artificial Intelligence
Author-email: "Michael J. Williams" <michaeljw1@googlemail.com>
License: MIT
Project-URL: Homepage, https://github.com/mj-will/nessai
Project-URL: Documentation, https://nessai.readthedocs.io/
Keywords: nested sampling,normalizing flows,machine learning
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: glasflow
Requires-Dist: h5py>=3.0
Requires-Dist: matplotlib>=2.0
Requires-Dist: numpy>=1.9
Requires-Dist: pandas
Requires-Dist: scipy>0.16
Requires-Dist: seaborn
Requires-Dist: torch>=1.11.0
Requires-Dist: importlib-metadata; python_version < "3.10"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-timeout; extra == "test"
Requires-Dist: pytest-rerunfailures; extra == "test"
Requires-Dist: pytest-integration; extra == "test"
Provides-Extra: gw
Requires-Dist: lalsuite; sys_platform != "win32" and extra == "gw"
Requires-Dist: bilby; extra == "gw"
Requires-Dist: astropy; extra == "gw"
Provides-Extra: clustering
Requires-Dist: faiss-cpu>=1.7.3; extra == "clustering"
Provides-Extra: dev
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: ray[default]; (sys_platform != "win32" and python_version < "3.12") and extra == "dev"
Requires-Dist: multiprocess; extra == "dev"
Requires-Dist: corner; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: faiss-cpu; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: sphinx_rtd_theme; extra == "docs"
Requires-Dist: numpydoc; extra == "docs"
Requires-Dist: sphinx-autoapi; extra == "docs"
Provides-Extra: nflows
Requires-Dist: nflows; extra == "nflows"
Dynamic: license-file

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4550693.svg)](https://doi.org/10.5281/zenodo.4550693)
[![PyPI](https://img.shields.io/pypi/v/nessai)](https://pypi.org/project/nessai/)
[![Conda Version](https://img.shields.io/conda/vn/conda-forge/nessai.svg)](https://anaconda.org/conda-forge/nessai)
[![Documentation Status](https://readthedocs.org/projects/nessai/badge/?version=latest)](https://nessai.readthedocs.io/en/latest/?badge=latest)
![license](https://anaconda.org/conda-forge/nessai/badges/license.svg)
![tests](https://github.com/mj-will/nessai/actions/workflows/tests.yml/badge.svg)
![int-tests](https://github.com/mj-will/nessai/actions/workflows/integration-tests.yml/badge.svg)
[![codecov](https://codecov.io/gh/mj-will/nessai/branch/main/graph/badge.svg?token=O7SN167SK6)](https://codecov.io/gh/mj-will/nessai)
[![gitter](https://img.shields.io/gitter/room/nessai/nessai)](https://app.gitter.im/#/room/#nessai:gitter.im)

# nessai: Nested Sampling with Artificial Intelligence

``nessai`` (/ˈnɛsi/): Nested Sampling with Artificial Intelligence

``nessai`` is a nested sampling algorithm for Bayesian Inference that incorporates normalising flows. It is designed for applications where the Bayesian likelihood is computationally expensive.

## Installation

``nessai`` can be installed using ``pip``:

```console
pip install nessai
```

or via ``conda``

```console
conda install -c conda-forge -c pytorch nessai
```

### PyTorch

By default the version of PyTorch will not necessarily match the drivers on your system, to install a different version with the correct CUDA support see the PyTorch homepage for instructions: https://pytorch.org/.

### Using ``bilby``

As of ``bilby`` version 2.3.0, the recommended way to use ``nessai`` is via the [``nessai-bilby`` sampler plugin](https://github.com/bilby-dev/nessai-bilby).
This can be installed via either ``conda`` or ``pip`` and provides the most
up-to-date interface for ``nessai``.
This includes support for the importance nested sampler (``inessai``).

It can be installed using either

```console
pip install nessai-bilby
```

or

```console
conda install -c conda-forge nessai-bilby
```

See the examples included with ``nessai`` for how to run ``nessai`` via ``bilby``.

## Documentation

Documentation is available at: [nessai.readthedocs.io](https://nessai.readthedocs.io/)

## Help

For questions and other support, please either use our [gitter room](https://app.gitter.im/#/room/#nessai:gitter.im) or [open an issue](https://github.com/mj-will/nessai/issues/new/choose).

## Contributing

Please see the guidelines [here](https://github.com/mj-will/nessai/blob/master/CONTRIBUTING.md).


## Acknowledgements

The core nested sampling code, model design and code for computing the posterior in ``nessai`` was based on [`cpnest`](https://github.com/johnveitch/cpnest) with permission from the authors.

The normalising flows implemented in ``nessai`` are all either directly imported from [`nflows`](https://github.com/bayesiains/nflows/tree/master/nflows) or heavily based on it.

Other code snippets that draw on existing code reference the source in their corresponding doc-strings.

The authors also thank Christian Chapman-Bird, Laurence Datrier, Fergus Hayes, Jethro Linley and Simon Tait for their feedback and help finding bugs in ``nessai``.

## Citing

If you find ``nessai`` useful in your work please cite the DOI for this code and our papers:

```bibtex
@software{nessai,
  author       = {Michael J. Williams},
  title        = {nessai: Nested Sampling with Artificial Intelligence},
  month        = feb,
  year         = 2021,
  publisher    = {Zenodo},
  version      = {latest},
  doi          = {10.5281/zenodo.4550693},
  url          = {https://doi.org/10.5281/zenodo.4550693}
}

@article{Williams:2021qyt,
    author = "Williams, Michael J. and Veitch, John and Messenger, Chris",
    title = "{Nested sampling with normalizing flows for gravitational-wave inference}",
    eprint = "2102.11056",
    archivePrefix = "arXiv",
    primaryClass = "gr-qc",
    doi = "10.1103/PhysRevD.103.103006",
    journal = "Phys. Rev. D",
    volume = "103",
    number = "10",
    pages = "103006",
    year = "2021"
}

@article{Williams:2023ppp,
    author = "Williams, Michael J. and Veitch, John and Messenger, Chris",
    title = "{Importance nested sampling with normalising flows}",
    eprint = "2302.08526",
    archivePrefix = "arXiv",
    primaryClass = "astro-ph.IM",
    reportNumber = "LIGO-P2200283",
    month = "2",
    year = "2023"
}

```
