topicgate 1.1.4.2__tar.gz → 1.2.2__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 (213) hide show
  1. {topicgate-1.1.4.2/src/topicgate.egg-info → topicgate-1.2.2}/PKG-INFO +16 -4
  2. {topicgate-1.1.4.2 → topicgate-1.2.2}/README.md +1 -3
  3. {topicgate-1.1.4.2 → topicgate-1.2.2}/pyproject.toml +29 -1
  4. {topicgate-1.1.4.2 → topicgate-1.2.2/src/topicgate.egg-info}/PKG-INFO +16 -4
  5. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate.egg-info/SOURCES.txt +1 -0
  6. topicgate-1.2.2/tests/test_github_workflows.py +18 -0
  7. {topicgate-1.1.4.2 → topicgate-1.2.2}/LICENCE +0 -0
  8. {topicgate-1.1.4.2 → topicgate-1.2.2}/setup.cfg +0 -0
  9. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/__init__.py +0 -0
  10. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/__main__.py +0 -0
  11. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/app/__init__.py +0 -0
  12. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/app/app_dependencies.py +0 -0
  13. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/app/broker_runtime_state.py +0 -0
  14. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/app/models/__init__.py +0 -0
  15. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/app/models/broker_snapshot.py +0 -0
  16. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/app/models/mcp_setup.py +0 -0
  17. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/app/services/__init__.py +0 -0
  18. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/app/services/broker_profile_service.py +0 -0
  19. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/app/services/broker_resolver.py +0 -0
  20. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/app/services/broker_snapshot_service.py +0 -0
  21. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/app/services/control_operation_service.py +0 -0
  22. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/app/services/mcp_setup_service.py +0 -0
  23. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/app/services/observation_cache_service.py +0 -0
  24. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/app/services/observation_retention_policy_service.py +0 -0
  25. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/app/services/persistence_lifecycle.py +0 -0
  26. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/app/services/service_container.py +0 -0
  27. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/app/services/service_item.py +0 -0
  28. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/app/topicgate_runtime.py +0 -0
  29. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/assets/icon.png +0 -0
  30. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/assets/icon.svg +0 -0
  31. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/__init__.py +0 -0
  32. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/config/__init__.py +0 -0
  33. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/config/app_config.py +0 -0
  34. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/config/mqtt_config.py +0 -0
  35. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/interfaces/__init__.py +0 -0
  36. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/interfaces/broker_profile_store.py +0 -0
  37. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/interfaces/mqtt_message_processor.py +0 -0
  38. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/interfaces/observer_repository.py +0 -0
  39. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/interfaces/topic_message_store.py +0 -0
  40. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/models/__init__.py +0 -0
  41. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/models/broker_profile.py +0 -0
  42. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/models/broker_profile_identity.py +0 -0
  43. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/models/broker_summary.py +0 -0
  44. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/models/connection_status.py +0 -0
  45. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/models/message_filter.py +0 -0
  46. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/models/mqtt_message.py +0 -0
  47. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/models/mqtt_observation.py +0 -0
  48. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/models/mqtt_state.py +0 -0
  49. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/models/observation_cache_administration.py +0 -0
  50. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/models/observation_deletion_preview.py +0 -0
  51. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/models/observation_retention_policy.py +0 -0
  52. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/models/observer_model.py +0 -0
  53. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/models/observer_workspace.py +0 -0
  54. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/models/subscription.py +0 -0
  55. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/models/topic_message.py +0 -0
  56. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/mqtt_topics.py +0 -0
  57. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/observer_limits.py +0 -0
  58. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/core/payload_limits.py +0 -0
  59. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/__init__.py +0 -0
  60. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/app.py +0 -0
  61. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/broker_state_reader.py +0 -0
  62. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/components/about_dialog.py +0 -0
  63. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/components/add_subscription_dialog.py +0 -0
  64. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/components/application_header.py +0 -0
  65. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/components/broker_settings_dialog.py +0 -0
  66. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/components/connection_controls.py +0 -0
  67. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/components/connection_status.py +0 -0
  68. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/components/log_console.py +0 -0
  69. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/components/mcp_setup_dialog.py +0 -0
  70. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/components/observer_tree.py +0 -0
  71. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/components/onboarding_panel.py +0 -0
  72. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/components/publish_pane.py +0 -0
  73. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/components/snapshot_panel.py +0 -0
  74. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/components/stored_observations_dialog.py +0 -0
  75. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/components/subscription_settings.py +0 -0
  76. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/components/topic_details.py +0 -0
  77. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/components/topic_metadata.py +0 -0
  78. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/components/workspace_pane.py +0 -0
  79. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/gui.py +0 -0
  80. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/main_view_model.py +0 -0
  81. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/main_window.py +0 -0
  82. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/observer_state_reader.py +0 -0
  83. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/settings_migration.py +0 -0
  84. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/gui/theme.py +0 -0
  85. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/__init__.py +0 -0
  86. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/credentials/__init__.py +0 -0
  87. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/credentials/credential_store.py +0 -0
  88. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/credentials/os_credential_store.py +0 -0
  89. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/__init__.py +0 -0
  90. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/alembic/README +0 -0
  91. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/alembic/env.py +0 -0
  92. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/alembic/script.py.mako +0 -0
  93. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/alembic/versions/7c3e9f1a2b4d_add_observation_retention_policy.py +0 -0
  94. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/alembic/versions/93fa5748f4b5_initial_revision.py +0 -0
  95. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/alembic/versions/b84d61a9c2e7_rename_retention_database_bytes.py +0 -0
  96. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/alembic/versions/d2a4c6e8f010_add_control_operation_lease.py +0 -0
  97. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/alembic/versions/f1490ca3b908_persist_latest_observed_mqtt_state.py +0 -0
  98. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/alembic.ini +0 -0
  99. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/base.py +0 -0
  100. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/database_context.py +0 -0
  101. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/mappers/broker_profile_mapper.py +0 -0
  102. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/mappers/config_mapper.py +0 -0
  103. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/mappers/mapper_helper.py +0 -0
  104. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/mappers/observation_retention_policy_mapper.py +0 -0
  105. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/mappers/observer_workspace_mapper.py +0 -0
  106. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/mappers/subscription_mapper.py +0 -0
  107. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/mappers/topic_message_mapper.py +0 -0
  108. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/migrations.py +0 -0
  109. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/models/__init__.py +0 -0
  110. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/models/app_config_row.py +0 -0
  111. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/models/broker_profile_row.py +0 -0
  112. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/models/mqtt_config_row.py +0 -0
  113. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/models/mqtt_message_row.py +0 -0
  114. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/models/observation_retention_policy_row.py +0 -0
  115. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/models/observer_workspace_row.py +0 -0
  116. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/database/models/subscription_row.py +0 -0
  117. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/mqtt/__init__.py +0 -0
  118. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/mqtt/async_callback_bridge.py +0 -0
  119. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/mqtt/callbacks/__init__.py +0 -0
  120. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/mqtt/callbacks/basic_callbacks.py +0 -0
  121. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/mqtt/callbacks/observer_repository_callbacks.py +0 -0
  122. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/mqtt/mqtt_callbacks.py +0 -0
  123. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/mqtt/mqtt_client.py +0 -0
  124. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/mqtt/mqtt_gate.py +0 -0
  125. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/repository/__init__.py +0 -0
  126. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/repository/broker_config_repository.py +0 -0
  127. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/repository/broker_repository.py +0 -0
  128. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/repository/observation_retention_policy_repository.py +0 -0
  129. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/repository/observer_mqtt_repository.py +0 -0
  130. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/repository/subscription_repository.py +0 -0
  131. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/infrastructure/repository/topic_message_repository.py +0 -0
  132. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/mcp/__init__.py +0 -0
  133. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/mcp/api/broker_api.py +0 -0
  134. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/mcp/api/connection_api.py +0 -0
  135. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/mcp/api/dashboard_api.py +0 -0
  136. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/mcp/api/dashboard_snapshot.py +0 -0
  137. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/mcp/api/mcp_api.py +0 -0
  138. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/mcp/api/preview/dashboard_preview.py +0 -0
  139. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/mcp/api/publish_api.py +0 -0
  140. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/mcp/api/snapshot_api.py +0 -0
  141. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/mcp/api/subscription_api.py +0 -0
  142. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/mcp/api/topic_api.py +0 -0
  143. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/mcp/capabilities.py +0 -0
  144. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/mcp/instructions.py +0 -0
  145. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/mcp/middleware/__init__.py +0 -0
  146. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/mcp/middleware/error_handling_middleware.py +0 -0
  147. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/mcp/middleware/logging_middleware.py +0 -0
  148. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/mcp/models.py +0 -0
  149. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/mcp/server.py +0 -0
  150. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/paths.py +0 -0
  151. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/presentation/__init__.py +0 -0
  152. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/presentation/retention_presentation.py +0 -0
  153. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/presentation/snapshot_presentation.py +0 -0
  154. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/presentation/topic_presentation.py +0 -0
  155. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/processors/__init__.py +0 -0
  156. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/processors/observation_retention_processor.py +0 -0
  157. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/processors/observer_model_mqtt_message_processor.py +0 -0
  158. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/processors/observer_model_processor.py +0 -0
  159. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate/processors/subscription_manager.py +0 -0
  160. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate.egg-info/dependency_links.txt +0 -0
  161. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate.egg-info/entry_points.txt +0 -0
  162. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate.egg-info/requires.txt +0 -0
  163. {topicgate-1.1.4.2 → topicgate-1.2.2}/src/topicgate.egg-info/top_level.txt +0 -0
  164. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_app.py +0 -0
  165. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_app_dependencies.py +0 -0
  166. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_async_callback_bridge.py +0 -0
  167. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_broker_config_repository.py +0 -0
  168. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_broker_repository_persistence.py +0 -0
  169. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_broker_resolver.py +0 -0
  170. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_broker_snapshot_service.py +0 -0
  171. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_control_operation_service.py +0 -0
  172. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_dashboard_api.py +0 -0
  173. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_dashboard_dependencies.py +0 -0
  174. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_dashboard_preview.py +0 -0
  175. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_database_migrations.py +0 -0
  176. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_desktop_snapshot_states.py +0 -0
  177. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_gui.py +0 -0
  178. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_main_view_model.py +0 -0
  179. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_mcp_apis.py +0 -0
  180. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_mcp_disconnected_startup.py +0 -0
  181. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_mcp_middleware.py +0 -0
  182. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_mcp_server_instructions.py +0 -0
  183. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_mcp_setup_service.py +0 -0
  184. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_migrate_app_versions.py +0 -0
  185. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_mqtt_callbacks.py +0 -0
  186. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_mqtt_client.py +0 -0
  187. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_mqtt_message_row.py +0 -0
  188. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_observation_cache_service.py +0 -0
  189. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_observation_retention_policy.py +0 -0
  190. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_observation_retention_policy_repository.py +0 -0
  191. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_observation_retention_policy_service.py +0 -0
  192. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_observer_model_hydration.py +0 -0
  193. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_observer_model_processor.py +0 -0
  194. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_observer_model_service.py +0 -0
  195. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_observer_repository.py +0 -0
  196. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_observer_workspace_mapper.py +0 -0
  197. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_os_credential_store.py +0 -0
  198. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_paths.py +0 -0
  199. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_persistence_lifecycle.py +0 -0
  200. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_plugin_bundle.py +0 -0
  201. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_retention_administration.py +0 -0
  202. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_service_container.py +0 -0
  203. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_settings_migration.py +0 -0
  204. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_snapshot_mcp_api.py +0 -0
  205. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_snapshot_presentation.py +0 -0
  206. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_subscription.py +0 -0
  207. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_subscription_manager.py +0 -0
  208. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_subscription_mapper.py +0 -0
  209. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_subscription_repository.py +0 -0
  210. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_topic_message_repository.py +0 -0
  211. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_topic_presentation.py +0 -0
  212. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_topicgate_runtime.py +0 -0
  213. {topicgate-1.1.4.2 → topicgate-1.2.2}/tests/test_verify_distribution.py +0 -0
