Source code for pycsamt.api

"""Public API helpers shared across pyCSAMT packages."""

from pycsamt.topo.config import (
    PYCSAMT_TOPO,
    Y_DEPTH_TYPES,
    Y_FREQ_TYPES,
    TopoConfig,
    configure_topo,
    reset_topo,
)

from .agents import (
    AGENT_CONFIG,
    AgentConfig,
    BudgetExceededError,
    configure_agents,
    reset_agents,
)
from .cli import (
    PYCSAMT_CLI,
    BuildConfig,
    # custom param types
    EDIDir,
    EDIPath,
    FreqRange,
    LogConfig,
    OutputConfig,
    PyCSAMTCLI,
    StationList,
    # shared option decorators
    common_options,
    configure_cli,
    format_option,
    n_jobs_option,
    no_cache_option,
    no_color_option,
    output_dir_option,
    overwrite_option,
    reset_cli,
    verbose_option,
)
from .control import (
    PYCSAMT_CONTROL,
    FrequencyAxisControl,
    PhaseViewControl,
    PyCSAMTControl,
    RhoViewControl,
    configure_control,
    reset_control,
    wrap_phase,
)
from .interp import (
    PYCSAMT_INTERP,
    HydroProfileStyle,
    HydroSectionStyle,
    InterpStyle,
    PyCSAMTInterp,
    configure_interp,
    reset_interp,
    use_interp,
)
from .labels import (
    FREQUENCY_LABEL,
    LOG10_PERIOD_LABEL,
    PERIOD_LABEL,
    STATION_LABEL,
    period_axis_label,
)
from .pipe import (
    PYCSAMT_PIPE,
    PipelineAPIConfig,
    configure_pipe,
    reset_pipe,
)
from .plot import (
    PLOT_CONFIG,
    PlotConfig,
    load_plot_config,
    reset_plot_config,
    save_fig,
    set_dpi,
    set_fmt,
    set_savedir,
    write_default_config,
)
from .property import MetadataMixin, PyCSAMTObject
from .section import (
    PYCSAMT_SECTION,
    PyCSAMTSection,
    SectionAxisStyle,
    SectionColorbarStyle,
    SectionFigureStyle,
    SectionStyle,
    configure_section,
    reset_section,
)
from .station import (
    PYCSAMT_STATION_RENDERING,
    PyCSAMTStationRendering,
    StationAxisStyle,
    StationMarkerStyle,
    configure_station_rendering,
    reset_station_rendering,
)
from .style import (
    PYCSAMT_STYLE,
    CorrectionStyle,
    MTComponentStyle,
    MultilineStyle,
    PhaseTensorEllipseStyle,
    PyCSAMTStyle,
    RawDataStyle,
    RoseStyle,
    configure_style,
    reset_style,
    use_style,
)
from .view import (
    PYCSAMT_API_VIEW,
    APIFrame,
    APIResult,
    APISurvey,
    APIViewConfig,
    FrameProfile,
    ProgressConfig,
    api_frame,
    configure_api_view,
    geology_dataframe,
    geology_table,
    iter_progress,
    maybe_wrap_frame,
    progress_enabled,
    quality_dataframe,
    quality_table,
    read_edi,
    read_edis,
    read_sites,
    reset_api_view,
    sites_summary,
    wrap_frame,
    wrap_result,
)

__all__ = [
    # topography API
    "TopoConfig",
    "PYCSAMT_TOPO",
    "Y_DEPTH_TYPES",
    "Y_FREQ_TYPES",
    "configure_topo",
    "reset_topo",
    # pipeline API
    "PYCSAMT_PIPE",
    "PipelineAPIConfig",
    "configure_pipe",
    "reset_pipe",
    # agent LLM config
    "AGENT_CONFIG",
    "AgentConfig",
    "BudgetExceededError",
    "configure_agents",
    "reset_agents",
    "MetadataMixin",
    "PyCSAMTObject",
    # interp API
    "PYCSAMT_INTERP",
    "PyCSAMTInterp",
    "HydroSectionStyle",
    "HydroProfileStyle",
    "InterpStyle",
    "configure_interp",
    "reset_interp",
    "use_interp",
    # control API
    "FrequencyAxisControl",
    "PYCSAMT_CONTROL",
    "PhaseViewControl",
    "PyCSAMTControl",
    "RhoViewControl",
    "configure_control",
    "reset_control",
    "wrap_phase",
    # section API
    "PYCSAMT_SECTION",
    "PyCSAMTSection",
    "SectionAxisStyle",
    "SectionColorbarStyle",
    "SectionFigureStyle",
    "SectionStyle",
    "configure_section",
    "reset_section",
    # station rendering API
    "PYCSAMT_STATION_RENDERING",
    "PyCSAMTStationRendering",
    "StationAxisStyle",
    "StationMarkerStyle",
    "configure_station_rendering",
    "reset_station_rendering",
    # style API
    "PyCSAMTStyle",
    "MultilineStyle",
    "MTComponentStyle",
    "CorrectionStyle",
    "PhaseTensorEllipseStyle",
    "RawDataStyle",
    "RoseStyle",
    "PYCSAMT_STYLE",
    "use_style",
    "reset_style",
    "configure_style",
    # plot-export API
    "PlotConfig",
    "PLOT_CONFIG",
    "save_fig",
    "set_fmt",
    "set_dpi",
    "set_savedir",
    "reset_plot_config",
    "load_plot_config",
    "write_default_config",
    # public result/data view API
    "APIFrame",
    "APIResult",
    "APISurvey",
    "APIViewConfig",
    "FrameProfile",
    "PYCSAMT_API_VIEW",
    "ProgressConfig",
    "api_frame",
    "configure_api_view",
    "iter_progress",
    "maybe_wrap_frame",
    "progress_enabled",
    "read_edi",
    "read_edis",
    "read_sites",
    "reset_api_view",
    "wrap_frame",
    "wrap_result",
    "geology_dataframe",
    "geology_table",
    "quality_dataframe",
    "quality_table",
    "sites_summary",
    # CLI configuration API
    "BuildConfig",
    "LogConfig",
    "OutputConfig",
    "PYCSAMT_CLI",
    "PyCSAMTCLI",
    "configure_cli",
    "reset_cli",
    # CLI option decorators
    "common_options",
    "format_option",
    "n_jobs_option",
    "no_cache_option",
    "no_color_option",
    "output_dir_option",
    "overwrite_option",
    "verbose_option",
    # CLI param types
    "EDIDir",
    "EDIPath",
    "FreqRange",
    "StationList",
]