# Citing exoplanet & its dependencies

# Citing exoplanet & its dependencies#

The *exoplanet* package is mostly just glue that connects many other ideas and software.
In a situation like this, it can be easy to forget about the important infrastructure upon which our science is built.
In order to make sure that you can easily give credit where credit is due, we have tried to make it as painless as possible to work out which citations are expected for a model fit using *exoplanet* by including a `exoplanet.citations.get_citations_for_model()`

function that introspects the current PyMC3 model and constructs a list of citations for the functions used in that model.

For example, you might compute a quadratically limb darkened light curve using `starry`

(via the `exoplanet.LimbDarkLightCurve`

class):

```
import pymc3 as pm
import exoplanet as xo
with pm.Model() as model:
u = xo.distributions.QuadLimbDark("u")
orbit = xo.orbits.KeplerianOrbit(period=10.0)
light_curve = xo.LimbDarkLightCurve(u[0], u[1])
transit = light_curve.get_light_curve(r=0.1, orbit=orbit, t=[0.0, 0.1])
txt, bib = xo.citations.get_citations_for_model()
```

```
WARNING (theano.tensor.blas): Using NumPy C-API based implementation for BLAS functions.
```

The `exoplanet.citations.get_citations_for_model()`

function would generate an acknowledgement that cites:

PyMC3: for the inference engine and modeling framework,

Theano/Aesara: for the numerical infrastructure,

AstroPy: for units and constants,

Kipping (2013): for the reparameterization of the limb darkening parameters for a quadratic law, and

Luger, et al. (2018): for the light curve calculation.

The first output from `exoplanet.citations.get_citations_for_model()`

gives the acknowledgement text:

```
print(txt)
```

```
This research made use of \textsf{exoplanet} \citep{exoplanet:joss,
exoplanet:zenodo} and its dependencies \citep{exoplanet:agol20,
exoplanet:arviz, exoplanet:astropy13, exoplanet:astropy18, exoplanet:kipping13,
exoplanet:luger18, exoplanet:pymc3, exoplanet:theano}.
```

And the second output is a string with BibTeX entries for each of the citations in the acknowledgement text:

```
print(bib.split("\n\n")[0] + "\n\n...")
```

```
@article{exoplanet:joss,
author = {{Foreman-Mackey}, Daniel and {Luger}, Rodrigo and {Agol}, Eric
and {Barclay}, Thomas and {Bouma}, Luke G. and {Brandt},
Timothy D. and {Czekala}, Ian and {David}, Trevor J. and
{Dong}, Jiayin and {Gilbert}, Emily A. and {Gordon}, Tyler A.
and {Hedges}, Christina and {Hey}, Daniel R. and {Morris},
Brett M. and {Price-Whelan}, Adrian M. and {Savel}, Arjun B.},
title = "{exoplanet: Gradient-based probabilistic inference for
exoplanet data \& other astronomical time series}",
journal = {arXiv e-prints},
year = 2021,
month = may,
eid = {arXiv:2105.01994},
pages = {arXiv:2105.01994},
archivePrefix = {arXiv},
eprint = {2105.01994},
primaryClass = {astro-ph.IM},
adsurl = {https://ui.adsabs.harvard.edu/abs/2021arXiv210501994F},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
...
```