Source code for astropy.units.format
# Licensed under a 3-clause BSD style license - see LICENSE.rst
"""
A collection of different unit formats.
"""
# This is pretty atrocious, but it will prevent a circular import for those
# formatters that need access to the units.core module An entry for it should
# exist in sys.modules since astropy.units.core imports this module
import sys
core = sys.modules["astropy.units.core"]
from .base import Base
from .cds import CDS
from .console import Console
from .fits import Fits
from .generic import Generic, Unscaled
from .latex import Latex, LatexInline
from .ogip import OGIP
from .unicode_format import Unicode
from .vounit import VOUnit
__all__ = [
"Base",
"Generic",
"CDS",
"Console",
"Fits",
"Latex",
"LatexInline",
"OGIP",
"Unicode",
"Unscaled",
"VOUnit",
"get_format",
]
def _known_formats():
inout = [
name
for name, cls in Base.registry.items()
if cls.parse.__func__ is not Base.parse.__func__
]
out_only = [
name
for name, cls in Base.registry.items()
if cls.parse.__func__ is Base.parse.__func__
]
return (
f"Valid formatter names are: {inout} for input and output, "
f"and {out_only} for output only."
)