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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file cosmopy-3.6.tar.gz.

File metadata

  • Download URL: cosmopy-3.6.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for cosmopy-3.6.tar.gz
Algorithm Hash digest
SHA256 081a1932a1dca799c70343a7e607e91b476811f90a79246081a1b7ef3778b49b
MD5 eafa4c3498bb879b4f6d305e457baa2d
BLAKE2b-256 fa86655e86e19255b26b9537460883b078fe0118a8bf3b92930a5b1595ab9b6c

See more details on using hashes here.

File details

Details for the file cosmopy-3.6-py3-none-any.whl.

File metadata

  • Download URL: cosmopy-3.6-py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for cosmopy-3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 79a645ff51a0b852abc5eb1a85e5a51021096d79859839b8f55dc85bdf356dc9
MD5 5d7abbe5511fc25d11dbc6f376baf5cb
BLAKE2b-256 5d218bcf6f988062a3ad8e1b1489e2576382ed710ab3025442696af98816d08f

See more details on using hashes here.

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