Skip to main content

No project description provided

Project description

cosmopy

|version| |build-status| |coverage|

Quickly calculate cosmological parameters.

  • Provides both command-line and API interfaces.

  • Uses the machinery from the astropy.cosmology package.

The user provides an input parameter (e.g. redshift or luminosity-distance) and recieves the entire set of cosmological measures corresponding to the epoch thus specified.

The below gif shows three examples: inputting a redshift, a luminosity distance (-dl 400Mpc), and an age of the universe (-ta 3.2Gyr).

.. image:: https://raw.githubusercontent.com/lzkelley/cosmopy/dev/docs/cosmopy_demo.gif :height: 600px

Installation

Using pip:

::

pip install cosmopy

From source:

::

git clone git@github.com:lzkelley/cosmopy.git pip install cosmopy

Usage

cosmopy can be used via the command-line cosmo command, or via python API by importing the module directly.

  • Command Line:

    ::

      $ cosmo --help
    
       usage: cosmo [-h] [-z Z] [-a A] [-dc DC] [-dl DL] [-tl TL] [-ta TA] [-v]
    
       cosmopy: cosmological calculator.
    
       optional arguments:
         -h, --help      show this help message and exit
         -z Z            target redshift z
         -a A            target scale factor a
         -dc DC, -cd DC  target coming distance D_C
         -dl DL, -ld DL  target luminosity distance D_L
         -tl TL, -lt TL  target look-back time T_L
         -ta TA, -at TA  target universe age T_A
         -v, --version   print version information.
    

    For example, entering an input redshift of 0.2:

    ::

      $ cosmo -z 0.2
    
             z = 0.2000                                : Redshift
             a = 0.8333                                : Scale-factor
           D_c = 815.3960 Mpc      ~ 2.5160e+27 cm     : Comoving Distance
           D_L = 978.4752 Mpc      ~ 3.0193e+27 cm     : Luminosity Distance
           D_A = 679.4967 Mpc      ~ 2.0967e+27 cm     : Angular Diameter Distance
        Arcsec = 3294.2928 pc      ~ 1.0165e+22 cm     : Arcsecond Scale
          T_lb = 2.4277 Gyr        ~ 7.6613e+16 s      : Lookback Time
           T_a = 11.3235 Gyr       ~ 3.5734e+17 s      : Age of the Universe
            DM = 39.9527                               : Distance Modulus
    

    or an input luminosity-distance of 400 Mpc:

    ::

      $ cosmo -dl 400Mpc
    
             z = 0.0880                                : Redshift
             a = 0.9192                                : Scale-factor
           D_c = 367.6631 Mpc      ~ 1.1345e+27 cm     : Comoving Distance
           D_L = 400.0000 Mpc      ~ 1.2343e+27 cm     : Luminosity Distance
           D_A = 337.9403 Mpc      ~ 1.0428e+27 cm     : Angular Diameter Distance
        Arcsec = 1638.3809 pc      ~ 5.0555e+21 cm     : Arcsecond Scale
          T_lb = 1.1496 Gyr        ~ 3.6280e+16 s      : Lookback Time
           T_a = 12.6016 Gyr       ~ 3.9768e+17 s      : Age of the Universe
            DM = 38.0103                               : Distance Modulus
    
  • Python API

    The module can be imported as cosmopy, from which the primary access point is the api function which accepts two arguments: a key (a target cosmological parameter) and a value of that parameter (optionally including units). The function returns a dictionary with the computed values as key: value pairs (both strings). For example:

    ::

      $ python -c "import cosmopy; print(cosmopy.api('dl', '1.2 Gpc'))"
       {'z': '0.2396', 'dl': '1200.0000 Mpc', 'tl': '2.8359 Gyr', 'dc': '968.0336 Mpc', 'ta': '10.9153 Gyr', 'da': '780.9075 Mpc', 'dm': '40.3959', 'arc': '3785.9464 pc', 'a': '0.8067'}
    

.. |version| image:: https://img.shields.io/pypi/v/cosmopy :alt: PyPI :target: https://pypi.org/project/cosmopy/

.. |build-status| image:: https://github.com/lzkelley/cosmopy/actions/workflows/build-status.yml/badge.svg :alt: build-status :target: https://github.com/lzkelley/cosmopy/actions/workflows/build-status.yml

.. |coverage| image:: https://codecov.io/gh/lzkelley/cosmopy/branch/main/graph/badge.svg?token=ZRPgCWUaVW :alt: coverage :target: https://codecov.io/gh/lzkelley/cosmopy

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cosmopy-3.6.tar.gz (1.7 MB view hashes)

Uploaded Source

Built Distribution

cosmopy-3.6-py3-none-any.whl (17.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page