Generating Citations

LightCurveLynx uses the LINCC Frameworks Citation-Compass package to track which packages are used. You can use it to generate a list of all citations found in the code or the citations for blocks of code that were executed during a simulation.

Manually Generating Citations

Let’s consider a basic hsiao model from within the sncosmo package:

[1]:
import numpy as np

from lightcurvelynx.consts import M_SUN_G
from lightcurvelynx.models.agn import AGN

model = AGN(
    t0=0.0,
    blackhole_mass=1e9 * M_SUN_G,
    edd_ratio=0.9,
    node_label="AGN",
)

times = np.linspace(0, 200, 201)
wavelengths_aa = np.array([4500, 6000])
fluxes = model.evaluate_sed(times, wavelengths_aa)
/home/docs/checkouts/readthedocs.org/user_builds/lightcurvelynx/envs/stable/lib/python3.12/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html
  from .autonotebook import tqdm as notebook_tqdm
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[1], line 6
      2
      3 from lightcurvelynx.consts import M_SUN_G
      4 from lightcurvelynx.models.agn import AGN
      5
----> 6 model = AGN(
      7     t0=0.0,
      8     blackhole_mass=1e9 * M_SUN_G,
      9     edd_ratio=0.9,

File ~/checkouts/readthedocs.org/user_builds/lightcurvelynx/envs/stable/lib/python3.12/site-packages/lightcurvelynx/models/agn.py:126, in AGN.__init__(self, t0, blackhole_mass, edd_ratio, inclination_rad, node_label, seed, **kwargs)
    123 super().__init__(t0=t0, node_label=node_label, **kwargs)
    125 if "redshift" not in kwargs:
--> 126     raise ValueError("'redshift' parameter is required for the AGN model.")
    128 if "cosmology" not in kwargs and "distance" not in kwargs:
    129     raise ValueError(
    130         "At least one of 'cosmology' (str or astropy.cosmology object) or 'distance' (in pc) "
    131         "parameters must be provided."
    132     )

ValueError: 'redshift' parameter is required for the AGN model.

Now that we have run the simulation, we can print out a list of all the citations during execution using print_used_citations:

[2]:
import citation_compass as cc

cc.print_used_citations()

In this case we return the relevant citation to sncosmo. If we want to be more thorough, we can look at all the citations included in imported libraries, by using print_all_citations:

[3]:
cc.print_all_citations()
lightcurvelynx.astro_utils.passbands.PassbandGroup._lsst_load_preset:
LSST Filters: https://github.com/lsst/throughputs

lightcurvelynx.astro_utils.passbands.PassbandGroup._roman_load_preset:
Roman Filters: https://github.com/RomanSpaceTelescope/roman-technical-information

lightcurvelynx.astro_utils.passbands.PassbandGroup.from_svo:
This research has made use of the SVO Filter Profile Service "Carlos Rodrigo",
funded by MCIN/AEI/10.13039/501100011033/ through grant PID2023-146210NB-I00
* Rodrigo, C., Cruz, P., Aguilar, J.F., et al. 2024; https://ui.adsabs.harvard.edu/abs/2024A%26A...689A..93R/abstract
* Rodrigo, C., Solano, E., Bayo, A., 2012; https://ui.adsabs.harvard.edu/abs/2012ivoa.rept.1015R/abstract
* Rodrigo, C., Solano, E., 2020; https://ui.adsabs.harvard.edu/abs/2020sea..confE.182R/abstract

lightcurvelynx.astro_utils.passbands.Passband.from_sncosmo:
snocosmo.Bandpass:
https://sncosmo.readthedocs.io/en/stable/api/sncosmo.Bandpass.html

lightcurvelynx.astro_utils.passbands.Passband.from_svo:
.. [1] Rodrigo, C., Cruz, P., Aguilar, J.F., et al. 2024;
https://ui.adsabs.harvard.edu/abs/2024A%26A...689A..93R/abstract

.. [2] Rodrigo, C., Solano, E., Bayo, A., 2012;
https://ui.adsabs.harvard.edu/abs/2012ivoa.rept.1015R/abstract

.. [3] Rodrigo, C., Solano, E., 2020; https://ui.adsabs.harvard.edu/abs/2020sea..confE.182R/abstract

lightcurvelynx.models.agn.AGN.compute_sed_standard_disk:
Lipunova, G., Malanchev, K., Shakura, N. (2018)
https://doi.org/10.1007/978-3-319-93009-1_1

All inputs are in CGS.

lightcurvelynx.models.agn.AGN.compute_mag_i:
Shen et al., 2013 - https://adsabs.harvard.edu/full/2013BASI...41...61S

lightcurvelynx.models.agn.AGN.compute_r_0:
Lipunova, G., Malanchev, K., Shakura, N. (2018)
https://doi.org/10.1007/978-3-319-93009-1_1

lightcurvelynx.models.agn.AGN.compute_structure_function_at_inf:
Suberlak et al. 2021 - DOI 10.3847/1538-4357/abc698

lightcurvelynx.models.agn.AGN.compute_sf_inf_4000aa:
Suberlak et al. 2021 - DOI 10.3847/1538-4357/abc698

lightcurvelynx.models.agn.AGN.compute_tau_4000aa:
Suberlak et al. 2021 - DOI 10.3847/1538-4357/abc698

lightcurvelynx.models.agn.AGN.compute_tau:
Suberlak et al. 2021 - DOI 10.3847/1538-4357/abc698

lightcurvelynx.models.agn.AGN.compute_temp_at_r_0:
Lipunova, G., Malanchev, K., Shakura, N. (2018)
https://doi.org/10.1007/978-3-319-93009-1_1

We now pick up the passband functions even though they are not used in the above code snippet. Note that both these print calls will only return functions that have been explicitly annotated and thus the list is not guaranteed to be complete.

Listing Libraries

You can also return a list of imported libraries using get_all_imports:

[4]:
cc.get_all_imports()
[4]:
['encodings.aliases',
 'encodings',
 'encodings.utf_8',
 'encodings.utf_8_sig',
 '_virtualenv',
 '_distutils_hack',
 'types',
 'warnings',
 'importlib',
 'importlib._abc',
 'sphinxcontrib',
 'operator',
 'keyword',
 'reprlib',
 'collections',
 'functools',
 'enum',
 're._constants',
 're._parser',
 're._casefix',
 're._compiler',
 'copyreg',
 're',
 'fnmatch',
 'urllib',
 'math',
 'ipaddress',
 'urllib.parse',
 'pathlib',
 'ipykernel._version',
 '__future__',
 '_json',
 'json.scanner',
 'json.decoder',
 'json.encoder',
 'json',
 'locale',
 'signal',
 '_weakrefset',
 'threading',
 'contextlib',
 'fcntl',
 '_posixsubprocess',
 'select',
 'collections.abc',
 'selectors',
 'subprocess',
 'typing.io',
 'typing.re',
 'typing',
 'jupyter_client._version',
 'platform',
 'zmq.backend.select',
 'cython_runtime',
 'ast',
 '_opcode',
 'opcode',
 'dis',
 'token',
 'tokenize',
 'linecache',
 'weakref',
 'inspect',
 '_cython_3_1_3limited_fastcallnofinalize',
 'zmq.constants',
 'zmq.error',
 'zmq.backend.cython._zmq',
 'zmq.backend.cython',
 'zmq.backend',
 'zmq._typing',
 'zmq.utils',
 'zmq.utils.interop',
 'zmq.sugar.attrsettr',
 '_struct',
 'struct',
 '_compat_pickle',
 '_pickle',
 'pickle',
 '_bisect',
 'bisect',
 '_random',
 '_sha2',
 'random',
 'zmq.utils.jsonapi',
 'zmq.sugar.poll',
 'zmq.sugar.socket',
 'zmq.sugar.context',
 'zmq.sugar.frame',
 'zmq.sugar.tracker',
 'zmq.sugar.version',
 'zmq.sugar.stopwatch',
 'zmq.sugar',
 'zmq',
 'concurrent',
 'textwrap',
 'traceback',
 'string',
 'logging',
 'concurrent.futures._base',
 'concurrent.futures',
 '_heapq',
 'heapq',
 '_socket',
 'array',
 'socket',
 '_ssl',
 'binascii',
 'base64',
 'ssl',
 'asyncio.constants',
 'asyncio.coroutines',
 '_contextvars',
 'contextvars',
 'asyncio.format_helpers',
 'asyncio.base_futures',
 'asyncio.exceptions',
 'asyncio.base_tasks',
 '_asyncio',
 'asyncio.events',
 'asyncio.futures',
 'asyncio.protocols',
 'asyncio.transports',
 'asyncio.log',
 'asyncio.sslproto',
 'asyncio.mixins',
 'asyncio.locks',
 'asyncio.timeouts',
 'asyncio.tasks',
 'asyncio.staggered',
 'asyncio.trsock',
 'asyncio.base_events',
 'asyncio.runners',
 'asyncio.queues',
 'asyncio.streams',
 'asyncio.subprocess',
 'asyncio.taskgroups',
 'asyncio.threads',
 'asyncio.base_subprocess',
 'asyncio.selector_events',
 'asyncio.unix_events',
 'asyncio',
 'zmq._future',
 'zmq.asyncio',
 'numbers',
 'traitlets.utils',
 'traitlets.utils.bunch',
 'traitlets.utils.descriptions',
 'traitlets.utils.getargspec',
 'traitlets.utils.importstring',
 'traitlets.utils.sentinel',
 'traitlets.utils.warnings',
 'traitlets.traitlets',
 'traitlets._version',
 'copy',
 'traitlets.utils.decorators',
 'traitlets',
 '_queue',
 'queue',
 'jupyter_core.version',
 'jupyter_core',
 'jupyter_core.utils',
 'jupyter_client.channelsabc',
 '_hashlib',
 '_blake2',
 'hashlib',
 'hmac',
 'dataclasses',
 'pprint',
 '_datetime',
 'datetime',
 'tornado',
 'logging.handlers',
 'html.entities',
 'html',
 'zlib',
 'tornado.speedups',
 'tornado.util',
 'tornado.escape',
 '_curses',
 'curses',
 'tornado.log',
 'tornado.concurrent',
 'tornado.ioloop',
 'socketserver',
 'logging.config',
 'traitlets.utils.text',
 'gettext',
 'argparse',
 'traitlets.config.loader',
 'traitlets.config.configurable',
 'traitlets.utils.nested_update',
 'traitlets.config.application',
 'traitlets.config',
 'traitlets.log',
 'zmq.eventloop',
 'zmq.eventloop.zmqstream',
 'jupyter_client.adapter',
 'dateutil._version',
 'dateutil',
 'calendar',
 'six',
 '_decimal',
 'decimal',
 'dateutil._common',
 'dateutil.relativedelta',
 'six.moves',
 'dateutil.tz._common',
 'dateutil.tz._factories',
 'dateutil.tz.tz',
 'dateutil.tz',
 'dateutil.parser._parser',
 'dateutil.parser.isoparser',
 'dateutil.parser',
 '_strptime',
 'jupyter_client.jsonutil',
 'jupyter_client.session',
 'jupyter_client.channels',
 'termios',
 'getpass',
 'jupyter_client.clientabc',
 'glob',
 '_compression',
 '_bz2',
 'bz2',
 '_lzma',
 'lzma',
 'shutil',
 'tempfile',
 'platformdirs.api',
 'platformdirs.version',
 'configparser',
 'platformdirs._xdg',
 'platformdirs.unix',
 'platformdirs',
 'jupyter_core.paths',
 'jupyter_client.localinterfaces',
 'jupyter_client.utils',
 'jupyter_client.connect',
 'jupyter_client.client',
 'jupyter_client.asynchronous.client',
 'jupyter_client.asynchronous',
 'jupyter_client.blocking.client',
 'jupyter_client.blocking',
 'jupyter_client.launcher',
 '_uuid',
 'uuid',
 '_csv',
 'csv',
 'email',
 'zipfile._path.glob',
 'zipfile._path',
 'zipfile',
 'quopri',
 'email._parseaddr',
 'email.base64mime',
 'email.quoprimime',
 'email.errors',
 'email.encoders',
 'email.charset',
 'email.utils',
 'email.header',
 'email._policybase',
 'email._encoded_words',
 'email.iterators',
 'email.message',
 'importlib.metadata._functools',
 'importlib.metadata._text',
 'importlib.metadata._adapters',
 'importlib.metadata._meta',
 'importlib.metadata._collections',
 'importlib.metadata._itertools',
 'importlib.resources.abc',
 'importlib.resources._adapters',
 'importlib.resources._common',
 'importlib.resources._legacy',
 'importlib.resources',
 'importlib.abc',
 'importlib.metadata',
 'jupyter_client.provisioning.provisioner_base',
 'jupyter_client.provisioning.factory',
 'jupyter_client.provisioning.local_provisioner',
 'jupyter_client.provisioning',
 'jupyter_client.kernelspec',
 'jupyter_client.managerabc',
 'jupyter_client.manager',
 'jupyter_client.multikernelmanager',
 'jupyter_client',
 'ipykernel.connect',
 'ipykernel',
 'IPython.core',
 'IPython.core.getipython',
 'IPython.core.release',
 'executing._utils',
 'executing._exceptions',
 'executing._position_node_finder',
 'executing.executing',
 'executing._pytest_utils',
 'executing.version',
 'executing',
 'asttokens.line_numbers',
 'astroid.typing',
 'astroid.exceptions',
 'astroid.util',
 'astroid.context',
 'astroid.decorators',
 'astroid.const',
 'astroid.interpreter',
 'sysconfig',
 'astroid.interpreter._import',
 'astroid.interpreter._import.util',
 'astroid.interpreter._import.spec',
 '_sysconfigdata__linux_x86_64-linux-gnu',
 'astroid.modutils',
 'astroid.raw_building',
 'astroid._ast',
 'astroid.nodes.utils',
 'astroid.rebuilder',
 'astroid.builder',
 'astroid.transforms',
 'astroid.manager',
 'astroid.interpreter.objectmodel',
 'astroid.bases',
 'astroid.protocols',
 'astroid.interpreter.dunder_lookup',
 'astroid.nodes.as_string',
 'astroid.nodes.const',
 'astroid.nodes.node_ng',
 'astroid.nodes._base_nodes',
 'astroid.filter_statements',
 'astroid.nodes.scoped_nodes.utils',
 'astroid.nodes.scoped_nodes.mixin',
 'astroid.nodes.scoped_nodes.scoped_nodes',
 'astroid.nodes.scoped_nodes',
 'astroid.nodes.node_classes',
 'astroid.nodes',
 'astroid.__pkginfo__',
 'astroid.brain',
 'astroid.brain.helpers',
 'astroid.inference_tip',
 'astroid.objects',
 'astroid.arguments',
 'astroid.brain.brain_argparse',
 'astroid.brain.brain_attrs',
 'astroid.brain.brain_boto3',
 'astroid.helpers',
 'astroid.brain.brain_builtin_inference',
 'astroid.brain.brain_collections',
 'astroid.brain.brain_crypt',
 'astroid.brain.brain_ctypes',
 'astroid.brain.brain_curses',
 'astroid.brain.brain_dataclasses',
 'astroid.brain.brain_datetime',
 'astroid.brain.brain_dateutil',
 'astroid.brain.brain_functools',
 'astroid.brain.brain_gi',
 'astroid.brain.brain_hashlib',
 'astroid.brain.brain_http',
 'astroid.brain.brain_hypothesis',
 'astroid.brain.brain_io',
 'astroid.brain.brain_mechanize',
 'astroid.brain.brain_multiprocessing',
 'astroid.brain.brain_namedtuple_enum',
 'astroid.brain.brain_numpy_core_einsumfunc',
 'astroid.brain.brain_numpy_core_fromnumeric',
 'astroid.brain.brain_numpy_utils',
 'astroid.brain.brain_numpy_core_function_base',
 'astroid.brain.brain_numpy_core_multiarray',
 'astroid.brain.brain_numpy_core_numeric',
 'astroid.brain.brain_numpy_core_numerictypes',
 'astroid.brain.brain_numpy_core_umath',
 'astroid.brain.brain_numpy_ma',
 'astroid.brain.brain_numpy_ndarray',
 'astroid.brain.brain_numpy_random_mtrand',
 'astroid.brain.brain_pathlib',
 'astroid.brain.brain_pkg_resources',
 'astroid.brain.brain_pytest',
 'astroid.brain.brain_qt',
 'astroid.brain.brain_random',
 'astroid.brain.brain_re',
 'astroid.brain.brain_regex',
 'astroid.brain.brain_responses',
 'astroid.brain.brain_scipy_signal',
 'astroid.brain.brain_signal',
 'astroid.brain.brain_six',
 'astroid.brain.brain_sqlalchemy',
 'astroid.brain.brain_ssl',
 'astroid.brain.brain_statistics',
 'astroid.brain.brain_subprocess',
 'astroid.brain.brain_threading',
 'astroid.brain.brain_type',
 'astroid.brain.brain_typing',
 'astroid.brain.brain_unittest',
 'astroid.brain.brain_uuid',
 'astroid.astroid_manager',
 'astroid',
 'asttokens.util',
 'asttokens.asttokens',
 'asttokens',
 'fractions',
 'pure_eval.utils',
 'pure_eval.my_getattr_static',
 'pure_eval.core',
 'pure_eval.version',
 'pure_eval',
 'stack_data.utils',
 'stack_data.core',
 'stack_data.formatting',
 'stack_data.serializing',
 'stack_data.version',
 'stack_data',
 'pygments',
 'pygments.formatters._mapping',
 'pygments.plugin',
 'pygments.util',
 'pygments.formatters',
 'pygments.styles._mapping',
 'pygments.styles',
 'pygments.formatter',
 'pygments.console',
 'pygments.token',
 'pygments.style',
 'pygments.formatters.terminal256',
 'IPython.utils',
 'shlex',
 'IPython.utils.encoding',
 'IPython.utils.py3compat',
 'IPython.utils._process_common',
 'IPython.utils._process_posix',
 'IPython.utils.process',
 'IPython.utils.path',
 'pygments.styles.monokai',
 'pygments.styles.default',
 'pygments.styles.pastie',
 'pygments.styles.gruvbox',
 'IPython.utils.PyColorize',
 'IPython.utils.terminal',
 'IPython.core.display_trap',
 'pkgutil',
 'pydoc',
 'codeop',
 'IPython.core.debugger_backport',
 'cmd',
 'bdb',
 'code',
 'pdb',
 'IPython.core.debugger',
 'IPython.core.tbtools',
 'IPython.core.doctb',
 'IPython.core.ultratb',
 'IPython.utils._sysinfo',
 'IPython.utils.sysinfo',
 'IPython.core.crashhandler',
 'IPython.utils.importstring',
 'IPython.paths',
 'IPython.core.profiledir',
 'IPython.core.application',
 'IPython.terminal',
 'IPython.core.compilerop',
 'IPython.core.error',
 'IPython.utils.docs',
 'IPython.utils.decorators',
 'IPython.utils.text',
 'IPython.core.magic_arguments',
 'getopt',
 'IPython.core.display_functions',
 'mimetypes',
 'IPython.testing',
 'IPython.testing.skipdoctest',
 'IPython.core.display',
 'IPython.lib',
 'IPython.lib.display',
 'IPython.display',
 'IPython.utils.data',
 'IPython.core.page',
 'IPython.lib.pretty',
 'IPython.utils.openpy',
 'IPython.utils.dir2',
 'IPython.utils.wildcard',
 'pygments.lexers._mapping',
 'pygments.modeline',
 'pygments.lexers',
 'pygments.filter',
 'pygments.filters',
 'pygments.regexopt',
 'pygments.lexer',
 'pygments.unistring',
 'pygments.lexers.python',
 'pygments.formatters.html',
 'IPython.core.oinspect',
 'IPython.utils.tokenutil',
 'IPython.core.inputtransformer2',
 'IPython.utils.ipstruct',
 'IPython.core.magic',
 'IPython.external',
 'IPython.external.pickleshare',
 'IPython.core.hooks',
 'IPython.core.autocall',
 'IPython.core.macro',
 'IPython.core.splitinput',
 'IPython.core.prefilter',
 'IPython.core.alias',
 'IPython.core.builtin_trap',
 'decorator',
 '_sqlite3',
 'sqlite3.dbapi2',
 'sqlite3',
 'IPython.core.history',
 'IPython.core.displayhook',
 'IPython.core.displaypub',
 'IPython.core.events',
 'IPython.core.extensions',
 'IPython.utils.sentinel',
 'IPython.core.formatters',
 'IPython.core.logger',
 'IPython.core.payload',
 'IPython.core.tips',
 'IPython.core.usage',
 'IPython.utils.capture',
 'IPython.utils.io',
 'IPython.utils.strdispatch',
 'IPython.utils.syspathcontext',
 'IPython.core.async_helpers',
 'IPython.core.interactiveshell',
 'IPython.core.kitty',
 'prompt_toolkit.application.current',
 'prompt_toolkit.eventloop.utils',
 'prompt_toolkit.eventloop.async_generator',
 'prompt_toolkit.eventloop.inputhook',
 'prompt_toolkit.eventloop',
 'prompt_toolkit.application.run_in_terminal',
 'prompt_toolkit.selection',
 'prompt_toolkit.clipboard.base',
 'prompt_toolkit.clipboard.in_memory',
 'prompt_toolkit.clipboard',
 'prompt_toolkit.cache',
 'prompt_toolkit.enums',
 'prompt_toolkit.filters.base',
 'prompt_toolkit.filters.app',
 'prompt_toolkit.filters.cli',
 'prompt_toolkit.filters.utils',
 'prompt_toolkit.filters',
 'prompt_toolkit.document',
 'prompt_toolkit.auto_suggest',
 'prompt_toolkit.keys',
 'prompt_toolkit.key_binding.key_bindings',
 'wcwidth.bisearch',
 'wcwidth.table_mc',
 'wcwidth.table_wide',
 'wcwidth.table_zero',
 'wcwidth.table_grapheme',
 'wcwidth.table_ambiguous',
 'wcwidth.unicode_versions',
 'wcwidth._constants',
 'wcwidth._wcwidth',
 'wcwidth.table_vs16',
 'wcwidth._wcswidth',
 'wcwidth.text_sizing',
 'wcwidth.control_codes',
 'wcwidth.sgr_state',
 'wcwidth.escape_sequences',
 'wcwidth._width',
 'wcwidth.grapheme',
 'wcwidth.hyperlink',
 'wcwidth._clip',
 'wcwidth.align',
 'secrets',
 'wcwidth.textwrap',
 'wcwidth.wcwidth',
 'wcwidth',
 'prompt_toolkit.utils',
 'prompt_toolkit.key_binding.key_processor',
 'prompt_toolkit.key_binding',
 'prompt_toolkit.key_binding.vi_state',
 'prompt_toolkit.cursor_shapes',
 'prompt_toolkit.data_structures',
 'prompt_toolkit.styles.base',
 'prompt_toolkit.styles.named_colors',
 'prompt_toolkit.styles.style',
 'prompt_toolkit.styles.defaults',
 'prompt_toolkit.styles.pygments',
 'colorsys',
 'prompt_toolkit.styles.style_transformation',
 'prompt_toolkit.styles',
 'prompt_toolkit.output.color_depth',
 'prompt_toolkit.output.base',
 'prompt_toolkit.output.flush_stdout',
 'prompt_toolkit.output.plain_text',
 'prompt_toolkit.output.defaults',
 'prompt_toolkit.output',
 'prompt_toolkit.output.vt100',
 'prompt_toolkit.mouse_events',
 'prompt_toolkit.formatted_text.base',
 'prompt_toolkit.formatted_text.ansi',
 'xml',
 'xml.dom.domreg',
 'xml.dom',
 'xml.dom.minicompat',
 'xml.dom.NodeFilter',
 'xml.dom.xmlbuilder',
 'xml.dom.minidom',
 'prompt_toolkit.formatted_text.html',
 'prompt_toolkit.formatted_text.pygments',
 'prompt_toolkit.formatted_text.utils',
 'prompt_toolkit.formatted_text',
 'prompt_toolkit.completion.base',
 'prompt_toolkit.completion.deduplicate',
 'prompt_toolkit.completion.filesystem',
 'prompt_toolkit.completion.word_completer',
 'prompt_toolkit.completion.fuzzy_completer',
 'prompt_toolkit.completion.nested',
 'prompt_toolkit.completion',
 'prompt_toolkit.history',
 'prompt_toolkit.search',
 'prompt_toolkit.validation',
 'prompt_toolkit.buffer',
 'prompt_toolkit.input.base',
 'prompt_toolkit.input.defaults',
 'prompt_toolkit.input',
 'prompt_toolkit.input.typeahead',
 'prompt_toolkit.key_binding.bindings',
 'prompt_toolkit.key_binding.bindings.scroll',
 'prompt_toolkit.key_binding.bindings.page_navigation',
 'prompt_toolkit.lexers.base',
 'prompt_toolkit.lexers.pygments',
 'prompt_toolkit.lexers',
 'prompt_toolkit.layout.utils',
 'prompt_toolkit.layout.processors',
 'prompt_toolkit.layout.controls',
 'prompt_toolkit.layout.dimension',
 'prompt_toolkit.layout.margins',
 'prompt_toolkit.layout.mouse_handlers',
 'prompt_toolkit.layout.screen',
 'prompt_toolkit.layout.containers',
 'prompt_toolkit.layout.layout',
 'prompt_toolkit.layout.menus',
 'prompt_toolkit.layout.scrollable_pane',
 'prompt_toolkit.layout',
 'prompt_toolkit.key_binding.bindings.completion',
 'prompt_toolkit.key_binding.bindings.named_commands',
 'prompt_toolkit.key_binding.bindings.basic',
 'prompt_toolkit.key_binding.bindings.cpr',
 'prompt_toolkit.key_binding.bindings.emacs',
 'prompt_toolkit.key_binding.bindings.mouse',
 'prompt_toolkit.input.ansi_escape_sequences',
 'prompt_toolkit.input.vt100_parser',
 'prompt_toolkit.key_binding.digraphs',
 'prompt_toolkit.key_binding.bindings.vi',
 'prompt_toolkit.key_binding.defaults',
 'prompt_toolkit.key_binding.emacs_state',
 'prompt_toolkit.layout.dummy',
 'prompt_toolkit.renderer',
 'prompt_toolkit.application.application',
 'prompt_toolkit.application.dummy',
 'prompt_toolkit.application',
 'prompt_toolkit.widgets.toolbars',
 'prompt_toolkit.widgets.base',
 'prompt_toolkit.key_binding.bindings.focus',
 'prompt_toolkit.widgets.dialogs',
 'prompt_toolkit.widgets.menus',
 'prompt_toolkit.widgets',
 'prompt_toolkit.shortcuts.choice_input',
 'prompt_toolkit.shortcuts.dialogs',
 'xml.parsers',
 'pyexpat.errors',
 'pyexpat.model',
 'pyexpat',
 'xml.parsers.expat.model',
 'xml.parsers.expat.errors',
 'xml.parsers.expat',
 'xml.dom.expatbuilder',
 'prompt_toolkit.shortcuts.progress_bar.formatters',
 'prompt_toolkit.shortcuts.progress_bar.base',
 'prompt_toolkit.shortcuts.progress_bar',
 'prompt_toolkit.key_binding.bindings.auto_suggest',
 'prompt_toolkit.key_binding.bindings.open_in_editor',
 'prompt_toolkit.shortcuts.prompt',
 'prompt_toolkit.shortcuts.utils',
 'prompt_toolkit.shortcuts',
 'email.feedparser',
 'email.parser',
 'prompt_toolkit',
 'prompt_toolkit.patch_stdout',
 'unicodedata',
 'IPython.core.guarded_eval',
 'IPython.core.latex_symbols',
 'IPython.utils.generics',
 'parso.utils',
 'parso.tree',
 'parso.python',
 'parso.python.token',
 'parso.python.tokenize',
 'parso.pgen2.grammar_parser',
 'parso.pgen2.generator',
 'parso.pgen2',
 'parso.parser',
 'parso._compatibility',
 'difflib',
 'parso.python.prefix',
 'parso.python.tree',
 'parso.python.parser',
 'parso.python.diff',
 'parso.cache',
 'parso.normalizer',
 'parso.python.errors',
 'parso.python.pep8',
 'parso.file_io',
 'parso.grammar',
 'parso',
 'jedi.parser_utils',
 'jedi.debug',
 'jedi.settings',
 'jedi.cache',
 'jedi.file_io',
 'jedi.inference.cache',
 'jedi.inference.helpers',
 'jedi.inference.utils',
 'jedi.inference.base_value',
 'jedi.inference.sys_path',
 'jedi.inference.recursion',
 'jedi.inference.flow_analysis',
 'jedi.common',
 'jedi.inference.lazy_value',
 'jedi.inference.docstrings',
 'jedi.plugins',
 'jedi.inference.names',
 'jedi.inference.filters',
 'jedi.inference.compiled.getattr_static',
 'jedi.inference.compiled.access',
 'jedi.inference.signature',
 'jedi.inference.context',
 'jedi.inference.compiled.value',
 'jedi.inference.compiled',
 'jedi.inference.analysis',
 'jedi.inference.gradual',
 'jedi.inference.value.module',
 'jedi.inference.value.dynamic_arrays',
 'jedi.inference.value.iterable',
 'jedi.inference.arguments',
 'jedi.inference.parser_cache',
 'jedi.inference.gradual.generics',
 'jedi.inference.value.function',
 'jedi.inference.value.decorator',
 'jedi.inference.value.klass',
 'jedi.inference.value.instance',
 'jedi.inference.value',
 'jedi.inference.gradual.base',
 'jedi.inference.gradual.type_var',
 'jedi.inference.gradual.typing',
 'jedi.inference.gradual.stub_value',
 'jedi.inference.gradual.typeshed',
 'jedi._compatibility',
 'jedi.inference.compiled.subprocess.functions',
 'jedi.api.exceptions',
 'jedi.inference.compiled.subprocess',
 'jedi.inference.imports',
 'jedi.inference.param',
 'jedi.inference.gradual.annotation',
 'jedi.inference.syntax_tree',
 'jedi.inference',
 'jedi.inference.gradual.conversion',
 'jedi.inference.compiled.mixed',
 'pydoc_data',
 'pydoc_data.topics',
 'jedi.api.keywords',
 'jedi.api.completion_cache',
 'jedi.api.helpers',
 'jedi.api.classes',
 'jedi.api.interpreter',
 'jedi.api.strings',
 'jedi.api.file_name',
 'jedi.inference.docstring_utils',
 'jedi.api.completion',
 'filecmp',
 'jedi.api.environment',
 'jedi.inference.references',
 'jedi.api.project',
 'jedi.api.errors',
 'jedi.inference.value.namespace',
 'jedi.api.refactoring',
 'jedi.api.refactoring.extract',
 'jedi.inference.gradual.utils',
 'jedi.api',
 'jedi.plugins.stdlib',
 'jedi.plugins.flask',
 'jedi.plugins.pytest',
 'jedi.plugins.django',
 'jedi.plugins.registry',
 'jedi',
 'IPython.core.completer',
 'IPython.terminal.ptutils',
 'IPython.terminal.shortcuts.auto_match',
 'IPython.terminal.shortcuts.filters',
 'IPython.terminal.shortcuts.auto_suggest',
 'IPython.terminal.shortcuts',
 'concurrent.futures.thread',
 'IPython.terminal.debugger',
 'IPython.lib.clipboard',
 'IPython.terminal.magics',
 'IPython.terminal.pt_inputhooks',
 'IPython.terminal.prompts',
 'IPython.terminal.interactiveshell',
 'IPython.core.magics.auto',
 'IPython.core.magics.basic',
 'http',
 'http.client',
 'urllib.response',
 'urllib.error',
 'urllib.request',
 'IPython.utils.contexts',
 'IPython.core.magics.code',
 'IPython.core.magics.config',
 'IPython.core.magics.display',
 '_lsprof',
 'profile',
 'cProfile',
 'pstats',
 'timeit',
 'IPython.utils.module_paths',
 'resource',
 'IPython.utils.timing',
 'IPython.core.magics.ast_mod',
 'IPython.core.magics.execution',
 'IPython.core.magics.extension',
 'IPython.core.magics.history',
 'IPython.core.magics.logging',
 'IPython.core.magics.namespace',
 'IPython.core.magics.osm',
 'IPython.core.magics.packaging',
 'IPython.core.magics.pylab',
 'IPython.core.magics.script',
 'IPython.core.magics',
 'IPython.core.shellapp',
 'IPython.extensions',
 'IPython.extensions.storemagic',
 'IPython.terminal.ipapp',
 'IPython.terminal.embed',
 'IPython.utils.frame',
 'IPython',
 'ipykernel.thread',
 'ipykernel.control',
 'ipykernel.heartbeat',
 'ipykernel.iostream',
 'comm.base_comm',
 'comm',
 'ipykernel.jsonutil',
 'psutil._common',
 'psutil._ntuples',
 'psutil._psposix',
 'psutil._psutil_linux',
 'psutil._pslinux',
 'psutil',
 'ipykernel.utils',
 'ipykernel.kernelbase',
 'ipykernel.comm.comm',
 'ipykernel.comm.manager',
 'ipykernel.comm',
 'ipykernel.compiler',
 'packaging',
 'packaging.version',
 'ipykernel.eventloops',
 'ipykernel.displayhook',
 'ipykernel.zmqshell',
 'ipykernel.ipkernel',
 '_ctypes',
 'ctypes._endian',
 'ctypes',
 'ipykernel.parentpoller',
 'ipykernel.socket_pair',
 'ipykernel.subshell',
 'ipykernel.subshell_manager',
 'ipykernel.shellchannel',
 'ipykernel.kernelapp',
 'tornado.platform',
 'tornado.gen',
 'tornado.platform.asyncio',
 'tornado.locks',
 'tornado.queues',
 'debugpy._version',
 'debugpy.public_api',
 'debugpy',
 'debugpy._vendored._util',
 'debugpy._vendored',
 '_pydevd_bundle',
 'encodings.ascii',
 'encodings.latin_1',
 'stringprep',
 'encodings.idna',
 '_pydevd_bundle.pydevd_vm_type',
 '_pydev_bundle',
 'xmlrpc',
 'gzip',
 'xmlrpc.client',
 'http.server',
 'xmlrpc.server',
 '_pydev_bundle._pydev_saved_modules',
 '_pydevd_bundle.pydevd_constants',
 '_pydev_runfiles',
 '_pydevd_frame_eval',
 'pydev_ipython',
 'pydevd_plugins',
 '_pydev_bundle.pydev_log',
 '_pydev_bundle._pydev_filesystem_encoding',
 '_pydevd_bundle.pydevd_comm_constants',
 'pydevd_file_utils',
 '_pydevd_bundle.pydevd_dont_trace_files',
 '_pydev_bundle._pydev_execfile',
 '_pydevd_bundle.pydevd_exec2',
 '_pydev_bundle.pydev_imports',
 '_pydev_bundle.pydev_is_thread_alive',
 '_pydev_bundle.pydev_override',
 'pydevd_plugins.extensions',
 '_pydevd_bundle.pydevd_extension_utils',
 '_pydevd_bundle.pydevd_frame_utils',
 '_pydevd_bundle.pydevd_filtering',
 '_pydevd_bundle.pydevd_io',
 '_pydevd_bundle.pydevd_defaults',
 '_pydevd_bundle.pydevd_utils',
 '_pydevd_bundle.pydevd_runpy',
 '_pydev_bundle._pydev_tipper_common',
 '_pydev_bundle._pydev_imports_tipper',
 '_pydev_bundle._pydev_calltip_util',
 '_pydevd_bundle.pydevd_safe_repr',
 '_pydevd_bundle.pydevd_resolver',
 '_pydevd_bundle.pydevd_extension_api',
 '_pydevd_bundle.pydevd_xml',
 '_cython_3_2_4',
 '_pydevd_bundle.pydevd_dont_trace',
 '_pydevd_frame_eval.vendored',
 '_pydevd_frame_eval.vendored.bytecode.flags',
 '_pydevd_frame_eval.vendored.bytecode.instr',
 '_pydevd_frame_eval.vendored.bytecode.bytecode',
 '_pydevd_frame_eval.vendored.bytecode.concrete',
 '_pydevd_frame_eval.vendored.bytecode.cfg',
 '_pydevd_frame_eval.vendored.bytecode',
 '_pydevd_bundle.pydevd_bytecode_utils',
 '_pydevd_bundle.pydevd_cython',
 '_pydevd_bundle.pydevd_cython_wrapper',
 '_pydevd_bundle.pydevd_additional_thread_info',
 '_pydevd_sys_monitoring',
 '_pydevd_sys_monitoring_cython',
 '_pydevd_bundle.pydevd_additional_thread_info_regular',
 '_pydevd_bundle.pydevd_trace_dispatch',
 '_pydevd_bundle.pydevd_import_class',
 '_pydevd_bundle.pydevd_breakpoints',
 '_pydevd_sys_monitoring._pydevd_sys_monitoring_cython',
 '_pydevd_sys_monitoring.pydevd_sys_monitoring',
 '_pydevd_bundle.pydevd_thread_lifecycle',
 '_pydevd_bundle.pydevd_save_locals',
 '_pydev_bundle.pydev_monkey',
 'pydevd_tracing',
 '_pydevd_bundle.pydevd_collect_bytecode_info',
 '_pydevd_bundle.pydevd_daemon_thread',
 '_pydevd_bundle.pydevd_timeout',
 '_pydevd_bundle.pydevd_vars',
 '_pydev_bundle.pydev_console_utils',
 '_pydevd_bundle.pydevd_custom_frames',
 '_pydevd_bundle.pydevd_net_command',
 '_pydevd_bundle.pydevconsole_code',
 '_pydev_bundle.pydev_umd',
 'pydevconsole',
 '_pydev_bundle._pydev_completer',
 '_pydevd_bundle.pydevd_net_command_factory_xml',
 '_pydevd_frame_eval.pydevd_frame_eval_main',
 '_pydevd_bundle.pydevd_source_mapping',
 '_pydevd_bundle.pydevd_concurrency_analyser',
 '_pydevd_bundle.pydevd_concurrency_analyser.pydevd_thread_wrappers',
 '_pydevd_bundle.pydevd_concurrency_analyser.pydevd_concurrency_logger',
 '_pydevd_bundle._debug_adapter',
 '_pydevd_bundle._debug_adapter.pydevd_schema_log',
 '_pydevd_bundle._debug_adapter.pydevd_base_schema',
 '_pydevd_bundle._debug_adapter.pydevd_schema',
 '_pydevd_bundle.pydevd_reload',
 '_pydev_bundle.fsnotify',
 '_pydevd_bundle.pydevd_console',
 '_pydevd_bundle.pydevd_comm',
 '_pydevd_bundle.pydevd_net_command_factory_json',
 '_pydevd_bundle.pydevd_api',
 '_pydevd_bundle.pydevd_json_debug_options',
 '_pydevd_bundle.pydevd_process_net_command_json',
 '_pydevd_bundle.pydevd_traceproperty',
 '_pydevd_bundle.pydevd_process_net_command',
 '_pydevd_bundle.pydevd_suspended_frames',
 'pydevd_plugins.pydevd_line_validation',
 'pydevd_plugins.django_debug',
 'pydevd_plugins.jinja2_debug',
 '_pydevd_bundle.pydevd_plugin_utils',
 'pydevd_plugins.extensions.types',
 'pydevd_plugins.extensions.types.pydevd_helpers',
 'pydevd_plugins.extensions.types.pydevd_plugin_numpy_types',
 'pydevd_plugins.extensions.types.pydevd_plugin_pandas_types',
 'pydevd_plugins.extensions.types.pydevd_plugins_django_form_str',
 'pydevd',
 'debugpy._vendored.force_pydevd',
 'debugpy.server',
 'debugpy.adapter',
 'debugpy.common',
 'debugpy.common.json',
 'debugpy.common.timestamp',
 'debugpy.common.util',
 'debugpy.common.log',
 ...]

The list of libraries tends to be pretty long.

Citations in Simulations

For convenience a generate_citations flag is included in the top level simulate_lightcurves function.

Disclaimer

Citation-Compass is still experimental and relies on users to explicitly annotate the functions. LightCurveLynx users should confirm that they are citing all of the relevant papers.