
    ib(                     P   d Z dZdZddlZddlmZ ddlmZmZm	Z	m
Z
 ddlmZmZ ddlmZmZ dd	lmZmZmZmZmZmZmZmZmZ dd
lmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' ddl(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0 ddl1m2Z2 ddl3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 ddl:m;Z;m<Z<m=Z= ddl>m?Z?m@Z@ ddlAmBZB ddlCmDZD ddlEmFZF ddlGmHZHmIZImJZJmKZKmLZLmMZMmNZN ddlOmPZPmQZQmRZR ddlSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z] ddl^m_Z_m`Z`maZambZbmcZcmdZdmeZe ej                  dk7  r	 ddlgZg egj                          g dZjy# ei$ r Y w xY w)a  
ProjectX Python SDK for Trading Applications

Author: @TexasCoding
Date: 2025-09-22
Version: 3.5.9 - Realtime Data Validation Fix

Overview:
    A comprehensive Python SDK for the ProjectX Trading Platform Gateway API, providing
    developers with tools to build sophisticated trading strategies and applications.
    This library offers comprehensive access to real-time market data, order management,
    position tracking, and advanced analytics for algorithmic trading.

Key Features (v3.5.0):
    - Multi-instrument TradingSuite for managing multiple futures contracts simultaneously
    - Real-time market data streaming and historical data access
    - Comprehensive order management (market, limit, stop, bracket orders)
    - Position tracking and portfolio analytics with cross-instrument analysis
    - Level 2 orderbook depth and market microstructure analysis
    - Advanced technical indicators and pattern recognition
    - Risk management and position sizing tools across multiple instruments
    - Multi-timeframe data management and analysis
    - Pairs trading and spread analysis capabilities
    - Event isolation and parallel processing for multiple instruments
    - WebSocket-based real-time updates and event handling
    - Comprehensive statistics and analytics system with health monitoring
    - Fine-grained locking and async-first performance optimization

Core Components:
    - TradingSuite: All-in-one trading environment with automatic initialization
    - ProjectX: Main client for API interactions and authentication
    - OrderManager: Order placement, modification, and tracking
    - PositionManager: Position monitoring, analytics, and risk management
    - OrderBook: Level 2 market depth analysis and order flow
    - RealtimeDataManager: Multi-timeframe real-time data processing
    - ProjectXRealtimeClient: WebSocket-based real-time connections
    - Statistics Module: Comprehensive async statistics system with health monitoring

Trading Capabilities:
    - Market data retrieval and real-time streaming
    - Account management and authentication
    - Order placement, modification, and cancellation
    - Position management and portfolio analytics
    - Trade history and execution analysis
    - Advanced technical indicators and market analysis
    - Level 2 orderbook depth and market microstructure
    - Risk management and position sizing
    - Real-time statistics tracking and performance monitoring
    - Health scoring and system analytics with multi-format export

Example Usage:
    ```python
    from project_x_py import TradingSuite

    # Simple one-line setup with TradingSuite v3
    suite = await TradingSuite.create("MGC", timeframes=["1min", "5min", "15min"])

    # Everything is ready to use:
    bars = await suite.client.get_bars("MGC", days=5)

    # Place orders
    response = await suite.orders.place_market_order(
        contract_id=suite.instrument_info.id,
        side=0,  # Buy
        size=1,
    )

    # Track positions
    positions = await suite.positions.get_all_positions()

    # Access real-time data
    current_price = await suite.data.get_current_price()

    # Get comprehensive statistics (v3.3.0+)
    stats = await suite.get_stats()
    print(f"System Health: {stats['health_score']}/100")
    print(f"API Success Rate: {stats['api_success_rate']:.1%}")

    # Export statistics to multiple formats
    prometheus_metrics = await suite.export_stats("prometheus")
    csv_data = await suite.export_stats("csv")

    # Clean shutdown
    await suite.disconnect()
    ```

Architecture Benefits:
    - Async-first design for high-performance trading applications
    - Comprehensive error handling and retry logic
    - Rate limiting and connection management
    - Real-time data processing with WebSocket integration
    - Modular design for flexible trading system development
    - Type-safe operations with comprehensive validation

**Important**: This is a development toolkit/SDK, not a trading strategy itself.
It provides the infrastructure to help developers create their own trading applications
that integrate with the ProjectX platform.

Version: 3.3.0
Author: TexasCoding

See Also:
    - `client`: Main client for API interactions
    - `order_manager`: Order management and tracking
    - `position_manager`: Position monitoring and analytics
    - `orderbook`: Level 2 market depth analysis
    - `realtime_data_manager`: Real-time data processing
    - `indicators`: Technical analysis and indicators
    - `utils`: Utility functions and calculations
z3.5.9TexasCoding    N)ProjectX)ConfigManagercreate_custom_configload_default_configload_topstepx_config)MemoryMappedStorageTimeSeriesStorage)EventBus	EventType)	ProjectXAuthenticationErrorProjectXConnectionErrorProjectXDataErrorProjectXErrorProjectXInstrumentErrorProjectXOrderErrorProjectXPositionErrorProjectXRateLimitErrorProjectXServerError)calculate_adxcalculate_atrcalculate_bollinger_bands!calculate_commodity_channel_indexcalculate_emacalculate_macdcalculate_obvcalculate_rsicalculate_smacalculate_stochasticcalculate_vwapcalculate_williams_r)AccountBracketOrderResponse
InstrumentOrderOrderPlaceResponsePositionProjectXConfigTrade)OrderManager)ATRStopTemplateBreakoutTemplateOrderTemplateRiskRewardTemplateScalpingTemplateget_template)OrderChainBuilderOrderLifecycleErrorOrderTracker)	OrderBookcreate_orderbook)PositionManager)ProjectXRealtimeClient)RealtimeDataManager)DEFAULT_SESSIONSSessionAnalyticsSessionConfigSessionFilterMixinSessionStatisticsSessionTimesSessionType)FeaturesTradingSuiteTradingSuiteConfig)
HealthStatusResponseOrderManagerConfig	OrderSideOrderStatus	OrderTypePerformanceStatsResponsePortfolioMetricsResponsePositionManagerConfigPositionTypeRiskAnalysisResponse)RateLimitercalculate_max_drawdowncalculate_portfolio_metricscalculate_sharpe_ratioget_env_varround_to_tick_sizesetup_loggingwin32)Rr"   r#   r   r;   r>   r?   r9   r<   r=   r:   r   r   r@   rC   r$   r%   r4   r1   r2   r*   rD   r&   r-   r3   rE   rF   rG   rH   rI   r'   r6   rJ   rK   r   r	   r
   r   r(   r   r   r   r   r   r   r   r7   r   rM   r8   rL   r)   rA   rB   
