'''
Welcome to pyinfra.
'''

import logging


# Global flag set True by `pyinfra_cli.__main__`
is_cli = False

# Global pyinfra logger
logger = logging.getLogger('pyinfra')

# Setup package level version
from .version import __version__  # noqa

# Trigger pseudo_* creation
from . import pseudo_modules  # noqa

# Trigger fact index creation
from . import facts  # noqa

# Trigger module imports
from . import operations  # noqa # pragma: no cover

# Initialise base classes - this sets the pseudo modules to point at the underlying
# class objects (Host, etc), which makes ipython/etc work as expected.
pseudo_modules.init_base_classes()
