kailash 0.8.2__tar.gz → 0.8.3__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 (355) hide show
  1. {kailash-0.8.2/src/kailash.egg-info → kailash-0.8.3}/PKG-INFO +1 -1
  2. {kailash-0.8.2 → kailash-0.8.3}/pyproject.toml +1 -1
  3. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/__init__.py +1 -1
  4. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/database/base_models.py +7 -1
  5. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/code/python.py +1 -0
  6. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/builder.py +88 -9
  7. {kailash-0.8.2 → kailash-0.8.3/src/kailash.egg-info}/PKG-INFO +1 -1
  8. {kailash-0.8.2 → kailash-0.8.3}/LICENSE +0 -0
  9. {kailash-0.8.2 → kailash-0.8.3}/MANIFEST.in +0 -0
  10. {kailash-0.8.2 → kailash-0.8.3}/README.md +0 -0
  11. {kailash-0.8.2 → kailash-0.8.3}/setup.cfg +0 -0
  12. {kailash-0.8.2 → kailash-0.8.3}/setup.py +0 -0
  13. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/__main__.py +0 -0
  14. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/access_control/__init__.py +0 -0
  15. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/access_control/managers.py +0 -0
  16. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/access_control/rule_evaluators.py +0 -0
  17. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/access_control.py +0 -0
  18. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/access_control_abac.py +0 -0
  19. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/adapters/__init__.py +0 -0
  20. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/adapters/mcp_platform_adapter.py +0 -0
  21. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/api/auth.py +0 -0
  22. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/api/custom_nodes.py +0 -0
  23. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/api/custom_nodes_secure.py +0 -0
  24. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/api/gateway.py +0 -0
  25. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/api/mcp_integration.py +0 -0
  26. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/api/studio.py +0 -0
  27. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/api/workflow_api.py +0 -0
  28. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/channels/__init__.py +0 -0
  29. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/channels/api_channel.py +0 -0
  30. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/channels/base.py +0 -0
  31. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/channels/cli_channel.py +0 -0
  32. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/channels/event_router.py +0 -0
  33. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/channels/mcp_channel.py +0 -0
  34. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/channels/session.py +0 -0
  35. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/cli/__init__.py +0 -0
  36. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/cli/commands.py +0 -0
  37. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/client/__init__.py +0 -0
  38. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/client/enhanced_client.py +0 -0
  39. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/config/__init__.py +0 -0
  40. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/config/database_config.py +0 -0
  41. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/core/actors/__init__.py +0 -0
  42. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/core/actors/adaptive_pool_controller.py +0 -0
  43. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/core/actors/connection_actor.py +0 -0
  44. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/core/actors/supervisor.py +0 -0
  45. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/core/ml/__init__.py +0 -0
  46. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/core/ml/query_patterns.py +0 -0
  47. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/core/monitoring/__init__.py +0 -0
  48. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/core/monitoring/connection_metrics.py +0 -0
  49. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/core/optimization/__init__.py +0 -0
  50. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/core/resilience/__init__.py +0 -0
  51. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/core/resilience/bulkhead.py +0 -0
  52. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/core/resilience/circuit_breaker.py +0 -0
  53. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/core/resilience/health_monitor.py +0 -0
  54. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/database/__init__.py +0 -0
  55. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/database/execution_pipeline.py +0 -0
  56. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/edge/__init__.py +0 -0
  57. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/edge/compliance.py +0 -0
  58. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/edge/discovery.py +0 -0
  59. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/edge/location.py +0 -0
  60. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/gateway/__init__.py +0 -0
  61. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/gateway/api.py +0 -0
  62. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/gateway/enhanced_gateway.py +0 -0
  63. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/gateway/resource_resolver.py +0 -0
  64. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/gateway/security.py +0 -0
  65. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/manifest.py +0 -0
  66. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/__init__.py +0 -0
  67. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/advanced_features.py +0 -0
  68. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/ai_registry_server.py +0 -0
  69. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/auth.py +0 -0
  70. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/client.py +0 -0
  71. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/client_new.py +0 -0
  72. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/discovery.py +0 -0
  73. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/errors.py +0 -0
  74. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/oauth.py +0 -0
  75. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/protocol.py +0 -0
  76. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/registry_integration.py +0 -0
  77. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/server.py +0 -0
  78. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/servers/ai_registry.py +0 -0
  79. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/transports.py +0 -0
  80. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/utils/__init__.py +0 -0
  81. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/utils/cache.py +0 -0
  82. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/utils/config.py +0 -0
  83. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/utils/formatters.py +0 -0
  84. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/mcp_server/utils/metrics.py +0 -0
  85. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/__init__.py +0 -0
  86. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/auth/__init__.py +0 -0
  87. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/auth/access_control.py +0 -0
  88. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/auth/auth_manager.py +0 -0
  89. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/auth/exceptions.py +0 -0
  90. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/auth/jwt_auth.py +0 -0
  91. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/auth/models.py +0 -0
  92. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/auth/utils.py +0 -0
  93. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/communication/__init__.py +0 -0
  94. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/communication/ai_chat.py +0 -0
  95. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/communication/api_gateway.py +0 -0
  96. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/communication/events.py +0 -0
  97. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/communication/realtime.py +0 -0
  98. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/core/__init__.py +0 -0
  99. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/core/agent_ui.py +0 -0
  100. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/core/schema.py +0 -0
  101. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/core/workflows.py +0 -0
  102. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/database/__init__.py +0 -0
  103. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/database/base.py +0 -0
  104. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/database/enums.py +0 -0
  105. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/database/migrations.py +0 -0
  106. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/database/models.py +0 -0
  107. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/database/repositories.py +0 -0
  108. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/database/session_manager.py +0 -0
  109. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/gateway/__init__.py +0 -0
  110. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/gateway/checkpoint_manager.py +0 -0
  111. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/gateway/deduplicator.py +0 -0
  112. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/gateway/durable_gateway.py +0 -0
  113. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/gateway/durable_request.py +0 -0
  114. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/gateway/event_store.py +0 -0
  115. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/gateway/storage_backends.py +0 -0
  116. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/mcp/__init__.py +0 -0
  117. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/mcp/client_integration.py +0 -0
  118. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/middleware/mcp/enhanced_server.py +0 -0
  119. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nexus/__init__.py +0 -0
  120. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nexus/cli/__init__.py +0 -0
  121. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nexus/cli/__main__.py +0 -0
  122. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nexus/cli/main.py +0 -0
  123. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nexus/factory.py +0 -0
  124. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nexus/gateway.py +0 -0
  125. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/__init__.py +0 -0
  126. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/admin/__init__.py +0 -0
  127. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/admin/audit_log.py +0 -0
  128. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/admin/permission_check.py +0 -0
  129. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/admin/role_management.py +0 -0
  130. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/admin/schema.sql +0 -0
  131. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/admin/schema_manager.py +0 -0
  132. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/admin/security_event.py +0 -0
  133. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/admin/tenant_isolation.py +0 -0
  134. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/admin/transaction_utils.py +0 -0
  135. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/admin/user_management.py +0 -0
  136. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/ai/__init__.py +0 -0
  137. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/ai/a2a.py +0 -0
  138. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/ai/agents.py +0 -0
  139. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/ai/ai_providers.py +0 -0
  140. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/ai/embedding_generator.py +0 -0
  141. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/ai/intelligent_agent_orchestrator.py +0 -0
  142. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/ai/iterative_llm_agent.py +0 -0
  143. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/ai/llm_agent.py +0 -0
  144. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/ai/models.py +0 -0
  145. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/ai/self_organizing.py +0 -0
  146. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/ai/vision_utils.py +0 -0
  147. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/alerts/__init__.py +0 -0
  148. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/alerts/base.py +0 -0
  149. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/alerts/discord.py +0 -0
  150. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/api/__init__.py +0 -0
  151. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/api/auth.py +0 -0
  152. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/api/graphql.py +0 -0
  153. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/api/http.py +0 -0
  154. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/api/monitoring.py +0 -0
  155. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/api/rate_limiting.py +0 -0
  156. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/api/rest.py +0 -0
  157. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/api/security.py +0 -0
  158. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/auth/__init__.py +0 -0
  159. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/auth/directory_integration.py +0 -0
  160. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/auth/enterprise_auth_provider.py +0 -0
  161. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/auth/mfa.py +0 -0
  162. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/auth/risk_assessment.py +0 -0
  163. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/auth/session_management.py +0 -0
  164. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/auth/sso.py +0 -0
  165. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/base.py +0 -0
  166. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/base_async.py +0 -0
  167. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/base_cycle_aware.py +0 -0
  168. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/base_with_acl.py +0 -0
  169. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/cache/__init__.py +0 -0
  170. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/cache/cache.py +0 -0
  171. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/cache/cache_invalidation.py +0 -0
  172. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/cache/redis_pool_manager.py +0 -0
  173. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/code/__init__.py +0 -0
  174. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/code/async_python.py +0 -0
  175. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/compliance/__init__.py +0 -0
  176. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/compliance/data_retention.py +0 -0
  177. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/compliance/gdpr.py +0 -0
  178. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/__init__.py +0 -0
  179. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/async_connection.py +0 -0
  180. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/async_sql.py +0 -0
  181. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/async_vector.py +0 -0
  182. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/bulk_operations.py +0 -0
  183. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/directory.py +0 -0
  184. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/event_generation.py +0 -0
  185. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/file_discovery.py +0 -0
  186. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/optimistic_locking.py +0 -0
  187. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/query_builder.py +0 -0
  188. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/query_cache.py +0 -0
  189. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/query_pipeline.py +0 -0
  190. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/query_router.py +0 -0
  191. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/readers.py +0 -0
  192. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/redis.py +0 -0
  193. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/retrieval.py +0 -0
  194. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/sharepoint_graph.py +0 -0
  195. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/sources.py +0 -0
  196. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/sql.py +0 -0
  197. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/streaming.py +0 -0
  198. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/vector_db.py +0 -0
  199. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/workflow_connection_pool.py +0 -0
  200. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/data/writers.py +0 -0
  201. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/enterprise/__init__.py +0 -0
  202. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/enterprise/audit_logger.py +0 -0
  203. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/enterprise/batch_processor.py +0 -0
  204. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/enterprise/data_lineage.py +0 -0
  205. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/enterprise/mcp_executor.py +0 -0
  206. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/enterprise/service_discovery.py +0 -0
  207. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/enterprise/tenant_assignment.py +0 -0
  208. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/logic/__init__.py +0 -0
  209. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/logic/async_operations.py +0 -0
  210. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/logic/convergence.py +0 -0
  211. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/logic/loop.py +0 -0
  212. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/logic/operations.py +0 -0
  213. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/logic/workflow.py +0 -0
  214. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/mixins/__init__.py +0 -0
  215. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/mixins/event_emitter.py +0 -0
  216. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/mixins/mcp.py +0 -0
  217. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/mixins/security.py +0 -0
  218. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/mixins.py +0 -0
  219. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/monitoring/__init__.py +0 -0
  220. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/monitoring/connection_dashboard.py +0 -0
  221. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/monitoring/deadlock_detector.py +0 -0
  222. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/monitoring/health_check.py +0 -0
  223. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/monitoring/log_processor.py +0 -0
  224. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/monitoring/metrics_collector.py +0 -0
  225. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/monitoring/performance_anomaly.py +0 -0
  226. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/monitoring/performance_benchmark.py +0 -0
  227. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/monitoring/race_condition_detector.py +0 -0
  228. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/monitoring/transaction_metrics.py +0 -0
  229. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/monitoring/transaction_monitor.py +0 -0
  230. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/rag/__init__.py +0 -0
  231. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/rag/advanced.py +0 -0
  232. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/rag/agentic.py +0 -0
  233. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/rag/conversational.py +0 -0
  234. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/rag/evaluation.py +0 -0
  235. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/rag/federated.py +0 -0
  236. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/rag/graph.py +0 -0
  237. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/rag/multimodal.py +0 -0
  238. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/rag/optimized.py +0 -0
  239. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/rag/privacy.py +0 -0
  240. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/rag/query_processing.py +0 -0
  241. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/rag/realtime.py +0 -0
  242. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/rag/registry.py +0 -0
  243. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/rag/router.py +0 -0
  244. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/rag/similarity.py +0 -0
  245. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/rag/strategies.py +0 -0
  246. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/rag/workflows.py +0 -0
  247. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/security/__init__.py +0 -0
  248. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/security/abac_evaluator.py +0 -0
  249. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/security/audit_log.py +0 -0
  250. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/security/behavior_analysis.py +0 -0
  251. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/security/credential_manager.py +0 -0
  252. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/security/rotating_credentials.py +0 -0
  253. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/security/security_event.py +0 -0
  254. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/security/threat_detection.py +0 -0
  255. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/system/__init__.py +0 -0
  256. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/system/command_parser.py +0 -0
  257. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/testing/__init__.py +0 -0
  258. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/testing/credential_testing.py +0 -0
  259. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/transaction/__init__.py +0 -0
  260. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/transaction/distributed_transaction_manager.py +0 -0
  261. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/transaction/saga_coordinator.py +0 -0
  262. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/transaction/saga_state_storage.py +0 -0
  263. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/transaction/saga_step.py +0 -0
  264. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/transaction/transaction_context.py +0 -0
  265. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/transaction/two_phase_commit.py +0 -0
  266. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/transform/__init__.py +0 -0
  267. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/transform/chunkers.py +0 -0
  268. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/transform/formatters.py +0 -0
  269. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/transform/processors.py +0 -0
  270. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/validation/__init__.py +0 -0
  271. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/validation/test_executor.py +0 -0
  272. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/validation/validation_nodes.py +0 -0
  273. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/nodes/validation.py +0 -0
  274. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/resources/__init__.py +0 -0
  275. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/resources/factory.py +0 -0
  276. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/resources/health.py +0 -0
  277. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/resources/reference.py +0 -0
  278. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/resources/registry.py +0 -0
  279. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/runtime/__init__.py +0 -0
  280. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/runtime/access_controlled.py +0 -0
  281. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/runtime/async_local.py +0 -0
  282. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/runtime/docker.py +0 -0
  283. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/runtime/local.py +0 -0
  284. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/runtime/parallel.py +0 -0
  285. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/runtime/parallel_cyclic.py +0 -0
  286. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/runtime/parameter_injection.py +0 -0
  287. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/runtime/parameter_injector.py +0 -0
  288. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/runtime/runner.py +0 -0
  289. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/runtime/secret_provider.py +0 -0
  290. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/runtime/testing.py +0 -0
  291. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/sdk_exceptions.py +0 -0
  292. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/security.py +0 -0
  293. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/servers/__init__.py +0 -0
  294. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/servers/durable_workflow_server.py +0 -0
  295. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/servers/enterprise_workflow_server.py +0 -0
  296. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/servers/gateway.py +0 -0
  297. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/servers/workflow_server.py +0 -0
  298. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/testing/__init__.py +0 -0
  299. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/testing/async_test_case.py +0 -0
  300. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/testing/async_utils.py +0 -0
  301. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/testing/fixtures.py +0 -0
  302. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/testing/mock_registry.py +0 -0
  303. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/tracking/__init__.py +0 -0
  304. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/tracking/manager.py +0 -0
  305. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/tracking/metrics_collector.py +0 -0
  306. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/tracking/models.py +0 -0
  307. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/tracking/storage/__init__.py +0 -0
  308. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/tracking/storage/base.py +0 -0
  309. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/tracking/storage/database.py +0 -0
  310. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/tracking/storage/filesystem.py +0 -0
  311. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/utils/__init__.py +0 -0
  312. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/utils/data_validation.py +0 -0
  313. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/utils/export.py +0 -0
  314. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/utils/migrations/__init__.py +0 -0
  315. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/utils/migrations/generator.py +0 -0
  316. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/utils/migrations/models.py +0 -0
  317. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/utils/migrations/runner.py +0 -0
  318. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/utils/resource_manager.py +0 -0
  319. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/utils/secure_logging.py +0 -0
  320. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/utils/templates.py +0 -0
  321. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/visualization/__init__.py +0 -0
  322. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/visualization/api.py +0 -0
  323. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/visualization/dashboard.py +0 -0
  324. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/visualization/performance.py +0 -0
  325. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/visualization/reports.py +0 -0
  326. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/__init__.py +0 -0
  327. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/async_builder.py +0 -0
  328. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/async_patterns.py +0 -0
  329. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/convergence.py +0 -0
  330. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/cycle_analyzer.py +0 -0
  331. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/cycle_builder.py +0 -0
  332. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/cycle_config.py +0 -0
  333. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/cycle_debugger.py +0 -0
  334. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/cycle_exceptions.py +0 -0
  335. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/cycle_profiler.py +0 -0
  336. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/cycle_state.py +0 -0
  337. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/cyclic_runner.py +0 -0
  338. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/graph.py +0 -0
  339. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/input_handling.py +0 -0
  340. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/mermaid_visualizer.py +0 -0
  341. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/migration.py +0 -0
  342. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/mock_registry.py +0 -0
  343. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/resilience.py +0 -0
  344. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/runner.py +0 -0
  345. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/safety.py +0 -0
  346. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/state.py +0 -0
  347. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/templates.py +0 -0
  348. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/validation.py +0 -0
  349. {kailash-0.8.2 → kailash-0.8.3}/src/kailash/workflow/visualization.py +0 -0
  350. {kailash-0.8.2 → kailash-0.8.3}/src/kailash.egg-info/SOURCES.txt +0 -0
  351. {kailash-0.8.2 → kailash-0.8.3}/src/kailash.egg-info/dependency_links.txt +0 -0
  352. {kailash-0.8.2 → kailash-0.8.3}/src/kailash.egg-info/entry_points.txt +0 -0
  353. {kailash-0.8.2 → kailash-0.8.3}/src/kailash.egg-info/not-zip-safe +0 -0
  354. {kailash-0.8.2 → kailash-0.8.3}/src/kailash.egg-info/requires.txt +0 -0
  355. {kailash-0.8.2 → kailash-0.8.3}/src/kailash.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kailash
3
- Version: 0.8.2
3
+ Version: 0.8.3
4
4
  Summary: Python SDK for the Kailash container-node architecture
5
5
  Home-page: https://github.com/integrum/kailash-python-sdk
6
6
  Author: Integrum
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "kailash"
7
- version = "0.8.2"
7
+ version = "0.8.3"
8
8
  description = "Python SDK for the Kailash container-node architecture"
9
9
  authors = [
10
10
  {name = "Integrum", email = "info@integrum.com"}
@@ -52,7 +52,7 @@ except ImportError:
52
52
  # For backward compatibility
53
53
  WorkflowGraph = Workflow
54
54
 
55
- __version__ = "0.8.2"
55
+ __version__ = "0.8.3"
56
56
 
57
57
  __all__ = [
58
58
  # Core workflow components
@@ -8,7 +8,13 @@ import uuid
8
8
  from datetime import datetime, timezone
9
9
  from typing import Any, Dict, List, Optional
10
10
 
11
- from sqlalchemy import JSON, Boolean, CheckConstraint, Column, DateTime
11
+ from sqlalchemy import (
12
+ JSON,
13
+ Boolean,
14
+ CheckConstraint,
15
+ Column,
16
+ DateTime,
17
+ )
12
18
  from sqlalchemy import Enum as SQLEnum
13
19
  from sqlalchemy import (
14
20
  Float,
@@ -103,6 +103,7 @@ ALLOWED_MODULES = {
103
103
  "glob", # For file pattern matching
104
104
  "xml", # For XML processing
105
105
  "uuid", # For generating unique identifiers (safe, no I/O)
106
+ "hashlib", # For cryptographic hashing (safe for common use cases)
106
107
  }
107
108
 
108
109
 
@@ -380,18 +380,89 @@ class WorkflowBuilder:
380
380
  WorkflowValidationError: If nodes don't exist
381
381
  ConnectionError: If connection is invalid
382
382
  """
383
+ # Enhanced error messages with helpful suggestions
383
384
  if from_node not in self.nodes:
384
- raise WorkflowValidationError(
385
- f"Source node '{from_node}' not found in workflow"
386
- )
385
+ available_nodes = list(self.nodes.keys())
386
+ similar_nodes = [
387
+ n
388
+ for n in available_nodes
389
+ if from_node.lower() in n.lower() or n.lower() in from_node.lower()
390
+ ]
391
+
392
+ error_msg = f"Source node '{from_node}' not found in workflow."
393
+ if available_nodes:
394
+ error_msg += f"\nAvailable nodes: {available_nodes}"
395
+ if similar_nodes:
396
+ error_msg += f"\nDid you mean: {similar_nodes}?"
397
+ error_msg += f"\n\nTip: Use workflow.add_node() to create nodes before connecting them."
398
+ error_msg += f"\nExample: workflow.add_node('CSVReaderNode', '{from_node}', {{'file_path': 'data.csv'}})"
399
+
400
+ raise WorkflowValidationError(error_msg)
401
+
387
402
  if to_node not in self.nodes:
388
- raise WorkflowValidationError(
389
- f"Target node '{to_node}' not found in workflow"
403
+ available_nodes = list(self.nodes.keys())
404
+ similar_nodes = [
405
+ n
406
+ for n in available_nodes
407
+ if to_node.lower() in n.lower() or n.lower() in to_node.lower()
408
+ ]
409
+
410
+ error_msg = f"Target node '{to_node}' not found in workflow."
411
+ if available_nodes:
412
+ error_msg += f"\nAvailable nodes: {available_nodes}"
413
+ if similar_nodes:
414
+ error_msg += f"\nDid you mean: {similar_nodes}?"
415
+ error_msg += f"\n\nTip: Use workflow.add_node() to create nodes before connecting them."
416
+ error_msg += f"\nExample: workflow.add_node('PythonCodeNode', '{to_node}', {{'code': 'result = data'}})"
417
+
418
+ raise WorkflowValidationError(error_msg)
419
+
420
+ # Self-connection check with helpful message
421
+ if from_node == to_node:
422
+ raise ConnectionError(
423
+ f"Cannot connect node '{from_node}' to itself.\n"
424
+ f"Tip: Consider using intermediate nodes or different port names.\n"
425
+ f"Example: Create a separate processing node between input and output."
390
426
  )
391
427
 
392
- # Self-connection check
393
- if from_node == to_node:
394
- raise ConnectionError(f"Cannot connect node '{from_node}' to itself")
428
+ # REFINED: Enhanced duplicate connection detection
429
+ for existing_conn in self.connections:
430
+ if (
431
+ existing_conn["from_node"] == from_node
432
+ and existing_conn["from_output"] == from_output
433
+ and existing_conn["to_node"] == to_node
434
+ and existing_conn["to_input"] == to_input
435
+ ):
436
+ raise ConnectionError(
437
+ f"Duplicate connection detected: {from_node}.{from_output} -> {to_node}.{to_input}\n"
438
+ f"This connection already exists in the workflow.\n"
439
+ f"Tip: Remove the duplicate add_connection() call or use different port names.\n"
440
+ f"Current connections: {len(self.connections)} total"
441
+ )
442
+
443
+ # Enhanced port validation with suggestions
444
+ common_output_ports = [
445
+ "data",
446
+ "result",
447
+ "output",
448
+ "response",
449
+ "content",
450
+ "value",
451
+ ]
452
+ common_input_ports = ["data", "input", "input_data", "content", "value"]
453
+
454
+ # Log port usage patterns for debugging
455
+ if from_output not in common_output_ports:
456
+ logger.debug(
457
+ f"Using non-standard output port '{from_output}' on node '{from_node}'"
458
+ )
459
+ logger.debug(f"Common output ports: {common_output_ports}")
460
+
461
+ if to_input not in common_input_ports:
462
+ logger.debug(
463
+ f"Using non-standard input port '{to_input}' on node '{to_node}'"
464
+ )
465
+ logger.debug(f"Common input ports: {common_input_ports}")
395
466
 
396
467
  # Add connection to list
397
468
  connection = {
@@ -402,7 +473,15 @@ class WorkflowBuilder:
402
473
  }
403
474
  self.connections.append(connection)
404
475
 
405
- logger.info(f"Connected '{from_node}.{from_output}' to '{to_node}.{to_input}'")
476
+ logger.info(f"Connected '{from_node}.{from_output}' -> '{to_node}.{to_input}'")
477
+
478
+ # Provide helpful tips for common connection patterns
479
+ if from_output == to_input == "data":
480
+ logger.debug(f"Using standard data flow connection pattern")
481
+ elif from_output in ["result", "output"] and to_input in ["data", "input"]:
482
+ logger.debug(f"Using result-to-input connection pattern")
483
+ else:
484
+ logger.debug(f"Using custom port mapping: {from_output} -> {to_input}")
406
485
  return self
407
486
 
408
487
  def connect(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kailash
3
- Version: 0.8.2
3
+ Version: 0.8.3
4
4
  Summary: Python SDK for the Kailash container-node architecture
5
5
  Home-page: https://github.com/integrum/kailash-python-sdk
6
6
  Author: Integrum
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes