unrealon 1.0.8__tar.gz → 1.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- unrealon-1.1.0/.gitignore +350 -0
- {unrealon-1.0.8 → unrealon-1.1.0}/LICENSE +1 -1
- unrealon-1.1.0/MANIFEST.in +55 -0
- unrealon-1.1.0/PKG-INFO +164 -0
- unrealon-1.1.0/README.md +85 -0
- unrealon-1.1.0/pyproject.toml +327 -0
- unrealon-1.1.0/requirements-dev.txt +41 -0
- unrealon-1.1.0/requirements-test.txt +29 -0
- unrealon-1.1.0/requirements.txt +23 -0
- unrealon-1.1.0/src/unrealon/__init__.py +30 -0
- unrealon-1.1.0/src/unrealon_bridge/__init__.py +114 -0
- unrealon-1.1.0/src/unrealon_bridge/cli.py +316 -0
- unrealon-1.1.0/src/unrealon_bridge/client/__init__.py +93 -0
- unrealon-1.1.0/src/unrealon_bridge/client/base.py +78 -0
- unrealon-1.1.0/src/unrealon_bridge/client/commands.py +89 -0
- unrealon-1.1.0/src/unrealon_bridge/client/connection.py +90 -0
- unrealon-1.1.0/src/unrealon_bridge/client/events.py +65 -0
- unrealon-1.1.0/src/unrealon_bridge/client/health.py +38 -0
- unrealon-1.1.0/src/unrealon_bridge/client/html_parser.py +146 -0
- unrealon-1.1.0/src/unrealon_bridge/client/logging.py +139 -0
- unrealon-1.1.0/src/unrealon_bridge/client/proxy.py +70 -0
- unrealon-1.1.0/src/unrealon_bridge/client/scheduler.py +450 -0
- unrealon-1.1.0/src/unrealon_bridge/client/session.py +70 -0
- unrealon-1.1.0/src/unrealon_bridge/configs/__init__.py +14 -0
- unrealon-1.1.0/src/unrealon_bridge/configs/bridge_config.py +212 -0
- unrealon-1.1.0/src/unrealon_bridge/configs/bridge_config.yaml +39 -0
- unrealon-1.1.0/src/unrealon_bridge/models/__init__.py +138 -0
- unrealon-1.1.0/src/unrealon_bridge/models/base.py +28 -0
- unrealon-1.1.0/src/unrealon_bridge/models/command.py +41 -0
- unrealon-1.1.0/src/unrealon_bridge/models/events.py +40 -0
- unrealon-1.1.0/src/unrealon_bridge/models/html_parser.py +79 -0
- unrealon-1.1.0/src/unrealon_bridge/models/logging.py +55 -0
- unrealon-1.1.0/src/unrealon_bridge/models/parser.py +63 -0
- unrealon-1.1.0/src/unrealon_bridge/models/proxy.py +41 -0
- unrealon-1.1.0/src/unrealon_bridge/models/requests.py +95 -0
- unrealon-1.1.0/src/unrealon_bridge/models/responses.py +88 -0
- unrealon-1.1.0/src/unrealon_bridge/models/scheduler.py +592 -0
- unrealon-1.1.0/src/unrealon_bridge/models/session.py +28 -0
- unrealon-1.1.0/src/unrealon_bridge/server/__init__.py +91 -0
- unrealon-1.1.0/src/unrealon_bridge/server/base.py +171 -0
- unrealon-1.1.0/src/unrealon_bridge/server/handlers/__init__.py +23 -0
- unrealon-1.1.0/src/unrealon_bridge/server/handlers/command.py +110 -0
- unrealon-1.1.0/src/unrealon_bridge/server/handlers/html_parser.py +139 -0
- unrealon-1.1.0/src/unrealon_bridge/server/handlers/logging.py +95 -0
- unrealon-1.1.0/src/unrealon_bridge/server/handlers/parser.py +95 -0
- unrealon-1.1.0/src/unrealon_bridge/server/handlers/proxy.py +75 -0
- unrealon-1.1.0/src/unrealon_bridge/server/handlers/scheduler.py +545 -0
- unrealon-1.1.0/src/unrealon_bridge/server/handlers/session.py +66 -0
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/__init__.py +7 -0
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/cli/browser_cli.py +6 -13
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/cli/cookies_cli.py +5 -1
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/core/browser_manager.py +2 -2
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/managers/captcha.py +1 -1
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/managers/cookies.py +1 -1
- unrealon-1.1.0/src/unrealon_browser/managers/logger_bridge.py +231 -0
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/managers/profile.py +1 -1
- unrealon-1.1.0/src/unrealon_driver/__init__.py +80 -0
- unrealon-1.1.0/src/unrealon_driver/browser/__init__.py +8 -0
- unrealon-1.1.0/src/unrealon_driver/browser/config.py +74 -0
- unrealon-1.1.0/src/unrealon_driver/browser/manager.py +416 -0
- unrealon-1.1.0/src/unrealon_driver/exceptions.py +28 -0
- unrealon-1.1.0/src/unrealon_driver/parser/__init__.py +55 -0
- unrealon-1.1.0/src/unrealon_driver/parser/cli_manager.py +141 -0
- unrealon-1.1.0/src/unrealon_driver/parser/daemon_manager.py +227 -0
- unrealon-1.1.0/src/unrealon_driver/parser/managers/__init__.py +46 -0
- unrealon-1.1.0/src/unrealon_driver/parser/managers/browser.py +51 -0
- unrealon-1.1.0/src/unrealon_driver/parser/managers/config.py +281 -0
- unrealon-1.1.0/src/unrealon_driver/parser/managers/error.py +412 -0
- unrealon-1.1.0/src/unrealon_driver/parser/managers/html.py +732 -0
- unrealon-1.1.0/src/unrealon_driver/parser/managers/logging.py +609 -0
- unrealon-1.1.0/src/unrealon_driver/parser/managers/result.py +321 -0
- unrealon-1.1.0/src/unrealon_driver/parser/parser_manager.py +628 -0
- unrealon-1.0.8/PKG-INFO +0 -803
- unrealon-1.0.8/README.md +0 -762
- unrealon-1.0.8/pyproject.toml +0 -114
- unrealon-1.0.8/requirements-dev.txt +0 -87
- unrealon-1.0.8/requirements.txt +0 -75
- unrealon-1.0.8/unrealon/__init__.py +0 -28
- unrealon-1.0.8/unrealon/sdk_config.py +0 -88
- unrealon-1.0.8/unrealon_browser/__init__.py +0 -26
- unrealon-1.0.8/unrealon_browser/pyproject.toml +0 -182
- unrealon-1.0.8/unrealon_browser/src/managers/logger_bridge.py +0 -395
- unrealon-1.0.8/unrealon_driver/README.md +0 -204
- unrealon-1.0.8/unrealon_driver/__init__.py +0 -26
- unrealon-1.0.8/unrealon_driver/pyproject.toml +0 -187
- unrealon-1.0.8/unrealon_driver/src/__init__.py +0 -90
- unrealon-1.0.8/unrealon_driver/src/cli/__init__.py +0 -10
- unrealon-1.0.8/unrealon_driver/src/cli/main.py +0 -66
- unrealon-1.0.8/unrealon_driver/src/cli/simple.py +0 -510
- unrealon-1.0.8/unrealon_driver/src/config/__init__.py +0 -11
- unrealon-1.0.8/unrealon_driver/src/config/auto_config.py +0 -478
- unrealon-1.0.8/unrealon_driver/src/core/__init__.py +0 -18
- unrealon-1.0.8/unrealon_driver/src/core/exceptions.py +0 -289
- unrealon-1.0.8/unrealon_driver/src/core/parser.py +0 -638
- unrealon-1.0.8/unrealon_driver/src/dto/__init__.py +0 -66
- unrealon-1.0.8/unrealon_driver/src/dto/cli.py +0 -119
- unrealon-1.0.8/unrealon_driver/src/dto/config.py +0 -18
- unrealon-1.0.8/unrealon_driver/src/dto/events.py +0 -237
- unrealon-1.0.8/unrealon_driver/src/dto/execution.py +0 -313
- unrealon-1.0.8/unrealon_driver/src/dto/services.py +0 -311
- unrealon-1.0.8/unrealon_driver/src/execution/__init__.py +0 -23
- unrealon-1.0.8/unrealon_driver/src/execution/daemon_mode.py +0 -317
- unrealon-1.0.8/unrealon_driver/src/execution/interactive_mode.py +0 -88
- unrealon-1.0.8/unrealon_driver/src/execution/modes.py +0 -45
- unrealon-1.0.8/unrealon_driver/src/execution/scheduled_mode.py +0 -209
- unrealon-1.0.8/unrealon_driver/src/execution/test_mode.py +0 -250
- unrealon-1.0.8/unrealon_driver/src/logging/__init__.py +0 -24
- unrealon-1.0.8/unrealon_driver/src/logging/driver_logger.py +0 -512
- unrealon-1.0.8/unrealon_driver/src/services/__init__.py +0 -24
- unrealon-1.0.8/unrealon_driver/src/services/browser_service.py +0 -726
- unrealon-1.0.8/unrealon_driver/src/services/llm/__init__.py +0 -15
- unrealon-1.0.8/unrealon_driver/src/services/llm/browser_llm_service.py +0 -363
- unrealon-1.0.8/unrealon_driver/src/services/llm/llm.py +0 -195
- unrealon-1.0.8/unrealon_driver/src/services/logger_service.py +0 -232
- unrealon-1.0.8/unrealon_driver/src/services/metrics_service.py +0 -185
- unrealon-1.0.8/unrealon_driver/src/services/scheduler_service.py +0 -489
- unrealon-1.0.8/unrealon_driver/src/services/websocket_service.py +0 -362
- unrealon-1.0.8/unrealon_driver/src/utils/__init__.py +0 -16
- unrealon-1.0.8/unrealon_driver/src/utils/service_factory.py +0 -317
- unrealon-1.0.8/unrealon_driver/src/utils/time_formatter.py +0 -338
- unrealon-1.0.8/unrealon_llm/README.md +0 -44
- unrealon-1.0.8/unrealon_llm/__init__.py +0 -26
- unrealon-1.0.8/unrealon_llm/pyproject.toml +0 -154
- unrealon-1.0.8/unrealon_llm/src/__init__.py +0 -228
- unrealon-1.0.8/unrealon_llm/src/cli/__init__.py +0 -0
- unrealon-1.0.8/unrealon_llm/src/core/__init__.py +0 -11
- unrealon-1.0.8/unrealon_llm/src/core/smart_client.py +0 -438
- unrealon-1.0.8/unrealon_llm/src/dto/__init__.py +0 -155
- unrealon-1.0.8/unrealon_llm/src/dto/models/__init__.py +0 -0
- unrealon-1.0.8/unrealon_llm/src/dto/models/config.py +0 -343
- unrealon-1.0.8/unrealon_llm/src/dto/models/core.py +0 -328
- unrealon-1.0.8/unrealon_llm/src/dto/models/enums.py +0 -123
- unrealon-1.0.8/unrealon_llm/src/dto/models/html_analysis.py +0 -345
- unrealon-1.0.8/unrealon_llm/src/dto/models/statistics.py +0 -473
- unrealon-1.0.8/unrealon_llm/src/dto/models/translation.py +0 -383
- unrealon-1.0.8/unrealon_llm/src/dto/models/type_conversion.py +0 -462
- unrealon-1.0.8/unrealon_llm/src/dto/schemas/__init__.py +0 -0
- unrealon-1.0.8/unrealon_llm/src/exceptions.py +0 -392
- unrealon-1.0.8/unrealon_llm/src/llm_config/__init__.py +0 -20
- unrealon-1.0.8/unrealon_llm/src/llm_config/logging_config.py +0 -178
- unrealon-1.0.8/unrealon_llm/src/llm_logging/__init__.py +0 -42
- unrealon-1.0.8/unrealon_llm/src/llm_logging/llm_events.py +0 -107
- unrealon-1.0.8/unrealon_llm/src/llm_logging/llm_logger.py +0 -466
- unrealon-1.0.8/unrealon_llm/src/managers/__init__.py +0 -15
- unrealon-1.0.8/unrealon_llm/src/managers/cache_manager.py +0 -67
- unrealon-1.0.8/unrealon_llm/src/managers/cost_manager.py +0 -107
- unrealon-1.0.8/unrealon_llm/src/managers/request_manager.py +0 -298
- unrealon-1.0.8/unrealon_llm/src/modules/__init__.py +0 -0
- unrealon-1.0.8/unrealon_llm/src/modules/html_processor/__init__.py +0 -25
- unrealon-1.0.8/unrealon_llm/src/modules/html_processor/base_processor.py +0 -415
- unrealon-1.0.8/unrealon_llm/src/modules/html_processor/details_processor.py +0 -85
- unrealon-1.0.8/unrealon_llm/src/modules/html_processor/listing_processor.py +0 -91
- unrealon-1.0.8/unrealon_llm/src/modules/html_processor/models/__init__.py +0 -20
- unrealon-1.0.8/unrealon_llm/src/modules/html_processor/models/processing_models.py +0 -40
- unrealon-1.0.8/unrealon_llm/src/modules/html_processor/models/universal_model.py +0 -56
- unrealon-1.0.8/unrealon_llm/src/modules/html_processor/processor.py +0 -102
- unrealon-1.0.8/unrealon_llm/src/modules/llm/__init__.py +0 -0
- unrealon-1.0.8/unrealon_llm/src/modules/translator/__init__.py +0 -0
- unrealon-1.0.8/unrealon_llm/src/provider.py +0 -116
- unrealon-1.0.8/unrealon_llm/src/utils/__init__.py +0 -95
- unrealon-1.0.8/unrealon_llm/src/utils/common.py +0 -64
- unrealon-1.0.8/unrealon_llm/src/utils/data_extractor.py +0 -188
- unrealon-1.0.8/unrealon_llm/src/utils/html_cleaner.py +0 -767
- unrealon-1.0.8/unrealon_llm/src/utils/language_detector.py +0 -308
- unrealon-1.0.8/unrealon_llm/src/utils/models_cache.py +0 -592
- unrealon-1.0.8/unrealon_llm/src/utils/smart_counter.py +0 -229
- unrealon-1.0.8/unrealon_llm/src/utils/token_counter.py +0 -189
- unrealon-1.0.8/unrealon_sdk/README.md +0 -25
- unrealon-1.0.8/unrealon_sdk/__init__.py +0 -30
- unrealon-1.0.8/unrealon_sdk/pyproject.toml +0 -231
- unrealon-1.0.8/unrealon_sdk/src/__init__.py +0 -150
- unrealon-1.0.8/unrealon_sdk/src/cli/__init__.py +0 -12
- unrealon-1.0.8/unrealon_sdk/src/cli/commands/__init__.py +0 -22
- unrealon-1.0.8/unrealon_sdk/src/cli/commands/benchmark.py +0 -42
- unrealon-1.0.8/unrealon_sdk/src/cli/commands/diagnostics.py +0 -573
- unrealon-1.0.8/unrealon_sdk/src/cli/commands/health.py +0 -46
- unrealon-1.0.8/unrealon_sdk/src/cli/commands/integration.py +0 -498
- unrealon-1.0.8/unrealon_sdk/src/cli/commands/reports.py +0 -43
- unrealon-1.0.8/unrealon_sdk/src/cli/commands/security.py +0 -36
- unrealon-1.0.8/unrealon_sdk/src/cli/commands/server.py +0 -483
- unrealon-1.0.8/unrealon_sdk/src/cli/commands/servers.py +0 -56
- unrealon-1.0.8/unrealon_sdk/src/cli/commands/tests.py +0 -55
- unrealon-1.0.8/unrealon_sdk/src/cli/main.py +0 -126
- unrealon-1.0.8/unrealon_sdk/src/cli/utils/reporter.py +0 -519
- unrealon-1.0.8/unrealon_sdk/src/clients/openapi.yaml +0 -3347
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/__init__.py +0 -3
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/api_config.py +0 -228
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/BaseModel.py +0 -12
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/BroadcastDeliveryStats.py +0 -33
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/BroadcastMessage.py +0 -17
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/BroadcastMessageRequest.py +0 -35
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/BroadcastPriority.py +0 -10
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/BroadcastResponse.py +0 -21
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/BroadcastResultResponse.py +0 -33
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/BroadcastTarget.py +0 -11
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ConnectionStats.py +0 -27
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ConnectionsResponse.py +0 -21
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/DeveloperMessageResponse.py +0 -23
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ErrorResponse.py +0 -25
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/HTTPValidationError.py +0 -16
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/HealthResponse.py +0 -23
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/HealthStatus.py +0 -33
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/LogLevel.py +0 -10
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/LoggingRequest.py +0 -27
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/LoggingResponse.py +0 -23
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/MaintenanceMode.py +0 -9
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/MaintenanceModeRequest.py +0 -33
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/MaintenanceStatusResponse.py +0 -39
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ParserCommandRequest.py +0 -25
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ParserMessageResponse.py +0 -21
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ParserRegistrationRequest.py +0 -28
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ParserRegistrationResponse.py +0 -25
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ParserType.py +0 -10
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ProxyBlockRequest.py +0 -19
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ProxyEndpointResponse.py +0 -20
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ProxyListResponse.py +0 -19
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ProxyProvider.py +0 -10
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ProxyPurchaseRequest.py +0 -25
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ProxyResponse.py +0 -47
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ProxyRotationRequest.py +0 -23
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ProxyStatus.py +0 -10
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ProxyUsageRequest.py +0 -19
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ProxyUsageStatsResponse.py +0 -26
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ServiceRegistrationDto.py +0 -23
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ServiceStatsResponse.py +0 -31
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/SessionStartRequest.py +0 -23
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/SuccessResponse.py +0 -25
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/SystemNotificationResponse.py +0 -23
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ValidationError.py +0 -18
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/ValidationErrorResponse.py +0 -21
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/WebSocketMetrics.py +0 -21
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/models/__init__.py +0 -44
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/services/None_service.py +0 -35
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/services/ParserManagement_service.py +0 -190
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/services/ProxyManagement_service.py +0 -289
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/services/SocketLogging_service.py +0 -187
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/services/SystemHealth_service.py +0 -119
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/services/WebSocketAPI_service.py +0 -198
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/services/__init__.py +0 -0
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/services/admin_service.py +0 -125
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/services/async_None_service.py +0 -35
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/services/async_ParserManagement_service.py +0 -190
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/services/async_ProxyManagement_service.py +0 -289
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/services/async_SocketLogging_service.py +0 -189
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/services/async_SystemHealth_service.py +0 -123
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/services/async_WebSocketAPI_service.py +0 -200
- unrealon-1.0.8/unrealon_sdk/src/clients/python_http/services/async_admin_service.py +0 -125
- unrealon-1.0.8/unrealon_sdk/src/clients/python_websocket/__init__.py +0 -28
- unrealon-1.0.8/unrealon_sdk/src/clients/python_websocket/client.py +0 -490
- unrealon-1.0.8/unrealon_sdk/src/clients/python_websocket/events.py +0 -732
- unrealon-1.0.8/unrealon_sdk/src/clients/python_websocket/example.py +0 -136
- unrealon-1.0.8/unrealon_sdk/src/clients/python_websocket/types.py +0 -871
- unrealon-1.0.8/unrealon_sdk/src/core/__init__.py +0 -64
- unrealon-1.0.8/unrealon_sdk/src/core/client.py +0 -556
- unrealon-1.0.8/unrealon_sdk/src/core/config.py +0 -465
- unrealon-1.0.8/unrealon_sdk/src/core/exceptions.py +0 -239
- unrealon-1.0.8/unrealon_sdk/src/core/metadata.py +0 -191
- unrealon-1.0.8/unrealon_sdk/src/core/models.py +0 -142
- unrealon-1.0.8/unrealon_sdk/src/core/types.py +0 -68
- unrealon-1.0.8/unrealon_sdk/src/dto/__init__.py +0 -268
- unrealon-1.0.8/unrealon_sdk/src/dto/authentication.py +0 -108
- unrealon-1.0.8/unrealon_sdk/src/dto/cache.py +0 -208
- unrealon-1.0.8/unrealon_sdk/src/dto/common.py +0 -19
- unrealon-1.0.8/unrealon_sdk/src/dto/concurrency.py +0 -393
- unrealon-1.0.8/unrealon_sdk/src/dto/events.py +0 -108
- unrealon-1.0.8/unrealon_sdk/src/dto/health.py +0 -339
- unrealon-1.0.8/unrealon_sdk/src/dto/load_balancing.py +0 -336
- unrealon-1.0.8/unrealon_sdk/src/dto/logging.py +0 -230
- unrealon-1.0.8/unrealon_sdk/src/dto/performance.py +0 -165
- unrealon-1.0.8/unrealon_sdk/src/dto/rate_limiting.py +0 -295
- unrealon-1.0.8/unrealon_sdk/src/dto/resource_pooling.py +0 -128
- unrealon-1.0.8/unrealon_sdk/src/dto/structured_logging.py +0 -112
- unrealon-1.0.8/unrealon_sdk/src/dto/task_scheduling.py +0 -121
- unrealon-1.0.8/unrealon_sdk/src/dto/websocket.py +0 -55
- unrealon-1.0.8/unrealon_sdk/src/enterprise/__init__.py +0 -59
- unrealon-1.0.8/unrealon_sdk/src/enterprise/authentication.py +0 -401
- unrealon-1.0.8/unrealon_sdk/src/enterprise/cache_manager.py +0 -578
- unrealon-1.0.8/unrealon_sdk/src/enterprise/error_recovery.py +0 -494
- unrealon-1.0.8/unrealon_sdk/src/enterprise/event_system.py +0 -549
- unrealon-1.0.8/unrealon_sdk/src/enterprise/health_monitor.py +0 -747
- unrealon-1.0.8/unrealon_sdk/src/enterprise/load_balancer.py +0 -964
- unrealon-1.0.8/unrealon_sdk/src/enterprise/logging/__init__.py +0 -68
- unrealon-1.0.8/unrealon_sdk/src/enterprise/logging/cleanup.py +0 -156
- unrealon-1.0.8/unrealon_sdk/src/enterprise/logging/development.py +0 -744
- unrealon-1.0.8/unrealon_sdk/src/enterprise/logging/service.py +0 -410
- unrealon-1.0.8/unrealon_sdk/src/enterprise/multithreading_manager.py +0 -853
- unrealon-1.0.8/unrealon_sdk/src/enterprise/performance_monitor.py +0 -539
- unrealon-1.0.8/unrealon_sdk/src/enterprise/proxy_manager.py +0 -696
- unrealon-1.0.8/unrealon_sdk/src/enterprise/rate_limiter.py +0 -652
- unrealon-1.0.8/unrealon_sdk/src/enterprise/resource_pool.py +0 -763
- unrealon-1.0.8/unrealon_sdk/src/enterprise/task_scheduler.py +0 -709
- unrealon-1.0.8/unrealon_sdk/src/internal/__init__.py +0 -10
- unrealon-1.0.8/unrealon_sdk/src/internal/command_router.py +0 -497
- unrealon-1.0.8/unrealon_sdk/src/internal/connection_manager.py +0 -397
- unrealon-1.0.8/unrealon_sdk/src/internal/http_client.py +0 -446
- unrealon-1.0.8/unrealon_sdk/src/internal/websocket_client.py +0 -420
- unrealon-1.0.8/unrealon_sdk/src/provider.py +0 -471
- unrealon-1.0.8/unrealon_sdk/src/utils.py +0 -234
- {unrealon-1.0.8 → unrealon-1.1.0/src}/unrealon_browser/README.md +0 -0
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/cli/__init__.py +0 -0
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/cli/interactive_mode.py +0 -0
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/cli/main.py +0 -0
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/core/__init__.py +0 -0
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/dto/__init__.py +0 -0
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/dto/models/config.py +0 -0
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/dto/models/core.py +0 -0
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/dto/models/dataclasses.py +0 -0
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/dto/models/detection.py +0 -0
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/dto/models/enums.py +0 -0
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/dto/models/statistics.py +0 -0
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/managers/__init__.py +0 -0
- {unrealon-1.0.8/unrealon_browser/src → unrealon-1.1.0/src/unrealon_browser}/managers/stealth.py +0 -0
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
lib/
|
|
18
|
+
lib64/
|
|
19
|
+
parts/
|
|
20
|
+
sdist/
|
|
21
|
+
var/
|
|
22
|
+
wheels/
|
|
23
|
+
share/python-wheels/
|
|
24
|
+
*.egg-info/
|
|
25
|
+
.installed.cfg
|
|
26
|
+
*.egg
|
|
27
|
+
MANIFEST
|
|
28
|
+
|
|
29
|
+
# PyInstaller
|
|
30
|
+
# Usually these files are written by a python script from a template
|
|
31
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
32
|
+
*.manifest
|
|
33
|
+
*.spec
|
|
34
|
+
|
|
35
|
+
# Installer logs
|
|
36
|
+
pip-log.txt
|
|
37
|
+
pip-delete-this-directory.txt
|
|
38
|
+
|
|
39
|
+
# Unit test / coverage reports
|
|
40
|
+
htmlcov/
|
|
41
|
+
.tox/
|
|
42
|
+
.nox/
|
|
43
|
+
.coverage
|
|
44
|
+
.coverage.*
|
|
45
|
+
.cache
|
|
46
|
+
nosetests.xml
|
|
47
|
+
coverage.xml
|
|
48
|
+
*.cover
|
|
49
|
+
*.py,cover
|
|
50
|
+
.hypothesis/
|
|
51
|
+
.pytest_cache/
|
|
52
|
+
cover/
|
|
53
|
+
|
|
54
|
+
# Translations
|
|
55
|
+
*.mo
|
|
56
|
+
*.pot
|
|
57
|
+
|
|
58
|
+
# Django stuff:
|
|
59
|
+
*.log
|
|
60
|
+
local_settings.py
|
|
61
|
+
db.sqlite3
|
|
62
|
+
db.sqlite3-journal
|
|
63
|
+
|
|
64
|
+
# Flask stuff:
|
|
65
|
+
instance/
|
|
66
|
+
.webassets-cache
|
|
67
|
+
|
|
68
|
+
# Scrapy stuff:
|
|
69
|
+
.scrapy
|
|
70
|
+
|
|
71
|
+
# Sphinx documentation
|
|
72
|
+
docs/_build/
|
|
73
|
+
|
|
74
|
+
# PyBuilder
|
|
75
|
+
.pybuilder/
|
|
76
|
+
target/
|
|
77
|
+
|
|
78
|
+
# Jupyter Notebook
|
|
79
|
+
.ipynb_checkpoints
|
|
80
|
+
|
|
81
|
+
# IPython
|
|
82
|
+
profile_default/
|
|
83
|
+
ipython_config.py
|
|
84
|
+
|
|
85
|
+
# pyenv
|
|
86
|
+
# For a library or package, you might want to ignore these files since the code is
|
|
87
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
88
|
+
# .python-version
|
|
89
|
+
|
|
90
|
+
# pipenv
|
|
91
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
92
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
93
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
94
|
+
# install all needed dependencies.
|
|
95
|
+
#Pipfile.lock
|
|
96
|
+
|
|
97
|
+
# poetry
|
|
98
|
+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
|
99
|
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
|
100
|
+
# commonly ignored for libraries.
|
|
101
|
+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
|
102
|
+
#poetry.lock
|
|
103
|
+
|
|
104
|
+
# pdm
|
|
105
|
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
|
106
|
+
#pdm.lock
|
|
107
|
+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
|
108
|
+
# in version control.
|
|
109
|
+
# https://pdm.fming.dev/#use-with-ide
|
|
110
|
+
.pdm.toml
|
|
111
|
+
|
|
112
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
|
113
|
+
__pypackages__/
|
|
114
|
+
|
|
115
|
+
# Celery stuff
|
|
116
|
+
celerybeat-schedule
|
|
117
|
+
celerybeat.pid
|
|
118
|
+
|
|
119
|
+
# SageMath parsed files
|
|
120
|
+
*.sage.py
|
|
121
|
+
|
|
122
|
+
# Environments
|
|
123
|
+
.env
|
|
124
|
+
.env*
|
|
125
|
+
.venv
|
|
126
|
+
env/
|
|
127
|
+
venv/
|
|
128
|
+
ENV/
|
|
129
|
+
env.bak/
|
|
130
|
+
venv.bak/
|
|
131
|
+
|
|
132
|
+
# Spyder project settings
|
|
133
|
+
.spyderproject
|
|
134
|
+
.spyproject
|
|
135
|
+
|
|
136
|
+
# Rope project settings
|
|
137
|
+
.ropeproject
|
|
138
|
+
|
|
139
|
+
# mkdocs documentation
|
|
140
|
+
/site
|
|
141
|
+
|
|
142
|
+
# mypy
|
|
143
|
+
.mypy_cache/
|
|
144
|
+
.dmypy.json
|
|
145
|
+
dmypy.json
|
|
146
|
+
|
|
147
|
+
# Pyre type checker
|
|
148
|
+
.pyre/
|
|
149
|
+
|
|
150
|
+
# pytype static type analyzer
|
|
151
|
+
.pytype/
|
|
152
|
+
|
|
153
|
+
# Cython debug symbols
|
|
154
|
+
cython_debug/
|
|
155
|
+
|
|
156
|
+
# PyCharm
|
|
157
|
+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
|
158
|
+
# be added to the global gitignore or merged into this project gitignore. For a PyCharm
|
|
159
|
+
# project, it is recommended to include the following files in version control:
|
|
160
|
+
# - .idea/inspectionProfiles/profiles_settings.xml
|
|
161
|
+
# - .idea/inspectionProfiles/Project_Default.xml
|
|
162
|
+
# - .idea/misc.xml
|
|
163
|
+
# - .idea/modules.xml
|
|
164
|
+
# - .idea/scopes/scope_settings.xml
|
|
165
|
+
# - .idea/vcs.xml
|
|
166
|
+
# - .idea/workspace.xml
|
|
167
|
+
# - .idea/tasks.xml
|
|
168
|
+
# - .idea/gradle.xml
|
|
169
|
+
# - .idea/assetWizardSettings.xml
|
|
170
|
+
# - .idea/dictionaries
|
|
171
|
+
# - .idea/libraries
|
|
172
|
+
# Sensitive or high-churn files:
|
|
173
|
+
# - .idea/dataSources/
|
|
174
|
+
# - .idea/dataSources.ids
|
|
175
|
+
# - .idea/dataSources.local.xml
|
|
176
|
+
# - .idea/sqlDataSources.xml
|
|
177
|
+
# - .idea/dynamic.xml
|
|
178
|
+
# - .idea/uiDesigner.xml
|
|
179
|
+
# - .idea/dbnavigator.xml
|
|
180
|
+
.idea/
|
|
181
|
+
|
|
182
|
+
# VS Code
|
|
183
|
+
.vscode/
|
|
184
|
+
!.vscode/settings.json
|
|
185
|
+
!.vscode/tasks.json
|
|
186
|
+
!.vscode/launch.json
|
|
187
|
+
!.vscode/extensions.json
|
|
188
|
+
!.vscode/*.code-snippets
|
|
189
|
+
|
|
190
|
+
# Local History for Visual Studio Code
|
|
191
|
+
.history/
|
|
192
|
+
|
|
193
|
+
# Built Visual Studio Code Extensions
|
|
194
|
+
*.vsix
|
|
195
|
+
|
|
196
|
+
# =============================================================================
|
|
197
|
+
# PROJECT SPECIFIC IGNORES
|
|
198
|
+
# =============================================================================
|
|
199
|
+
|
|
200
|
+
# Log files from unrealon-rpc
|
|
201
|
+
logs/
|
|
202
|
+
*.log
|
|
203
|
+
|
|
204
|
+
# Redis dump files
|
|
205
|
+
dump.rdb
|
|
206
|
+
*.rdb
|
|
207
|
+
|
|
208
|
+
# IPFS data
|
|
209
|
+
.ipfs/
|
|
210
|
+
ipfs_data/
|
|
211
|
+
|
|
212
|
+
# WebSocket connection files
|
|
213
|
+
*.sock
|
|
214
|
+
|
|
215
|
+
# Configuration files with secrets
|
|
216
|
+
config.local.yml
|
|
217
|
+
config.local.yaml
|
|
218
|
+
.env.local
|
|
219
|
+
.env.production
|
|
220
|
+
secrets.yml
|
|
221
|
+
secrets.yaml
|
|
222
|
+
|
|
223
|
+
# API keys and credentials
|
|
224
|
+
api_keys.txt
|
|
225
|
+
credentials.json
|
|
226
|
+
*.pem
|
|
227
|
+
*.key
|
|
228
|
+
*.crt
|
|
229
|
+
|
|
230
|
+
# Parser data and cache
|
|
231
|
+
parser_cache/
|
|
232
|
+
scraped_data/
|
|
233
|
+
temp_data/
|
|
234
|
+
|
|
235
|
+
# Development databases
|
|
236
|
+
dev.db
|
|
237
|
+
test.db
|
|
238
|
+
*.sqlite
|
|
239
|
+
|
|
240
|
+
# Backup files
|
|
241
|
+
*.bak
|
|
242
|
+
*.backup
|
|
243
|
+
*.old
|
|
244
|
+
|
|
245
|
+
# OS generated files
|
|
246
|
+
.DS_Store
|
|
247
|
+
.DS_Store?
|
|
248
|
+
._*
|
|
249
|
+
.Spotlight-V100
|
|
250
|
+
.Trashes
|
|
251
|
+
ehthumbs.db
|
|
252
|
+
Thumbs.db
|
|
253
|
+
|
|
254
|
+
# Temporary files
|
|
255
|
+
tmp/
|
|
256
|
+
temp/
|
|
257
|
+
*.tmp
|
|
258
|
+
*.temp
|
|
259
|
+
|
|
260
|
+
# Editor backup files
|
|
261
|
+
*~
|
|
262
|
+
*.swp
|
|
263
|
+
*.swo
|
|
264
|
+
|
|
265
|
+
# Node.js (for any JS tooling)
|
|
266
|
+
node_modules/
|
|
267
|
+
npm-debug.log*
|
|
268
|
+
yarn-debug.log*
|
|
269
|
+
yarn-error.log*
|
|
270
|
+
|
|
271
|
+
# Docker
|
|
272
|
+
.dockerignore
|
|
273
|
+
docker-compose.override.yml
|
|
274
|
+
|
|
275
|
+
# Kubernetes
|
|
276
|
+
*.kubeconfig
|
|
277
|
+
|
|
278
|
+
# Monitoring and profiling
|
|
279
|
+
*.prof
|
|
280
|
+
*.pprof
|
|
281
|
+
|
|
282
|
+
# Coverage reports
|
|
283
|
+
.coverage*
|
|
284
|
+
coverage/
|
|
285
|
+
htmlcov/
|
|
286
|
+
|
|
287
|
+
# Benchmark results
|
|
288
|
+
benchmarks/results/
|
|
289
|
+
*.bench
|
|
290
|
+
|
|
291
|
+
# Documentation build artifacts
|
|
292
|
+
docs/build/
|
|
293
|
+
docs/_build/
|
|
294
|
+
site/
|
|
295
|
+
|
|
296
|
+
# Generated API documentation
|
|
297
|
+
api_docs/
|
|
298
|
+
|
|
299
|
+
# Local development overrides
|
|
300
|
+
local/
|
|
301
|
+
dev/
|
|
302
|
+
development/
|
|
303
|
+
|
|
304
|
+
# IDE and editor files
|
|
305
|
+
*.sublime-project
|
|
306
|
+
*.sublime-workspace
|
|
307
|
+
.vscode/settings.json
|
|
308
|
+
|
|
309
|
+
# macOS
|
|
310
|
+
.AppleDouble
|
|
311
|
+
.LSOverride
|
|
312
|
+
|
|
313
|
+
# Windows
|
|
314
|
+
*.exe
|
|
315
|
+
*.msi
|
|
316
|
+
*.msm
|
|
317
|
+
*.msp
|
|
318
|
+
|
|
319
|
+
# Linux
|
|
320
|
+
*.AppImage
|
|
321
|
+
|
|
322
|
+
# =============================================================================
|
|
323
|
+
# KEEP THESE FILES (override common ignores)
|
|
324
|
+
# =============================================================================
|
|
325
|
+
|
|
326
|
+
# Keep important config templates
|
|
327
|
+
!config.example.yml
|
|
328
|
+
!config.template.yaml
|
|
329
|
+
!.env.example
|
|
330
|
+
|
|
331
|
+
# Keep documentation
|
|
332
|
+
!README.md
|
|
333
|
+
!CHANGELOG.md
|
|
334
|
+
!LICENSE
|
|
335
|
+
!@docs/
|
|
336
|
+
|
|
337
|
+
# Keep test configuration
|
|
338
|
+
!pytest.ini
|
|
339
|
+
!pyproject.toml
|
|
340
|
+
!poetry.lock
|
|
341
|
+
.benchmarks*/
|
|
342
|
+
|
|
343
|
+
# Keep CI/CD files
|
|
344
|
+
!.github/
|
|
345
|
+
!.gitlab-ci.yml
|
|
346
|
+
!Dockerfile
|
|
347
|
+
!docker-compose.yml
|
|
348
|
+
|
|
349
|
+
# Keep example files
|
|
350
|
+
!examples/
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
include README.md
|
|
2
|
+
include LICENSE
|
|
3
|
+
include CHANGELOG.md
|
|
4
|
+
include MANIFEST.in
|
|
5
|
+
include requirements*.txt
|
|
6
|
+
recursive-include src/unrealon *.py
|
|
7
|
+
recursive-include src/unrealon_driver *.py
|
|
8
|
+
recursive-include src/unrealon_bridge *.py
|
|
9
|
+
recursive-include src/unrealon_browser *.py
|
|
10
|
+
recursive-include src/unrealon_driver *.json
|
|
11
|
+
recursive-include src/unrealon_driver *.yaml
|
|
12
|
+
recursive-include src/unrealon_driver *.yml
|
|
13
|
+
# Examples and tests are EXCLUDED from public package
|
|
14
|
+
|
|
15
|
+
# Exclude cache files
|
|
16
|
+
recursive-exclude * __pycache__
|
|
17
|
+
recursive-exclude * *.py[co]
|
|
18
|
+
|
|
19
|
+
# Exclude development files and directories
|
|
20
|
+
recursive-exclude @* *
|
|
21
|
+
recursive-exclude scripts *
|
|
22
|
+
recursive-exclude htmlcov *
|
|
23
|
+
recursive-exclude logs *
|
|
24
|
+
recursive-exclude tmp *
|
|
25
|
+
exclude package.json
|
|
26
|
+
exclude .env*
|
|
27
|
+
|
|
28
|
+
# EXCLUDE from public release!
|
|
29
|
+
recursive-exclude src/unrealon_rpc *
|
|
30
|
+
recursive-exclude tests *
|
|
31
|
+
recursive-exclude examples *
|
|
32
|
+
recursive-exclude src/*/tests *
|
|
33
|
+
|
|
34
|
+
# Exclude development and test files
|
|
35
|
+
exclude pytest.ini
|
|
36
|
+
exclude tox.ini
|
|
37
|
+
exclude .coveragerc
|
|
38
|
+
exclude .editorconfig
|
|
39
|
+
exclude .pre-commit-config.yaml
|
|
40
|
+
|
|
41
|
+
# Exclude all pytest.ini files recursively
|
|
42
|
+
recursive-exclude * pytest.ini
|
|
43
|
+
|
|
44
|
+
# Exclude all pyproject.toml files in subdirectories (keep only root one)
|
|
45
|
+
recursive-exclude src/* pyproject.toml
|
|
46
|
+
|
|
47
|
+
# Exclude version control
|
|
48
|
+
recursive-exclude .git *
|
|
49
|
+
recursive-exclude .github *
|
|
50
|
+
exclude .gitignore
|
|
51
|
+
|
|
52
|
+
# Exclude Node.js files
|
|
53
|
+
exclude package*.json
|
|
54
|
+
exclude yarn*.lock
|
|
55
|
+
recursive-exclude node_modules *
|
unrealon-1.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: unrealon
|
|
3
|
+
Version: 1.1.0
|
|
4
|
+
Summary: Advanced browser automation framework with WebSocket bridge for distributed web scraping
|
|
5
|
+
Project-URL: Homepage, https://github.com/unrealos/unrealon-rpc
|
|
6
|
+
Project-URL: Documentation, https://unrealon-rpc.readthedocs.io
|
|
7
|
+
Project-URL: Repository, https://github.com/unrealos/unrealon-rpc.git
|
|
8
|
+
Project-URL: Issues, https://github.com/unrealos/unrealon-rpc/issues
|
|
9
|
+
Project-URL: Changelog, https://github.com/unrealos/unrealon-rpc/blob/main/CHANGELOG.md
|
|
10
|
+
Author-email: UnrealOS Team <dev@unrealos.com>
|
|
11
|
+
Maintainer-email: UnrealOS Team <dev@unrealos.com>
|
|
12
|
+
License: MIT
|
|
13
|
+
License-File: LICENSE
|
|
14
|
+
Keywords: async,bridge,browser-automation,html-processing,parsing,playwright,pydantic,stealth,web-scraping,websocket
|
|
15
|
+
Classifier: Development Status :: 4 - Beta
|
|
16
|
+
Classifier: Intended Audience :: Developers
|
|
17
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
18
|
+
Classifier: Operating System :: OS Independent
|
|
19
|
+
Classifier: Programming Language :: Python
|
|
20
|
+
Classifier: Programming Language :: Python :: 3
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
+
Classifier: Topic :: Communications
|
|
25
|
+
Classifier: Topic :: Internet :: WWW/HTTP
|
|
26
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
27
|
+
Classifier: Topic :: System :: Distributed Computing
|
|
28
|
+
Classifier: Typing :: Typed
|
|
29
|
+
Requires-Python: <4.0,>=3.10
|
|
30
|
+
Requires-Dist: aiohttp>=3.9.0
|
|
31
|
+
Requires-Dist: asyncio-mqtt>=0.16.0
|
|
32
|
+
Requires-Dist: beautifulsoup4>=4.12.0
|
|
33
|
+
Requires-Dist: click>=8.2.0
|
|
34
|
+
Requires-Dist: httpx>=0.26.0
|
|
35
|
+
Requires-Dist: ipfshttpclient>=0.8.0a2
|
|
36
|
+
Requires-Dist: lxml>=5.0.0
|
|
37
|
+
Requires-Dist: playwright-stealth<2.0.0,>=1.0.5
|
|
38
|
+
Requires-Dist: playwright>=1.40.0
|
|
39
|
+
Requires-Dist: pydantic<3.0,>=2.11
|
|
40
|
+
Requires-Dist: python-dateutil>=2.8
|
|
41
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
42
|
+
Requires-Dist: pyyaml>=6.0
|
|
43
|
+
Requires-Dist: redis>=5.0.0
|
|
44
|
+
Requires-Dist: rich>=13.0.0
|
|
45
|
+
Requires-Dist: tomlkit>=0.13.0
|
|
46
|
+
Requires-Dist: websockets>=12.0
|
|
47
|
+
Provides-Extra: dev
|
|
48
|
+
Requires-Dist: bandit>=1.7.0; extra == 'dev'
|
|
49
|
+
Requires-Dist: black>=23.0.0; extra == 'dev'
|
|
50
|
+
Requires-Dist: build>=1.0.0; extra == 'dev'
|
|
51
|
+
Requires-Dist: flake8>=6.0.0; extra == 'dev'
|
|
52
|
+
Requires-Dist: isort>=5.12.0; extra == 'dev'
|
|
53
|
+
Requires-Dist: mkdocs-material>=9.0.0; extra == 'dev'
|
|
54
|
+
Requires-Dist: mkdocs>=1.5.0; extra == 'dev'
|
|
55
|
+
Requires-Dist: mkdocstrings[python]>=0.22.0; extra == 'dev'
|
|
56
|
+
Requires-Dist: mypy>=1.5.0; extra == 'dev'
|
|
57
|
+
Requires-Dist: pre-commit>=3.0.0; extra == 'dev'
|
|
58
|
+
Requires-Dist: pydocstyle>=6.3.0; extra == 'dev'
|
|
59
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
|
|
60
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
|
|
61
|
+
Requires-Dist: pytest-mock>=3.10.0; extra == 'dev'
|
|
62
|
+
Requires-Dist: pytest-xdist>=3.0.0; extra == 'dev'
|
|
63
|
+
Requires-Dist: pytest>=7.0; extra == 'dev'
|
|
64
|
+
Requires-Dist: questionary>=2.1.0; extra == 'dev'
|
|
65
|
+
Requires-Dist: twine>=4.0.0; extra == 'dev'
|
|
66
|
+
Provides-Extra: docs
|
|
67
|
+
Requires-Dist: mkdocs-material>=9.0.0; extra == 'docs'
|
|
68
|
+
Requires-Dist: mkdocs>=1.5.0; extra == 'docs'
|
|
69
|
+
Requires-Dist: mkdocstrings[python]>=0.22.0; extra == 'docs'
|
|
70
|
+
Requires-Dist: pymdown-extensions>=10.0.0; extra == 'docs'
|
|
71
|
+
Provides-Extra: test
|
|
72
|
+
Requires-Dist: factory-boy>=3.2.0; extra == 'test'
|
|
73
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'test'
|
|
74
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == 'test'
|
|
75
|
+
Requires-Dist: pytest-mock>=3.10.0; extra == 'test'
|
|
76
|
+
Requires-Dist: pytest-xdist>=3.0.0; extra == 'test'
|
|
77
|
+
Requires-Dist: pytest>=7.0; extra == 'test'
|
|
78
|
+
Description-Content-Type: text/markdown
|
|
79
|
+
|
|
80
|
+
# unrealon-rpc
|
|
81
|
+
|
|
82
|
+
Universal async RPC + mesh + storage over Redis and IPFS with FastAPI WebSocket support.
|
|
83
|
+
|
|
84
|
+
## Features
|
|
85
|
+
|
|
86
|
+
- **Generic WebSocket Bridge**: Universal WebSocket-to-Redis communication layer
|
|
87
|
+
- **Parser-Specific Bridge**: Domain-specific wrapper for parser orchestration
|
|
88
|
+
- **Redis RPC/PubSub**: Asynchronous messaging primitives
|
|
89
|
+
- **IPFS Storage**: Decentralized file storage integration
|
|
90
|
+
- **Pydantic v2**: Strict type validation and data modeling
|
|
91
|
+
- **Modular Architecture**: Clean separation of concerns with dependency injection
|
|
92
|
+
|
|
93
|
+
## Installation
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
pip install unrealon-rpc
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Quick Start
|
|
100
|
+
|
|
101
|
+
### Start WebSocket Server
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Production mode
|
|
105
|
+
ws-server --host localhost --port 8000
|
|
106
|
+
|
|
107
|
+
# Development mode with auto-reload (port 8001)
|
|
108
|
+
ws-dev --host localhost --port 8001
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Start Parser Bridge Server
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
# Production mode
|
|
115
|
+
parser-bridge --redis-url redis://localhost:6379/0
|
|
116
|
+
|
|
117
|
+
# Development mode with auto-reload (port 8002)
|
|
118
|
+
parser-dev --redis-url redis://localhost:6379/0
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Python Usage
|
|
122
|
+
|
|
123
|
+
```python
|
|
124
|
+
from bridge_parsers import ParserBridgeServer, ParserBridgeClient
|
|
125
|
+
|
|
126
|
+
# Server
|
|
127
|
+
server = ParserBridgeServer(redis_url="redis://localhost:6379/0")
|
|
128
|
+
await server.start()
|
|
129
|
+
|
|
130
|
+
# Client
|
|
131
|
+
client = ParserBridgeClient(
|
|
132
|
+
websocket_url="ws://localhost:8000/ws",
|
|
133
|
+
parser_type="my_parser"
|
|
134
|
+
)
|
|
135
|
+
await client.connect()
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Architecture
|
|
139
|
+
|
|
140
|
+
The system follows a clean architecture with:
|
|
141
|
+
|
|
142
|
+
- **Generic Bridge** (`unrealon_rpc.bridge`): WebSocket-to-Redis communication
|
|
143
|
+
- **Parser Bridge** (`bridge_parsers`): Domain-specific parser orchestration
|
|
144
|
+
- **RPC Layer** (`unrealon_rpc.rpc`): Redis-based RPC implementation
|
|
145
|
+
- **PubSub Layer** (`unrealon_rpc.pubsub`): Redis-based publish/subscribe
|
|
146
|
+
|
|
147
|
+
## Testing
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
# Run all tests
|
|
151
|
+
python tests/run_tests.py
|
|
152
|
+
|
|
153
|
+
# Run specific test types
|
|
154
|
+
python tests/run_tests.py --type unit
|
|
155
|
+
python tests/run_tests.py --type e2e
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Documentation
|
|
159
|
+
|
|
160
|
+
See the `@docs/` directory for comprehensive documentation.
|
|
161
|
+
|
|
162
|
+
## License
|
|
163
|
+
|
|
164
|
+
MIT License
|
unrealon-1.1.0/README.md
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# unrealon-rpc
|
|
2
|
+
|
|
3
|
+
Universal async RPC + mesh + storage over Redis and IPFS with FastAPI WebSocket support.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Generic WebSocket Bridge**: Universal WebSocket-to-Redis communication layer
|
|
8
|
+
- **Parser-Specific Bridge**: Domain-specific wrapper for parser orchestration
|
|
9
|
+
- **Redis RPC/PubSub**: Asynchronous messaging primitives
|
|
10
|
+
- **IPFS Storage**: Decentralized file storage integration
|
|
11
|
+
- **Pydantic v2**: Strict type validation and data modeling
|
|
12
|
+
- **Modular Architecture**: Clean separation of concerns with dependency injection
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
pip install unrealon-rpc
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Quick Start
|
|
21
|
+
|
|
22
|
+
### Start WebSocket Server
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# Production mode
|
|
26
|
+
ws-server --host localhost --port 8000
|
|
27
|
+
|
|
28
|
+
# Development mode with auto-reload (port 8001)
|
|
29
|
+
ws-dev --host localhost --port 8001
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Start Parser Bridge Server
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# Production mode
|
|
36
|
+
parser-bridge --redis-url redis://localhost:6379/0
|
|
37
|
+
|
|
38
|
+
# Development mode with auto-reload (port 8002)
|
|
39
|
+
parser-dev --redis-url redis://localhost:6379/0
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Python Usage
|
|
43
|
+
|
|
44
|
+
```python
|
|
45
|
+
from bridge_parsers import ParserBridgeServer, ParserBridgeClient
|
|
46
|
+
|
|
47
|
+
# Server
|
|
48
|
+
server = ParserBridgeServer(redis_url="redis://localhost:6379/0")
|
|
49
|
+
await server.start()
|
|
50
|
+
|
|
51
|
+
# Client
|
|
52
|
+
client = ParserBridgeClient(
|
|
53
|
+
websocket_url="ws://localhost:8000/ws",
|
|
54
|
+
parser_type="my_parser"
|
|
55
|
+
)
|
|
56
|
+
await client.connect()
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Architecture
|
|
60
|
+
|
|
61
|
+
The system follows a clean architecture with:
|
|
62
|
+
|
|
63
|
+
- **Generic Bridge** (`unrealon_rpc.bridge`): WebSocket-to-Redis communication
|
|
64
|
+
- **Parser Bridge** (`bridge_parsers`): Domain-specific parser orchestration
|
|
65
|
+
- **RPC Layer** (`unrealon_rpc.rpc`): Redis-based RPC implementation
|
|
66
|
+
- **PubSub Layer** (`unrealon_rpc.pubsub`): Redis-based publish/subscribe
|
|
67
|
+
|
|
68
|
+
## Testing
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Run all tests
|
|
72
|
+
python tests/run_tests.py
|
|
73
|
+
|
|
74
|
+
# Run specific test types
|
|
75
|
+
python tests/run_tests.py --type unit
|
|
76
|
+
python tests/run_tests.py --type e2e
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Documentation
|
|
80
|
+
|
|
81
|
+
See the `@docs/` directory for comprehensive documentation.
|
|
82
|
+
|
|
83
|
+
## License
|
|
84
|
+
|
|
85
|
+
MIT License
|