labtasker 0.2.9__tar.gz → 0.2.10__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 (215) hide show
  1. {labtasker-0.2.9 → labtasker-0.2.10}/PKG-INFO +2 -2
  2. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/__init__.py +1 -1
  3. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/client_api.py +14 -10
  4. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/job_runner.py +13 -8
  5. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/database.py +1 -0
  6. {labtasker-0.2.9 → labtasker-0.2.10}/pyproject.toml +2 -2
  7. {labtasker-0.2.9 → labtasker-0.2.10}/LICENSE +0 -0
  8. {labtasker-0.2.9 → labtasker-0.2.10}/MANIFEST.in +0 -0
  9. {labtasker-0.2.9 → labtasker-0.2.10}/README.md +0 -0
  10. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/__main__.py +0 -0
  11. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/api_models.py +0 -0
  12. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/__init__.py +0 -0
  13. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/cli/__init__.py +0 -0
  14. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/cli/cli.py +0 -0
  15. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/cli/config.py +0 -0
  16. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/cli/event.py +0 -0
  17. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/cli/init.py +0 -0
  18. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/cli/loop.py +0 -0
  19. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/cli/queue.py +0 -0
  20. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/cli/task.py +0 -0
  21. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/cli/worker.py +0 -0
  22. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/__init__.py +0 -0
  23. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/api.py +0 -0
  24. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cli_utils.py +0 -0
  25. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cmd_parser/LabCmd.g4 +0 -0
  26. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cmd_parser/LabCmdLexer.g4 +0 -0
  27. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cmd_parser/__init__.py +0 -0
  28. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cmd_parser/generated/LabCmd.py +0 -0
  29. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cmd_parser/generated/LabCmdLexer.py +0 -0
  30. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cmd_parser/generated/LabCmdListener.py +0 -0
  31. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cmd_parser/generated/__init__.py +0 -0
  32. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cmd_parser/parser.py +0 -0
  33. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/config.py +0 -0
  34. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/context.py +0 -0
  35. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/events.py +0 -0
  36. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/exceptions.py +0 -0
  37. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/heartbeat.py +0 -0
  38. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/logging.py +0 -0
  39. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/pager.py +0 -0
  40. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/paths.py +0 -0
  41. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/plugin_utils.py +0 -0
  42. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/query_transpiler.py +0 -0
  43. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/resolver/__init__.py +0 -0
  44. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/resolver/models.py +0 -0
  45. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/resolver/utils.py +0 -0
  46. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/utils.py +0 -0
  47. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/version_checker.py +0 -0
  48. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/templates/labtasker_root/.gitignore +0 -0
  49. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/templates/labtasker_root/client.toml +0 -0
  50. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/templates/labtasker_root/logs/.gitkeep +0 -0
  51. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/constants.py +0 -0
  52. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/filtering.py +0 -0
  53. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/security.py +0 -0
  54. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/__init__.py +0 -0
  55. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/cli.py +0 -0
  56. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/config.py +0 -0
  57. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/db_utils.py +0 -0
  58. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/dependencies.py +0 -0
  59. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/embedded_db.py +0 -0
  60. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/endpoints.py +0 -0
  61. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/event_manager.py +0 -0
  62. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/fsm.py +0 -0
  63. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/logging.py +0 -0
  64. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/utils.py +0 -0
  65. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/README.txt +0 -0
  66. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/__init__.py +0 -0
  67. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/BufferedTokenStream.py +0 -0
  68. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/CommonTokenFactory.py +0 -0
  69. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/CommonTokenStream.py +0 -0
  70. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/FileStream.py +0 -0
  71. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/InputStream.py +0 -0
  72. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/IntervalSet.py +0 -0
  73. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/LL1Analyzer.py +0 -0
  74. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/Lexer.py +0 -0
  75. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/ListTokenSource.py +0 -0
  76. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/Parser.py +0 -0
  77. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/ParserInterpreter.py +0 -0
  78. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/ParserRuleContext.py +0 -0
  79. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/PredictionContext.py +0 -0
  80. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/Recognizer.py +0 -0
  81. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/RuleContext.py +0 -0
  82. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/StdinStream.py +0 -0
  83. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/Token.py +0 -0
  84. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/TokenStreamRewriter.py +0 -0
  85. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/Utils.py +0 -0
  86. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/__init__.py +0 -0
  87. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/_pygrun.py +0 -0
  88. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ATN.py +0 -0
  89. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ATNConfig.py +0 -0
  90. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ATNConfigSet.py +0 -0
  91. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ATNDeserializationOptions.py +0 -0
  92. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ATNDeserializer.py +0 -0
  93. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ATNSimulator.py +0 -0
  94. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ATNState.py +0 -0
  95. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ATNType.py +0 -0
  96. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/LexerATNSimulator.py +0 -0
  97. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/LexerAction.py +0 -0
  98. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/LexerActionExecutor.py +0 -0
  99. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ParserATNSimulator.py +0 -0
  100. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/PredictionMode.py +0 -0
  101. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/SemanticContext.py +0 -0
  102. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/Transition.py +0 -0
  103. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/__init__.py +0 -0
  104. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/dfa/DFA.py +0 -0
  105. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/dfa/DFASerializer.py +0 -0
  106. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/dfa/DFAState.py +0 -0
  107. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/dfa/__init__.py +0 -0
  108. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/error/DiagnosticErrorListener.py +0 -0
  109. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/error/ErrorListener.py +0 -0
  110. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/error/ErrorStrategy.py +0 -0
  111. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/error/Errors.py +0 -0
  112. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/error/__init__.py +0 -0
  113. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/Chunk.py +0 -0
  114. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/ParseTreeMatch.py +0 -0
  115. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/ParseTreePattern.py +0 -0
  116. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/ParseTreePatternMatcher.py +0 -0
  117. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/RuleTagToken.py +0 -0
  118. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/TokenTagToken.py +0 -0
  119. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/Tree.py +0 -0
  120. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/Trees.py +0 -0
  121. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/__init__.py +0 -0
  122. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/xpath/XPath.py +0 -0
  123. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/xpath/XPathLexer.py +0 -0
  124. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/xpath/__init__.py +0 -0
  125. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/vendor.txt +0 -0
  126. {labtasker-0.2.9 → labtasker-0.2.10}/labtasker.egg-info/SOURCES.txt +0 -0
  127. {labtasker-0.2.9 → labtasker-0.2.10}/setup.cfg +0 -0
  128. {labtasker-0.2.9 → labtasker-0.2.10}/tests/__init__.py +0 -0
  129. {labtasker-0.2.9 → labtasker-0.2.10}/tests/conftest.py +0 -0
  130. {labtasker-0.2.9 → labtasker-0.2.10}/tests/demo_pager_iterator.py +0 -0
  131. {labtasker-0.2.9 → labtasker-0.2.10}/tests/dummy_jobs/job_1.py +0 -0
  132. {labtasker-0.2.9 → labtasker-0.2.10}/tests/fixtures/__init__.py +0 -0
  133. {labtasker-0.2.9 → labtasker-0.2.10}/tests/fixtures/database/__init__.py +0 -0
  134. {labtasker-0.2.9 → labtasker-0.2.10}/tests/fixtures/database/mock.py +0 -0
  135. {labtasker-0.2.9 → labtasker-0.2.10}/tests/fixtures/database/real.py +0 -0
  136. {labtasker-0.2.9 → labtasker-0.2.10}/tests/fixtures/logging.py +0 -0
  137. {labtasker-0.2.9 → labtasker-0.2.10}/tests/fixtures/mock_datetime_now.py +0 -0
  138. {labtasker-0.2.9 → labtasker-0.2.10}/tests/fixtures/server/__init__.py +0 -0
  139. {labtasker-0.2.9 → labtasker-0.2.10}/tests/fixtures/server/async_app.py +0 -0
  140. {labtasker-0.2.9 → labtasker-0.2.10}/tests/fixtures/server/sync_app.py +0 -0
  141. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_api_models.py +0 -0
  142. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/__init__.py +0 -0
  143. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/conftest.py +0 -0
  144. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/__init__.py +0 -0
  145. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/conftest.py +0 -0
  146. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/test_basic.py +0 -0
  147. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/test_config.py +0 -0
  148. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/test_event.py +0 -0
  149. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/test_init.py +0 -0
  150. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/test_loop.py +0 -0
  151. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/test_queue.py +0 -0
  152. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/test_task.py +0 -0
  153. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/test_worker.py +0 -0
  154. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/__init__.py +0 -0
  155. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_cli_utils.py +0 -0
  156. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_event/__init__.py +0 -0
  157. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_event/test_concurrency_job_flow_event.py +0 -0
  158. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_event/test_event_listener_basic.py +0 -0
  159. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_event/test_event_listener_entity_data.py +0 -0
  160. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_event/test_various_actions.py +0 -0
  161. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_event/utils.py +0 -0
  162. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_heartbeat.py +0 -0
  163. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_job_runner.py +0 -0
  164. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_logging.py +0 -0
  165. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_loop_internal_error_handler.py +0 -0
  166. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_pager_iterator.py +0 -0
  167. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_parser.py +0 -0
  168. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_query_transpiler/__init__.py +0 -0
  169. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_query_transpiler/conftest.py +0 -0
  170. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_query_transpiler/test_behavior.py +0 -0
  171. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_query_transpiler/test_matching.py +0 -0
  172. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_query_transpiler/test_utils.py +0 -0
  173. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_query_transpiler/utils.py +0 -0
  174. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_resolver.py +0 -0
  175. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_concurrency/__init__.py +0 -0
  176. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_concurrency/run_concurrent.py +0 -0
  177. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_concurrency/test_runner_concurrency_success_failure.py +0 -0
  178. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_concurrency/test_runner_high_concurrency.py +0 -0
  179. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_timeout/__init__.py +0 -0
  180. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_timeout/conftest.py +0 -0
  181. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_timeout/test_job_runner_timeout.py +0 -0
  182. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_timeout/test_job_runner_with_resolver_timeout.py +0 -0
  183. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_with_resolver.py +0 -0
  184. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_server_notification_and_client_version.py +0 -0
  185. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_version_checker.py +0 -0
  186. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_filtering/__init__.py +0 -0
  187. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_filtering/exception_utils.py +0 -0
  188. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_filtering/test_exception_filtering.py +0 -0
  189. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_mock_time.py +0 -0
  190. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_security.py +0 -0
  191. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/__init__.py +0 -0
  192. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/conftest.py +0 -0
  193. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_database/__init__.py +0 -0
  194. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_database/conftest.py +0 -0
  195. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_database/test_database_basic.py +0 -0
  196. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_database/test_fetch_extra_filter.py +0 -0
  197. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_database/test_query_dict_to_mongo_filter.py +0 -0
  198. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_database/test_required_field_fetching.py +0 -0
  199. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_db_utils/__init__.py +0 -0
  200. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_db_utils/test_arg_match.py +0 -0
  201. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_db_utils/test_keys_to_query_dict.py +0 -0
  202. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_db_utils/test_keys_to_query_dict_deepest.py +0 -0
  203. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_db_utils/test_keys_to_query_dict_topmost.py +0 -0
  204. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_embedded_db.py +0 -0
  205. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_endpoint/__init__.py +0 -0
  206. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_endpoint/test_event_basic.py +0 -0
  207. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_endpoint/test_server.py +0 -0
  208. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_endpoint/test_server_async.py +0 -0
  209. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_endpoint/test_server_async_ping.py +0 -0
  210. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_fsm.py +0 -0
  211. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_get_verified_queue_dependency.py +0 -0
  212. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_utils/__init__.py +0 -0
  213. {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_utils/test_utils.py +0 -0
  214. {labtasker-0.2.9 → labtasker-0.2.10}/tests/utils.py +0 -0
  215. {labtasker-0.2.9 → labtasker-0.2.10}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: labtasker
3
- Version: 0.2.9
3
+ Version: 0.2.10
4
4
  Summary: A task queue system for lab experiments
5
5
  Author-email: Your Name <your.email@example.com>
6
6
  License: Apache License 2.0
@@ -32,7 +32,7 @@ Requires-Dist: pyyaml<7.0.0,>=6.0.0
32
32
  Requires-Dist: tomlkit<0.14.0,>=0.13.2
33
33
  Requires-Dist: importlib-metadata<9.0.0,>=8.5.0
34
34
  Requires-Dist: packaging<26.0,>=24.2
35
- Requires-Dist: sse-starlette<3.0.0,>=2.1.3
35
+ Requires-Dist: sse-starlette<4.0.0,>=2.1.3
36
36
  Requires-Dist: httpx-sse<0.5.0,>=0.4.0
37
37
  Requires-Dist: stamina<26.0.0,>=25.1.0
38
38
  Requires-Dist: noneprompt<0.2.0,>=0.1.9
@@ -1,4 +1,4 @@
1
- __version__ = "0.2.9"
1
+ __version__ = "0.2.10"
2
2
 
3
3
  from labtasker.client.client_api import *
4
4
  from labtasker.client.core.config import get_client_config
@@ -42,27 +42,31 @@ __all__ = [
42
42
  "connect_events",
43
43
  "EventListener",
44
44
  # http api (you should be careful with these unless you know what you are doing)
45
+ "get_httpx_client",
45
46
  "close_httpx_client",
46
47
  "health_check",
47
- "submit_task",
48
- "delete_worker",
49
48
  "create_queue",
50
- "create_worker",
49
+ "get_queue",
51
50
  "delete_queue",
52
- "delete_task",
53
- "delete_worker",
51
+ "submit_task",
54
52
  "fetch_task",
55
- "get_queue",
56
- "health_check",
57
- "ls_tasks",
58
- "ls_workers",
59
- "refresh_task_heartbeat",
60
53
  "report_task_status",
54
+ "refresh_task_heartbeat",
55
+ "create_worker",
56
+ "ls_workers",
57
+ "report_worker_status",
58
+ "ls_tasks",
59
+ "update_tasks",
60
+ "delete_task",
61
+ "update_queue",
62
+ "delete_worker",
61
63
  # utilities
62
64
  "run_with_pty",
63
65
  "run_with_subprocess",
64
66
  ]
65
67
 
68
+ assert len(set(__all__)) == len(__all__), "Duplicated symbols in __all__"
69
+
66
70
 
67
71
  def loop(
68
72
  required_fields: Optional[List[str]] = None,
@@ -12,6 +12,7 @@ import labtasker
12
12
  from labtasker.api_models import TaskUpdateRequest
13
13
  from labtasker.client.core.api import (
14
14
  create_worker,
15
+ delete_worker,
15
16
  fetch_task,
16
17
  get_queue,
17
18
  report_task_status,
@@ -155,9 +156,12 @@ def loop_run(
155
156
  raise e
156
157
 
157
158
  # Create worker if not exists
159
+ auto_create_worker = False
160
+
158
161
  if current_worker_id() is None:
159
- new_worker_id = worker_id or create_worker(**(create_worker_kwargs or {}))
160
- set_current_worker_id(new_worker_id)
162
+ auto_create_worker = worker_id is None
163
+ worker_id = worker_id or create_worker(**(create_worker_kwargs or {}))
164
+ set_current_worker_id(worker_id)
161
165
 
162
166
  if cmd is None:
163
167
  cmd = sys.argv
@@ -270,12 +274,9 @@ def loop_run(
270
274
  resp = update_tasks(
271
275
  task_updates=[
272
276
  TaskUpdateRequest(
273
- **{
274
- "task_id": current_task_id(),
275
- "status": "pending", # running -> pending
276
- "retries": 0,
277
- "worker_id": None,
278
- }
277
+ task_id=current_task_id(), # noqa
278
+ status="pending", # running -> pending
279
+ retries=0,
279
280
  )
280
281
  ]
281
282
  )
@@ -336,6 +337,10 @@ def loop_run(
336
337
  finish(status="success")
337
338
  end_heartbeat()
338
339
  except _LabtaskerLoopExit:
340
+ # clean up the worker
341
+ if auto_create_worker: # worker is managed automatically
342
+ delete_worker(worker_id=current_worker_id())
343
+
339
344
  logger.info("Exiting task loop.")
340
345
  break
341
346
  except WorkerSuspended:
@@ -614,6 +614,7 @@ class DBService:
614
614
  "last_modified": now,
615
615
  "worker_id": worker_id,
616
616
  "cmd": cmd,
617
+ "summary": {}, # clear previous summary before fetched
617
618
  }
618
619
  }
619
620
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "labtasker"
7
- version = "0.2.9"
7
+ version = "0.2.10"
8
8
  description = "A task queue system for lab experiments"
9
9
  authors = [{ name = "Your Name", email = "your.email@example.com" }]
10
10
  license = { text = "Apache License 2.0" }
@@ -36,7 +36,7 @@ dependencies = [
36
36
  "tomlkit (>=0.13.2,<0.14.0)",
37
37
  "importlib-metadata (>=8.5.0,<9.0.0)",
38
38
  "packaging (>=24.2,<26.0)",
39
- "sse-starlette (>=2.1.3,<3.0.0)",
39
+ "sse-starlette (>=2.1.3,<4.0.0)",
40
40
  "httpx-sse (>=0.4.0,<0.5.0)",
41
41
  "stamina (>=25.1.0,<26.0.0)",
42
42
  "noneprompt (>=0.1.9,<0.2.0)",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes