unrealon 2.0.32__tar.gz → 2.0.34__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.
Files changed (148) hide show
  1. {unrealon-2.0.32 → unrealon-2.0.34}/MANIFEST.in +0 -1
  2. {unrealon-2.0.32/unrealon.egg-info → unrealon-2.0.34}/PKG-INFO +1 -2
  3. {unrealon-2.0.32 → unrealon-2.0.34}/pyproject.toml +1 -3
  4. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/__init__.py +21 -0
  5. unrealon-2.0.34/unrealon-driver/src/unrealon_driver/installer/__init__.py +8 -0
  6. {unrealon-2.0.32/unrealon-driver/src/unrealon_installer → unrealon-2.0.34/unrealon-driver/src/unrealon_driver/installer}/platform.py +0 -17
  7. {unrealon-2.0.32 → unrealon-2.0.34/unrealon.egg-info}/PKG-INFO +1 -2
  8. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon.egg-info/SOURCES.txt +2 -8
  9. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon.egg-info/entry_points.txt +0 -1
  10. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon.egg-info/requires.txt +0 -1
  11. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon.egg-info/top_level.txt +0 -1
  12. unrealon-2.0.32/unrealon-driver/src/unrealon_installer/__init__.py +0 -12
  13. unrealon-2.0.32/unrealon-driver/src/unrealon_installer/batch_templates/quick_run.bat.j2 +0 -24
  14. unrealon-2.0.32/unrealon-driver/src/unrealon_installer/batch_templates/start.bat.j2 +0 -254
  15. unrealon-2.0.32/unrealon-driver/src/unrealon_installer/batch_templates/test.bat.j2 +0 -56
  16. unrealon-2.0.32/unrealon-driver/src/unrealon_installer/browser_fixes.py +0 -232
  17. unrealon-2.0.32/unrealon-driver/src/unrealon_installer/core.py +0 -122
  18. unrealon-2.0.32/unrealon-driver/src/unrealon_installer/templates.py +0 -60
  19. {unrealon-2.0.32 → unrealon-2.0.34}/LICENSE +0 -0
  20. {unrealon-2.0.32 → unrealon-2.0.34}/README.md +0 -0
  21. {unrealon-2.0.32 → unrealon-2.0.34}/setup.cfg +0 -0
  22. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/README.md +0 -0
  23. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/__init__.py +0 -0
  24. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/cli/__init__.py +0 -0
  25. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/cli/browser_cli.py +0 -0
  26. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/cli/cookies_cli.py +0 -0
  27. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/cli/interactive_mode.py +0 -0
  28. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/cli/main.py +0 -0
  29. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/core/__init__.py +0 -0
  30. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/core/browser_manager.py +0 -0
  31. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/dto/__init__.py +0 -0
  32. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/dto/bot_detection.py +0 -0
  33. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/dto/models/config.py +0 -0
  34. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/dto/models/core.py +0 -0
  35. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/dto/models/dataclasses.py +0 -0
  36. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/dto/models/detection.py +0 -0
  37. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/dto/models/enums.py +0 -0
  38. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/dto/models/statistics.py +0 -0
  39. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/managers/__init__.py +0 -0
  40. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/managers/captcha.py +0 -0
  41. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/managers/cookies.py +0 -0
  42. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/managers/logger_bridge.py +0 -0
  43. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/managers/page_wait_manager.py +0 -0
  44. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/managers/profile.py +0 -0
  45. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/managers/script_manager.py +0 -0
  46. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/stealth/__init__.py +0 -0
  47. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/stealth/bypass_techniques.py +0 -0
  48. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/stealth/manager.py +0 -0
  49. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/stealth/nodriver_stealth.py +0 -0
  50. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/stealth/playwright_stealth.py +0 -0
  51. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/stealth/scanner_tester.py +0 -0
  52. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-browser/src/unrealon_browser/stealth/undetected_chrome.py +0 -0
  53. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/__init__.py +0 -0
  54. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/config/__init__.py +0 -0
  55. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/config/environment.py +0 -0
  56. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/config/urls.py +0 -0
  57. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/enums/__init__.py +0 -0
  58. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/enums/events.py +0 -0
  59. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/enums/jobs.py +0 -0
  60. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/enums/status.py +0 -0
  61. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/enums/types.py +0 -0
  62. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/error_handling/__init__.py +0 -0
  63. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/error_handling/circuit_breaker.py +0 -0
  64. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/error_handling/error_context.py +0 -0
  65. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/error_handling/recovery.py +0 -0
  66. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/error_handling/retry.py +0 -0
  67. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/exceptions/__init__.py +0 -0
  68. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/exceptions/base.py +0 -0
  69. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/exceptions/communication.py +0 -0
  70. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/exceptions/driver.py +0 -0
  71. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/exceptions/proxy.py +0 -0
  72. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/exceptions/task.py +0 -0
  73. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/exceptions/validation.py +0 -0
  74. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/__init__.py +0 -0
  75. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/arq_context.py +0 -0
  76. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/arq_responses.py +0 -0
  77. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/authentication.py +0 -0
  78. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/base.py +0 -0
  79. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/bridge_stats.py +0 -0
  80. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/communication.py +0 -0
  81. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/connection_stats.py +0 -0
  82. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/driver.py +0 -0
  83. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/driver_details.py +0 -0
  84. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/logging.py +0 -0
  85. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/task.py +0 -0
  86. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/typed_responses.py +0 -0
  87. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/websocket/__init__.py +0 -0
  88. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/websocket/base.py +0 -0
  89. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/websocket/broadcast.py +0 -0
  90. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/websocket/config.py +0 -0
  91. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/websocket/driver.py +0 -0
  92. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/websocket/errors.py +0 -0
  93. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/websocket/heartbeat.py +0 -0
  94. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/websocket/logging.py +0 -0
  95. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/websocket/proxy.py +0 -0
  96. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/websocket/tasks.py +0 -0
  97. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/websocket/utils.py +0 -0
  98. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/models/websocket_session.py +0 -0
  99. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/monitoring/__init__.py +0 -0
  100. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/monitoring/alerts.py +0 -0
  101. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/monitoring/dashboard.py +0 -0
  102. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/monitoring/health_check.py +0 -0
  103. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/monitoring/metrics.py +0 -0
  104. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/utils/__init__.py +0 -0
  105. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/utils/time.py +0 -0
  106. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-core/src/unrealon_core/version.py +0 -0
  107. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/core_module/__init__.py +0 -0
  108. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/core_module/base.py +0 -0
  109. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/core_module/config.py +0 -0
  110. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/core_module/event_manager.py +0 -0
  111. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/core_module/protocols.py +0 -0
  112. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/core_module/registry.py +0 -0
  113. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/decorators/__init__.py +0 -0
  114. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/decorators/retry.py +0 -0
  115. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/decorators/schedule.py +0 -0
  116. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/decorators/task.py +0 -0
  117. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/decorators/timing.py +0 -0
  118. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/driver/__init__.py +0 -0
  119. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/driver/communication/__init__.py +0 -0
  120. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/driver/communication/session.py +0 -0
  121. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/driver/communication/websocket_client.py +0 -0
  122. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/driver/core/__init__.py +0 -0
  123. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/driver/core/config.py +0 -0
  124. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/driver/core/driver.py +0 -0
  125. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/driver/factory/__init__.py +0 -0
  126. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/driver/factory/manager_factory.py +0 -0
  127. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/driver/lifecycle/__init__.py +0 -0
  128. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/driver/lifecycle/daemon.py +0 -0
  129. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/driver/lifecycle/initialization.py +0 -0
  130. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/driver/lifecycle/shutdown.py +0 -0
  131. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/driver/monitoring/__init__.py +0 -0
  132. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/driver/monitoring/health.py +0 -0
  133. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/driver/utilities/__init__.py +0 -0
  134. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/driver/utilities/logging.py +0 -0
  135. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/driver/utilities/serialization.py +0 -0
  136. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/managers/__init__.py +0 -0
  137. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/managers/base.py +0 -0
  138. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/managers/browser.py +0 -0
  139. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/managers/cache.py +0 -0
  140. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/managers/http.py +0 -0
  141. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/managers/logger.py +0 -0
  142. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/managers/proxy.py +0 -0
  143. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/managers/registry.py +0 -0
  144. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/managers/threading.py +0 -0
  145. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/managers/update.py +0 -0
  146. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/utils/__init__.py +0 -0
  147. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon-driver/src/unrealon_driver/utils/time.py +0 -0
  148. {unrealon-2.0.32 → unrealon-2.0.34}/unrealon.egg-info/dependency_links.txt +0 -0
@@ -5,7 +5,6 @@ include pyproject.toml
5
5
  # Include all source files from submodules
6
6
  recursive-include unrealon-core/src *.py
7
7
  recursive-include unrealon-driver/src *.py
8
- recursive-include unrealon-driver/src *.j2
9
8
 
10
9
  # Include all browser files including stealth .py files
11
10
  recursive-include unrealon-browser/src *.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unrealon
3
- Version: 2.0.32
3
+ Version: 2.0.34
4
4
  Summary: Enterprise-grade web scraping platform with AI-powered automation and real-time orchestration capabilities
5
5
  Author-email: UnrealOn Team <team@unrealon.com>
6
6
  License: MIT
@@ -33,7 +33,6 @@ Requires-Dist: aiohttp>=3.8.0
33
33
  Requires-Dist: httpx>=0.23.0
34
34
  Requires-Dist: beautifulsoup4>=4.13.5
35
35
  Requires-Dist: pydantic-yaml>=1.6.0
36
- Requires-Dist: jinja2>=3.1.0
37
36
  Requires-Dist: rich>=13.0.0
38
37
  Requires-Dist: pyyaml>=6.0
39
38
  Requires-Dist: python-socketio>=5.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "unrealon"
7
- version = "2.0.32"
7
+ version = "2.0.34"
8
8
  description = "Enterprise-grade web scraping platform with AI-powered automation and real-time orchestration capabilities"
9
9
  authors = [
10
10
  {name = "UnrealOn Team", email = "team@unrealon.com"}
@@ -45,7 +45,6 @@ dependencies = [
45
45
  "httpx>=0.23.0",
46
46
  "beautifulsoup4>=4.13.5",
47
47
  "pydantic-yaml>=1.6.0",
48
- "jinja2>=3.1.0",
49
48
 
50
49
  # Additional dependencies for full functionality
51
50
  "rich>=13.0.0",
@@ -105,7 +104,6 @@ full = ["selenium>=4.15.0", "playwright>=1.40.0", "undetected-chromedriver>=3.5.
105
104
  [project.scripts]
106
105
  unrealon = "unrealon_driver.cli:main"
107
106
  unrealon-browser = "unrealon_browser.cli.main:main"
108
- unrealon-installer = "unrealon_installer.cli:main"
109
107
 
110
108
  [project.urls]
111
109
  Homepage = "https://unrealon.com"
@@ -105,3 +105,24 @@ __all__ = [
105
105
  "timing",
106
106
 
107
107
  ]
108
+
109
+ # Auto-register platform fixes and cleanup for Windows
110
+ # This ensures all parsers get proper asyncio handling automatically
111
+ try:
112
+ from .platform import apply_platform_fixes, cleanup_asyncio_resources
113
+ import atexit
114
+ import platform
115
+
116
+ # Apply fixes immediately on import
117
+ apply_platform_fixes()
118
+
119
+ # Register cleanup for Windows
120
+ if platform.system() == "Windows":
121
+ atexit.register(cleanup_asyncio_resources)
122
+
123
+ except ImportError:
124
+ # platform module not available, skip platform fixes
125
+ pass
126
+ except Exception:
127
+ # Any other error, fail silently to not break imports
128
+ pass
@@ -0,0 +1,8 @@
1
+ """
2
+ Simple installer utilities for UnrealOn parsers.
3
+ No bullshit, just platform fixes.
4
+ """
5
+
6
+ from .platform import apply_platform_fixes, cleanup_asyncio_resources
7
+
8
+ __all__ = ["apply_platform_fixes", "cleanup_asyncio_resources"]
@@ -139,23 +139,6 @@ def _apply_linux_fixes():
139
139
  return fixes
140
140
 
141
141
 
142
- def get_platform_info():
143
- """Get platform information."""
144
- return {
145
- 'platform': platform.system(),
146
- 'architecture': platform.architecture()[0],
147
- 'python_version': f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}",
148
- }
149
-
150
-
151
- def check_system_requirements():
152
- """Check if system meets requirements."""
153
- return {
154
- 'python_version': sys.version_info >= (3, 9),
155
- 'platform_supported': platform.system() in ['Windows', 'Darwin', 'Linux']
156
- }
157
-
158
-
159
142
  def cleanup_asyncio_resources():
160
143
  """Force cleanup of all asyncio resources. Call this at program exit on Windows."""
161
144
  if platform.system() != "Windows":
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unrealon
3
- Version: 2.0.32
3
+ Version: 2.0.34
4
4
  Summary: Enterprise-grade web scraping platform with AI-powered automation and real-time orchestration capabilities
5
5
  Author-email: UnrealOn Team <team@unrealon.com>
6
6
  License: MIT
@@ -33,7 +33,6 @@ Requires-Dist: aiohttp>=3.8.0
33
33
  Requires-Dist: httpx>=0.23.0
34
34
  Requires-Dist: beautifulsoup4>=4.13.5
35
35
  Requires-Dist: pydantic-yaml>=1.6.0
36
- Requires-Dist: jinja2>=3.1.0
37
36
  Requires-Dist: rich>=13.0.0
38
37
  Requires-Dist: pyyaml>=6.0
39
38
  Requires-Dist: python-socketio>=5.0
@@ -117,6 +117,8 @@ unrealon-driver/src/unrealon_driver/driver/monitoring/health.py
117
117
  unrealon-driver/src/unrealon_driver/driver/utilities/__init__.py
118
118
  unrealon-driver/src/unrealon_driver/driver/utilities/logging.py
119
119
  unrealon-driver/src/unrealon_driver/driver/utilities/serialization.py
120
+ unrealon-driver/src/unrealon_driver/installer/__init__.py
121
+ unrealon-driver/src/unrealon_driver/installer/platform.py
120
122
  unrealon-driver/src/unrealon_driver/managers/__init__.py
121
123
  unrealon-driver/src/unrealon_driver/managers/base.py
122
124
  unrealon-driver/src/unrealon_driver/managers/browser.py
@@ -129,14 +131,6 @@ unrealon-driver/src/unrealon_driver/managers/threading.py
129
131
  unrealon-driver/src/unrealon_driver/managers/update.py
130
132
  unrealon-driver/src/unrealon_driver/utils/__init__.py
131
133
  unrealon-driver/src/unrealon_driver/utils/time.py
132
- unrealon-driver/src/unrealon_installer/__init__.py
133
- unrealon-driver/src/unrealon_installer/browser_fixes.py
134
- unrealon-driver/src/unrealon_installer/core.py
135
- unrealon-driver/src/unrealon_installer/platform.py
136
- unrealon-driver/src/unrealon_installer/templates.py
137
- unrealon-driver/src/unrealon_installer/batch_templates/quick_run.bat.j2
138
- unrealon-driver/src/unrealon_installer/batch_templates/start.bat.j2
139
- unrealon-driver/src/unrealon_installer/batch_templates/test.bat.j2
140
134
  unrealon.egg-info/PKG-INFO
141
135
  unrealon.egg-info/SOURCES.txt
142
136
  unrealon.egg-info/dependency_links.txt
@@ -1,4 +1,3 @@
1
1
  [console_scripts]
2
2
  unrealon = unrealon_driver.cli:main
3
3
  unrealon-browser = unrealon_browser.cli.main:main
4
- unrealon-installer = unrealon_installer.cli:main
@@ -10,7 +10,6 @@ aiohttp>=3.8.0
10
10
  httpx>=0.23.0
11
11
  beautifulsoup4>=4.13.5
12
12
  pydantic-yaml>=1.6.0
13
- jinja2>=3.1.0
14
13
  rich>=13.0.0
15
14
  pyyaml>=6.0
16
15
  python-socketio>=5.0
@@ -1,4 +1,3 @@
1
1
  unrealon_browser
2
2
  unrealon_core
3
3
  unrealon_driver
4
- unrealon_installer
@@ -1,12 +0,0 @@
1
- """
2
- UnrealOn Universal Installer - Clean Edition
3
-
4
- One function installs everything. Simple and reliable.
5
- """
6
-
7
- from .core import install_parser
8
- from .browser_fixes import fix_browsers, diagnose_browsers, get_browser_status
9
- from .platform import apply_platform_fixes, cleanup_asyncio_resources
10
-
11
- __version__ = "2.0.0"
12
- __all__ = ["install_parser", "fix_browsers", "diagnose_browsers", "get_browser_status", "apply_platform_fixes", "cleanup_asyncio_resources"]
@@ -1,24 +0,0 @@
1
- @echo off
2
- REM {{ parser_name }} - Quick Run
3
- REM Fast execution without menus
4
-
5
- title {{ parser_name }} Quick Run
6
-
7
- echo.
8
- echo {{ parser_name }} - Quick Run Mode
9
- echo {{ "=" * (parser_name|length + 20) }}
10
- echo.
11
-
12
- REM Setup environment
13
- set PYTHONIOENCODING=utf-8
14
- set PLAYWRIGHT_BROWSERS_PATH=0
15
- set PYTHONUNBUFFERED=1
16
-
17
- REM Platform fixes are applied automatically by the parser itself
18
-
19
- echo Starting quick test: 5 requests, 2 concurrent...
20
- python main.py 5 2
21
-
22
- echo.
23
- echo Quick run completed!
24
- pause
@@ -1,254 +0,0 @@
1
- @echo off
2
- REM {{ parser_name }} - Universal Windows Installer
3
- REM Generated by UnrealOn Universal Installer v2.0.0
4
-
5
- title {{ parser_name }} Parser
6
-
7
- echo.
8
- echo {{ parser_name }} Parser - Windows Edition
9
- echo {{ "=" * (parser_name|length + 25) }}
10
- echo UnrealOn Driver-based parser with universal installer
11
- echo Browsers: {{ browsers_list }}
12
- echo Proxy Support: {% if has_proxy %}Yes{% else %}No{% endif %}
13
- echo.
14
-
15
- REM Setup environment variables
16
- set PYTHONIOENCODING=utf-8
17
- set PLAYWRIGHT_BROWSERS_PATH=0
18
- set PYTHONUNBUFFERED=1
19
- set UNREALON_PARSER_NAME={{ parser_name }}
20
-
21
- REM Platform fixes are applied automatically by the parser itself
22
-
23
- :main_menu
24
- echo Main Menu:
25
- echo.
26
- echo [1] RUN PARSER (Quick Start)
27
- echo [2] SETUP SYSTEM (First Time Setup)
28
- echo [3] MANAGE BROWSERS (Install/Fix Browsers)
29
- echo [4] MANAGE DEPENDENCIES (Install/Update Packages)
30
- echo [5] SYSTEM STATUS (Check Installation)
31
- echo [6] TROUBLESHOOTING (Fix Issues)
32
- echo [7] HELP and INFO
33
- echo [8] EXIT
34
- echo.
35
- set /p choice="Enter your choice (1-8): "
36
-
37
- if "%choice%"=="1" goto run_parser
38
- if "%choice%"=="2" goto setup_system
39
- if "%choice%"=="3" goto manage_browsers
40
- if "%choice%"=="4" goto manage_dependencies
41
- if "%choice%"=="5" goto system_status
42
- if "%choice%"=="6" goto troubleshooting
43
- if "%choice%"=="7" goto help_info
44
- if "%choice%"=="8" goto exit_script
45
- goto main_menu
46
-
47
- :run_parser
48
- echo.
49
- echo PARSER EXECUTION
50
- echo ================
51
-
52
- REM Check if system is ready
53
- if not exist "venv" (
54
- echo ERROR: System not set up! Please run setup first.
55
- set /p setup_choice="Run setup now? (Y/N): "
56
- if /i "%setup_choice%"=="Y" goto setup_system
57
- goto main_menu
58
- )
59
-
60
- REM Activate environment
61
- call venv\Scripts\activate.bat
62
- if errorlevel 1 (
63
- echo ERROR: Failed to activate virtual environment
64
- pause
65
- goto main_menu
66
- )
67
-
68
- echo.
69
- echo Choose run mode:
70
- echo [1] DEFAULT RUN (parser default settings)
71
- echo [2] QUICK TEST (minimal test run)
72
- echo [3] CUSTOM MODE (specify your arguments)
73
- echo.
74
- set /p mode="Enter mode (1-3): "
75
-
76
- if "%mode%"=="1" (
77
- echo Starting default run...
78
- call venv\Scripts\activate.bat && python main.py
79
- )
80
- if "%mode%"=="2" (
81
- echo Starting quick test...
82
- call venv\Scripts\activate.bat && python main.py --test
83
- )
84
- if "%mode%"=="3" (
85
- set /p args="Enter arguments: "
86
- echo Starting with custom arguments: %args%
87
- call venv\Scripts\activate.bat && python main.py %args%
88
- )
89
-
90
- echo.
91
- echo Parser execution completed
92
- pause
93
- goto main_menu
94
-
95
- :setup_system
96
- cls
97
- echo.
98
- echo System Setup
99
- echo =============
100
- echo.
101
- echo Installing Python dependencies...
102
- pip install -r requirements.txt
103
- echo.
104
- echo Installing browsers...
105
- playwright install chromium
106
- echo.
107
- echo Setup complete!
108
- echo.
109
- pause
110
- goto main_menu
111
-
112
- :manage_browsers
113
- cls
114
- echo.
115
- echo Browser Management
116
- echo ==================
117
- echo.
118
- echo [1] Install all browsers
119
- echo [2] Install Chromium only
120
- echo [3] Install Firefox only
121
- echo [4] Check browser status
122
- echo [5] Back to main menu
123
- echo.
124
- set /p browser_choice="Enter choice (1-5): "
125
-
126
- if "%browser_choice%"=="1" playwright install
127
- if "%browser_choice%"=="2" playwright install chromium
128
- if "%browser_choice%"=="3" playwright install firefox
129
- if "%browser_choice%"=="4" (
130
- echo Checking browser status...
131
- playwright --version
132
- python -c "from playwright.sync_api import sync_playwright; print('Browsers OK')" 2>nul || echo "Browser check failed"
133
- )
134
- if "%browser_choice%"=="5" goto main_menu
135
-
136
- echo.
137
- pause
138
- goto main_menu
139
-
140
- :manage_dependencies
141
- cls
142
- echo.
143
- echo Dependency Management
144
- echo =====================
145
- echo.
146
- echo [1] Install/Update all dependencies
147
- echo [2] Install production dependencies only
148
- echo [3] Check dependency status
149
- echo [4] Back to main menu
150
- echo.
151
- set /p dep_choice="Enter choice (1-4): "
152
-
153
- if "%dep_choice%"=="1" (
154
- pip install -r requirements.txt
155
- pip install --upgrade unrealon
156
- )
157
- if "%dep_choice%"=="2" pip install -r requirements.txt
158
- if "%dep_choice%"=="3" (
159
- echo Checking dependencies...
160
- pip list | findstr unrealon
161
- python -c "import unrealon_driver; print('UnrealOn Driver:', unrealon_driver.__version__)" 2>nul || echo "UnrealOn Driver not found"
162
- )
163
- if "%dep_choice%"=="4" goto main_menu
164
-
165
- echo.
166
- pause
167
- goto main_menu
168
-
169
- :system_status
170
- cls
171
- echo.
172
- echo System Status Check
173
- echo ===================
174
- echo.
175
-
176
- echo Python Version:
177
- python --version
178
-
179
- echo.
180
- echo Platform Information:
181
- python -c "from unrealon_installer.platform import get_platform_info; import json; print(json.dumps(get_platform_info(), indent=2))" 2>nul || echo "Platform info not available"
182
-
183
- echo.
184
- echo UnrealOn Driver Status:
185
- python -c "import unrealon_driver; print('Version:', unrealon_driver.__version__)" 2>nul || echo "UnrealOn Driver not installed"
186
-
187
- echo.
188
- echo Browser Status:
189
- playwright --version 2>nul || echo "Playwright not installed"
190
-
191
- echo.
192
- echo Dependencies:
193
- pip list | findstr -i "unrealon playwright requests"
194
-
195
- echo.
196
- pause
197
- goto main_menu
198
-
199
- :troubleshooting
200
- cls
201
- echo.
202
- echo Troubleshooting Guide
203
- echo =====================
204
- echo.
205
- echo Common issues and solutions:
206
- echo.
207
- echo 1. "ModuleNotFoundError: No module named 'unrealon_driver'"
208
- echo Solution: Run "pip install -r requirements.txt"
209
- echo.
210
- echo 2. "Browser not found" errors
211
- echo Solution: Run "playwright install chromium"
212
- echo.
213
- echo 3. "Permission denied" errors
214
- echo Solution: Run as Administrator
215
- echo.
216
- echo 4. Proxy connection issues
217
- echo Solution: Check proxy configuration in proxy_config.py
218
- echo.
219
- echo 5. SSL certificate errors
220
- echo Solution: Platform fixes are applied automatically
221
- echo.
222
- echo Press any key to return to main menu...
223
- pause >nul
224
- goto main_menu
225
-
226
- :help_info
227
- cls
228
- echo.
229
- echo {{ parser_name }} Parser - Help and Information
230
- echo {{ "=" * (parser_name|length + 25) }}
231
- echo.
232
- echo This is a UnrealOn Driver-based parser with the following features:
233
- echo.
234
- echo - Multi-concurrent API processing
235
- echo - Browser automation with Playwright
236
- echo - Proxy support (if configured)
237
- echo - Cross-platform compatibility
238
- {% if has_persistent %}echo - Persistent monitoring mode{% endif %}
239
- echo - Automatic dependency management
240
- echo.
241
- echo Configuration:
242
- echo {{ config_json }}
243
- echo.
244
- echo For more information, visit: https://github.com/unrealon
245
- echo.
246
- echo Press any key to return to main menu...
247
- pause >nul
248
- goto main_menu
249
-
250
- :exit_script
251
- echo.
252
- echo Thank you for using {{ parser_name }} Parser!
253
- echo.
254
- exit /b 0
@@ -1,56 +0,0 @@
1
- @echo off
2
- REM {{ parser_name }} - System Test
3
- REM Comprehensive system and functionality test
4
-
5
- title {{ parser_name }} System Test
6
-
7
- echo.
8
- echo {{ parser_name }} - System Test
9
- echo {{ "=" * (parser_name|length + 15) }}
10
- echo.
11
-
12
- REM Setup environment
13
- set PYTHONIOENCODING=utf-8
14
- set PLAYWRIGHT_BROWSERS_PATH=0
15
- set PYTHONUNBUFFERED=1
16
-
17
- echo [1/5] Testing Python environment...
18
- python --version || (
19
- echo ERROR: Python not found!
20
- pause
21
- exit /b 1
22
- )
23
-
24
- echo [2/5] Testing UnrealOn Driver...
25
- python -c "import unrealon_driver; print('UnrealOn Driver version:', unrealon_driver.__version__)" || (
26
- echo ERROR: UnrealOn Driver not installed!
27
- echo Run: pip install -r requirements.txt
28
- pause
29
- exit /b 1
30
- )
31
-
32
- echo [3/5] Testing platform compatibility...
33
- python -c "from unrealon_installer.platform import get_platform_info; print('Platform OK')" || (
34
- echo ERROR: Platform compatibility issues!
35
- pause
36
- exit /b 1
37
- )
38
-
39
- echo [4/5] Testing browser availability...
40
- playwright --version || (
41
- echo ERROR: Playwright not installed!
42
- echo Run: playwright install chromium
43
- pause
44
- exit /b 1
45
- )
46
-
47
- echo [5/5] Running parser test...
48
- python main.py 1 1
49
-
50
- echo.
51
- echo {{ "=" * (parser_name|length + 15) }}
52
- echo All tests completed successfully!
53
- echo {{ parser_name }} is ready to use.
54
- echo {{ "=" * (parser_name|length + 15) }}
55
- echo.
56
- pause