# -*- mode: python; coding: utf-8 -*- # Copyright (c) 2018 Radio Astronomy Software Group # Licensed under the 2-clause BSD License """Init file for pyuvdata.""" import warnings from pathlib import Path from pkg_resources import DistributionNotFound, get_distribution from setuptools_scm import get_version from .branch_scheme import branch_scheme try: # pragma: nocover # get accurate version for developer installs version_str = get_version(Path(__file__).parent.parent, local_scheme=branch_scheme) __version__ = version_str except (LookupError, ImportError): try: # Set the version automatically from the package details. __version__ = get_distribution(__name__).version except DistributionNotFound: # pragma: nocover # package is not installed pass # Filter annoying Cython warnings that serve no good purpose. see numpy#432 # needs to be done before the imports to work properly warnings.filterwarnings("ignore", message="numpy.dtype size changed") warnings.filterwarnings("ignore", message="numpy.ufunc size changed") from .telescopes import Telescope, get_telescope, known_telescopes # noqa from .uvbeam import UVBeam # noqa from .uvcal import UVCal # noqa from .uvdata import UVData # noqa from .uvflag import UVFlag # noqa __all__ = [ "UVData", "UVCal", "UVFlag", "UVBeam", "Telescope", "known_telescopes", "get_telescope", ] # adapted from https://github.com/astropy/astropy/__init__.py # please consult astropy/__init__.py for clarification on logic details # Cleanup the top-level namespace. # Delete everything that is not in __all__, a magic function, # or is a submodule of this package from types import ModuleType as __module_type__ # noqa for varname in dir(): if not ( varname in __all__ or (varname.startswith("__") and varname.endswith("__")) or ( varname[0] != "_" and isinstance(locals()[varname], __module_type__) and locals()[varname].__name__.startswith(__name__ + ".") ) ): del locals()[varname] del varname, __module_type__