@@ -1,8 +1,22 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: topicgate
3
- Version: 1.1.4.2
3
+ Version: 1.2.2
4
4
  Summary: Secure local access to your MQTT topics
5
5
  License-Expression: MIT
6
+ Project-URL: Repository, https://github.com/Dumdart/TopicGate
7
+ Project-URL: Documentation, https://github.com/Dumdart/TopicGate/tree/main/docs
8
+ Project-URL: Issue Tracker, https://github.com/Dumdart/TopicGate/issues
9
+ Project-URL: Changelog, https://github.com/Dumdart/TopicGate/releases
10
+ Keywords: mqtt,iot,mcp,model-context-protocol,ai-agent,ai,desktop,windows,automation
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Intended Audience :: Information Technology
14
+ Classifier: Operating System :: Microsoft :: Windows
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Topic :: Home Automation
17
+ Classifier: Topic :: Internet
18
+ Classifier: Topic :: Software Development
19
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
6
20
  Requires-Python: >=3.11
7
21
  Description-Content-Type: text/markdown
8
22
  License-File: LICENCE
@@ -63,18 +77,16 @@ TopicGate supports exact MQTT paths and the standard `+` and `#` wildcard filter
63
77
  TopicGate requires Python 3.11+ and access to an MQTT 5-compatible broker. Install the released package with uv:
64
78
 
65
79
  > [!IMPORTANT]
66
- > **Windows is the only validated platform today.** The macOS and Linux paths, desktop behaviour, and credential-store integrations have not been tested end to end. TopicGate uses `keyring` for the operating-system credential store; those integrations have not yet been tested across platforms.
80
+ > **TopicGate is currently a Windows-first developer preview.** Windows is the only validated platform today. The macOS and Linux paths, desktop behaviour, and credential-store integrations have not been tested end to end. TopicGate uses `keyring` for the operating-system credential store; those integrations have not yet been tested across platforms.
67
81
 
68
82
  ```powershell
69
83
  uv tool install topicgate
70
- topicgate-gui
71
84
  ```
72
85
 
73
86
  Alternatively, install it with pip:
74
87
 
75
88
  ```powershell
76
89
  python -m pip install topicgate
77
- topicgate-gui
78
90
  ```
79
91
 
80
92
  For upgrades, uninstallation, backups, and recovery, see [Installation recovery and upgrades](docs/install/UPGRADE_AND_RECOVERY.md).
@@ -39,18 +39,16 @@ TopicGate supports exact MQTT paths and the standard `+` and `#` wildcard filter
39
39
  TopicGate requires Python 3.11+ and access to an MQTT 5-compatible broker. Install the released package with uv:
