"""DepthSignal Python SDK.

Official client library for the DepthSignal API.
Provides typed access to orderbook microstructure intelligence.

Usage::

    from depthsignal import DepthSignal

    ds = DepthSignal(api_key="your-api-key")
    features = ds.orderbook_features("BTCUSDT")
    print(features.features["binance"]["vpin"])

Async usage::

    from depthsignal import AsyncDepthSignal

    async with AsyncDepthSignal(api_key="your-api-key") as ds:
        features = await ds.orderbook_features("BTCUSDT")
        print(features.features["binance"]["vpin"])
"""

from depthsignal.async_client import AsyncDepthSignal
from depthsignal.client import DepthSignal
from depthsignal.exceptions import (
    APIConnectionError,
    AuthenticationError,
    DepthSignalError,
    RateLimitError,
    TierAccessError,
)
from depthsignal.models import (
    AggregatedCompositesData,
    AggregatedFeaturesData,
    ArbitrageData,
    BasisData,
    CVDData,
    CascadeRiskData,
    CompositeSignals,
    ConsensusData,
    CorrelationData,
    DepthProfileData,
    DepthResilienceData,
    DerivativesData,
    DriftData,
    ExecutionCostData,
    FlowAssetData,
    FlowOverview,
    HistoricalCompositesData,
    HistoricalFeaturesData,
    LargeTradeData,
    LiquidationData,
    MarketProtectionData,
    OrderbookFeatures,
    PositioningData,
    RegimeData,
    SentimentData,
    SpotFuturesData,
    SpreadEventsData,
    SupportResistanceZones,
    SymbolInfo,
    VenueSelectionData,
    WhaleFlowData,
)

__version__ = "1.0.0"
__all__ = [
    "DepthSignal",
    "AsyncDepthSignal",
    "DepthSignalError",
    "RateLimitError",
    "AuthenticationError",
    "TierAccessError",
    "APIConnectionError",
    # Orderbook
    "OrderbookFeatures",
    "CompositeSignals",
    "SupportResistanceZones",
    # Flow Intelligence
    "FlowOverview",
    "FlowAssetData",
    "LiquidationData",
    "LargeTradeData",
    "CVDData",
    "SpotFuturesData",
    "DerivativesData",
    "PositioningData",
    "SentimentData",
    # Historical
    "HistoricalFeaturesData",
    "HistoricalCompositesData",
    # Aggregated
    "AggregatedFeaturesData",
    "AggregatedCompositesData",
    # Advanced Analytics
    "RegimeData",
    "DriftData",
    "CascadeRiskData",
    "ConsensusData",
    "ArbitrageData",
    "MarketProtectionData",
    "DepthProfileData",
    "BasisData",
    # Venue Analytics
    "VenueSelectionData",
    "DepthResilienceData",
    "SpreadEventsData",
    "ExecutionCostData",
    "CorrelationData",
    "WhaleFlowData",
    # Discovery
    "SymbolInfo",
]
