============
Installation
============
.. tabs::
.. tab:: Pip
.. code-block:: console
$ pip install redback
Supported python versions: 3.11+.
This will install all requirements for running :code:`redback` for general transient fitting, including bilby and our default sampler `dynesty
`_. Other samplers will need to be
installed via pip or the appropriate means. Please look through :code:`redback` `fitting documentation `_ for what samplers are available.
Currently :code:`redback` is going significant development, and we can not guarantee that any `pip` or `conda` releases will be completely up to date.
Therefore, for the near future, we recommend installing :code:`redback` from source, and in development mode.
Install :code:`redback` from source
-------------------------
:code:`redback` is developed and tested with Python 3.11+. In the
following, we assume you have a working python installation, `python pip
`_,
and `git `_.
Clone the repository, install the requirements, and then install the software:
.. code-block:: console
$ git clone https://github.com/nikhil-sarin/redback
$ cd redback/
$ pip install -r requirements.txt
$ pip install .
To install with development mode, use:
.. code-block:: console
$ git clone https://github.com/nikhil-sarin/redback
$ cd redback/
$ pip install -r requirements.txt
$ pip install -e .
For full functionality, please also install optional requirements.
.. code-block:: console
$ pip install -r optional_requirements.txt
You are now ready to use redback. Please check out the `examples `_
Install :code:`swifttools`
-------------------------
In previous releases of :code:`redback` if you wanted to use :code:`redback` functionality to download Swift data you needed to install phantomjs.
Installing phantomjs essentially requires that you first download the phantomjs file for your operating system from
the `website `_. Then create a softlink or export the path to the bin file;
see discussion on `stackoverflow `_.
Now, If you want to use :code:`redback` functionality to download Swift data, you need to install the swifttools package.
This is included in the optional requirements.
.. code-block:: console
$ pip install swifttools
The swifttools package provides direct API access to Swift data from the UK Swift Science Data Centre,
eliminating the need for web scraping with Selenium or PhantomJS.