__author____version__r+   r,   r.   r/   r0   r   r   r   r   r   r   rN   r   rO   r   rP   r   r   r    r!   r   r5   rQ   r   r   rR   rS   )k__doc__rV   rU   sysproject_x_py.clientr   project_x_py.configr   r   r   r   project_x_py.datar	   r
   project_x_py.event_busr   r   project_x_py.exceptionsr   r   r   r   r   r   r   r   r   project_x_py.indicatorsr   r   r   r   r   r   r   r   r   r   r    r!   project_x_py.modelsr"   r#   r$   r%   r&   r'   r(   r)   project_x_py.order_managerr*   project_x_py.order_templatesr+   r,   r-   r.   r/   r0   project_x_py.order_trackerr1   r2   r3   project_x_py.orderbookr4   r5   project_x_py.position_managerr6   project_x_py.realtimer7   "project_x_py.realtime_data_managerr8   project_x_py.sessionsr9   r:   r;   r<   r=   r>   r?   project_x_py.trading_suiter@   rA   rB   project_x_py.typesrC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   project_x_py.utilsrM   rN   rO   rP   rQ   rR   rS   platformuvloopinstallImportError__all__     N/home/work/apex_v16/venv/lib/python3.12/site-packages/project_x_py/__init__.py<module>rs      s  m^ 
  (  E 7
 
 
   "   4  
 : R B   R Q   
 
 
 <<7^  s   D D%$D%