************ Installation ************ SNCosmo works on Python 3.8+ and depends on the following Python packages: - `numpy `_ - `scipy `_ - `astropy `_ - `extinction `_ Install using conda (recommended) ================================= If you are using Anaconda or the conda package manager, you can install SNCosmo from the conda-forge channel:: conda install -c conda-forge sncosmo Install using pip ================= First ensure that numpy and cython are installed. Then:: pip install sncosmo .. note:: The ``--no-deps`` flag is optional, but highly recommended if you already have numpy, scipy and astropy installed, since otherwise pip will sometimes try to "help" you by upgrading your Numpy installation, which may not always be desired. .. note:: If you get a ``PermissionError`` this means that you do not have the required administrative access to install new packages to your Python installation. In this case you may consider using the ``--user`` option to install the package into your home directory. You can read more about how to do this in the `pip documentation `_. Do **not** install sncosmo or other third-party packages using ``sudo`` unless you are fully aware of the risks. .. note:: You will need a C compiler (e.g. ``gcc`` or ``clang``) to be installed for the installation to succeed. Install latest development version ================================== SNCosmo is being developed `on github `_. To get the latest development version using ``git``:: git clone git://github.com/sncosmo/sncosmo.git cd sncosmo then:: pip install -e . This will install a development version of the SNCosmo package that automatically picks up any changes that you made when you import sncosmo for the first time in a Python interpreter. If you make any edits to the Cython code in SNCosmo (files with .c or .pyx extensions), then you will need to run this command again to compile that code for your changes to be picked up. Optional dependencies ===================== Several additional packages are recommended for enabling optional functionality in SNCosmo. - `matplotlib `_ for plotting functions. - `iminuit `_ for light curve fitting using the Minuit minimizer in `sncosmo.fit_lc`. - `emcee `_ for MCMC light curve parameter estimation in `sncosmo.mcmc_lc`. - `nestle `_ for nested sampling light curve parameter estimation in `sncosmo.nest_lc`. The `corner `_ package is also recommended for plotting results from the samplers `sncosmo.mcmc_lc` and `sncosmo.nest_lc`, but is not used by any part of sncosmo.