"""
Dazzler systems (API)

- Requirements are JS/CSS resources to include on rendering.
- Packages hold components info and it's requirements.
- Component Aspects are shared between backend and frontend with bindings.
- Generate components with
``dazzler generate metadata.json output_dir``
- Page holds meta data for page rendering and requirements, routes, layout and
bindings used on a single page of the application.
"""
from ._component import Component, Aspect  # noqa: F401
from ._binding import *  # noqa: F401, F403
from ._package import Package  # noqa: F401
from ._requirements import (  # noqa: F401
    Requirement,
    RequirementWarning,
    assets_to_requirements,
    collect_requirements,
)
from ._generator import generate_components  # noqa: F401
from ._undefined import UNDEFINED, Undefined  # noqa: F401
from ._page import Page  # noqa: F401