40
40
 
41
41
  > [!IMPORTANT]
42
- > **Windows is the only validated platform today.** The macOS and Linux paths, desktop behaviour, and credential-store integrations have not been tested end to end. TopicGate uses `keyring` for the operating-system credential store; those integrations have not yet been tested across platforms.
42
+ > **TopicGate is currently a Windows-first developer preview.** Windows is the only validated platform today. The macOS and Linux paths, desktop behaviour, and credential-store integrations have not been tested end to end. TopicGate uses `keyring` for the operating-system credential store; those integrations have not yet been tested across platforms.
43
43
 
44
44
  ```powershell
45
45
  uv tool install topicgate
46
- topicgate-gui
47
46
  ```
48
47
 
49
48
  Alternatively, install it with pip:
50
49
 
51
50
  ```powershell
52
51
  python -m pip install topicgate
53
- topicgate-gui
54
52
  ```
55
53
 
56
54
  For upgrades, uninstallation, backups, and recovery, see [Installation recovery and upgrades](docs/install/UPGRADE_AND_RECOVERY.md).
@@ -4,11 +4,33 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "topicgate"
7
- version = "1.1.4.2"
7
+ version = "1.2.2"
8
8
  description = "Secure local access to your MQTT topics"
9
9
  readme = "README.md"
10
10
  license = "MIT"
11
11
  requires-python = ">=3.11"
12
+ keywords = [
13
+ "mqtt",
14
+ "iot",
15
+ "mcp",
16
+ "model-context-protocol",
17
+ "ai-agent",
18
+ "ai",
19
+ "desktop",
20
+ "windows",
21
+ "automation",
22
+ ]
23
+ classifiers = [
24
+ "Development Status :: 4 - Beta",
25
+ "Intended Audience :: Developers",
26
+ "Intended Audience :: Information Technology",
27
+ "Operating System :: Microsoft :: Windows",
28
+ "Programming Language :: Python :: 3.11",
29
+ "Topic :: Home Automation",
30
+ "Topic :: Internet",
31
+ "Topic :: Software Development",
32
+ "Topic :: Software Development :: Libraries :: Python Modules",
33
+ ]
12
34
  dependencies = [
13
35
  "paho-mqtt",
14
36
  "pyside6",
@@ -19,6 +41,12 @@ dependencies = [
19
41
  "fastmcp==3.4.7",
20
42
  ]
21
43
 
44
+ [project.urls]
45
+ Repository = "https://github.com/Dumdart/TopicGate"
46
+ Documentation = "https://github.com/Dumdart/TopicGate/tree/main/docs"
47
+ "Issue Tracker" = "https://github.com/Dumdart/TopicGate/issues"
48
+ Changelog = "https://github.com/Dumdart/TopicGate/releases"
49
+
22
50
  [project.optional-dependencies]
23
51
  apps = [
24
52
  "fastmcp[apps]==3.4.7",
@@ -1,8 +1,22 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: topicgate
3
- Version: 1.1.4.2
3
+ Version: 1.2.2
4
4
  Summary: Secure local access to your MQTT topics
5
5
  License-Expression: MIT
6
+ Project-URL: Repository, https://github.com/Dumdart/TopicGate
7
+ Project-URL: Documentation, https://github.com/Dumdart/TopicGate/tree/main/docs
8
+ Project-URL: Issue Tracker, https://github.com/Dumdart/TopicGate/issues
9
+ Project-URL: Changelog, https://github.com/Dumdart/TopicGate/releases
10
+ Keywords: mqtt,iot,mcp,model-context-protocol,ai-agent,ai,desktop,windows,automation
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Intended Audience :: Information Technology
14
+ Classifier: Operating System :: Microsoft :: Windows
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Topic :: Home Automation
17
+ Classifier: Topic :: Internet
18
+ Classifier: Topic :: Software Development
19
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
6
20
  Requires-Python: >=3.11
7
21
  Description-Content-Type: text/markdown
8
22
  License-File: LICENCE
@@ -63,18 +77,16 @@ TopicGate supports exact MQTT paths and the standard `+` and `#` wildcard filter
63
77
  TopicGate requires Python 3.11+ and access to an MQTT 5-compatible broker. Install the released package with uv:
64
78
 
65
79
  > [!IMPORTANT]
66
- > **Windows is the only validated platform today.** The macOS and Linux paths, desktop behaviour, and credential-store integrations have not been tested end to end. TopicGate uses `keyring` for the operating-system credential store; those integrations have not yet been tested across platforms.
80
+ > **TopicGate is currently a Windows-first developer preview.** Windows is the only validated platform today. The macOS and Linux paths, desktop behaviour, and credential-store integrations have not been tested end to end. TopicGate uses `keyring` for the operating-system credential store; those integrations have not yet been tested across platforms.
67
81
 
68
82
  ```powershell
69
83
  uv tool install topicgate
70
- topicgate-gui
71
84
  ```
72
85
 
73
86
  Alternatively, install it with pip:
74
87
 
75
88
  ```powershell
76
89
  python -m pip install topicgate
77
- topicgate-gui
78
90
  ```
79
91
 
80
92
  For upgrades, uninstallation, backups, and recovery, see [Installation recovery and upgrades](docs/install/UPGRADE_AND_RECOVERY.md).
@@ -171,6 +171,7 @@ tests/test_dashboard_dependencies.py
171
171
  tests/test_dashboard_preview.py
172
172
  tests/test_database_migrations.py
173
173
  tests/test_desktop_snapshot_states.py
174
+ tests/test_github_workflows.py
174
175
  tests/test_gui.py
175
176
  tests/test_main_view_model.py
176
177
  tests/test_mcp_apis.py
@@ -0,0 +1,18 @@
1
+ from pathlib import Path
2
+
3
+
4
+ WORKFLOWS = Path(".github/workflows")
5
+
6
+
7
+ def test_workflows_only_use_repository_owned_actions() -> None:
8
+ external_actions: list[str] = []
9
+
10
+ for workflow in WORKFLOWS.glob("*.y*ml"):
11
+ for line_number, line in enumerate(workflow.read_text().splitlines(), start=1):
12
+ value = line.strip().removeprefix("- ").strip()
13
+ if value.startswith("uses:"):
14
+ action = value.removeprefix("uses:").strip()
15
+ if not action.startswith(("./", "Dumdart/")):
16
+ external_actions.append(f"{workflow}:{line_number}: {action}")
17
+
18
+ assert external_actions == []
File without changes
File without changes
File without changes
File without changes