a
    ߙfb                      @   s   d dl Z d dlZd dlmZ d dlmZ d dlmZ ddl	m
Z
 ddlmZmZ dgee
j Zd	d
giZe
jD ]bZeee
eZede ejedddZe dejj dejd  de_ee je ee qp[[[G dd deZ dS )    N)units)AstropyDeprecationWarning)ScienceState   )
parameters)_COSMOLOGY_CLASSES	Cosmologydefault_cosmology*ZscipynamemappingT)formatZmove_to_metaz instance of z cosmology
(from Z	reference)c                   @   s,   e Zd ZdZdZedd Zedd ZdS )r	   a~  
    The default cosmology to use.  To change it::

        >>> from astropy.cosmology import default_cosmology, WMAP7
        >>> with default_cosmology.set(WMAP7):
        ...     # WMAP7 cosmology in effect
        ...     pass

    Or, you may use a string::

        >>> with default_cosmology.set('WMAP7'):
        ...     # WMAP7 cosmology in effect
        ...     pass
    Planck18c                 C   sP   | dkrd}n>zt tjt | }W n( tyJ   d| tj}t|Y n0 |S )z4 Return a cosmology instance from a string.
        Z
no_defaultNz-Unknown cosmology '{}'. Valid cosmologies:
{})	getattrsysmodules__name__AttributeErrorr   r   	available
ValueError)argcosmos r   =lib/python3.9/site-packages/astropy/cosmology/realizations.pyget_cosmology_from_string7   s    z+default_cosmology.get_cosmology_from_stringc                 C   sT   |d u rd}t |tr:|dkr0t| dt | |S t |trH|S tdd S )Nr   ZPlanck18_arXiv_v2z3 is deprecated in astropy 4.2, use Planck18 insteadz9default_cosmology must be a string or Cosmology instance.)
isinstancestrwarningswarnr   r   r   	TypeError)clsvaluer   r   r   validateG   s    


zdefault_cosmology.validateN)	r   
__module____qualname____doc__Z_valuestaticmethodr   classmethodr$   r   r   r   r   r	   %   s   
)!r   r   Zastropyr   uZastropy.utils.exceptionsr   Zastropy.utils.stater    r   corer   r   listr   __all__Z__doctest_requires__keydictr   params
setdefaultZfrom_formatr   	__class__r&   metar'   setattrr   r   r	   r   r   r   r   <module>   s$   


