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.
- {labtasker-0.2.9 → labtasker-0.2.10}/PKG-INFO +2 -2
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/__init__.py +1 -1
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/client_api.py +14 -10
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/job_runner.py +13 -8
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/database.py +1 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/pyproject.toml +2 -2
- {labtasker-0.2.9 → labtasker-0.2.10}/LICENSE +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/MANIFEST.in +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/README.md +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/__main__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/api_models.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/cli/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/cli/cli.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/cli/config.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/cli/event.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/cli/init.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/cli/loop.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/cli/queue.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/cli/task.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/cli/worker.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/api.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cli_utils.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cmd_parser/LabCmd.g4 +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cmd_parser/LabCmdLexer.g4 +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cmd_parser/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cmd_parser/generated/LabCmd.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cmd_parser/generated/LabCmdLexer.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cmd_parser/generated/LabCmdListener.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cmd_parser/generated/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cmd_parser/parser.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/config.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/context.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/events.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/exceptions.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/heartbeat.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/logging.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/pager.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/paths.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/plugin_utils.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/query_transpiler.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/resolver/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/resolver/models.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/resolver/utils.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/utils.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/version_checker.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/templates/labtasker_root/.gitignore +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/templates/labtasker_root/client.toml +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/templates/labtasker_root/logs/.gitkeep +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/constants.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/filtering.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/security.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/cli.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/config.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/db_utils.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/dependencies.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/embedded_db.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/endpoints.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/event_manager.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/fsm.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/server/logging.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/utils.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/README.txt +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/BufferedTokenStream.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/CommonTokenFactory.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/CommonTokenStream.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/FileStream.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/InputStream.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/IntervalSet.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/LL1Analyzer.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/Lexer.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/ListTokenSource.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/Parser.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/ParserInterpreter.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/ParserRuleContext.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/PredictionContext.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/Recognizer.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/RuleContext.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/StdinStream.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/Token.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/TokenStreamRewriter.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/Utils.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/_pygrun.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ATN.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ATNConfig.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ATNConfigSet.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ATNDeserializationOptions.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ATNDeserializer.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ATNSimulator.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ATNState.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ATNType.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/LexerATNSimulator.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/LexerAction.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/LexerActionExecutor.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ParserATNSimulator.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/PredictionMode.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/SemanticContext.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/Transition.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/dfa/DFA.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/dfa/DFASerializer.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/dfa/DFAState.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/dfa/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/error/DiagnosticErrorListener.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/error/ErrorListener.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/error/ErrorStrategy.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/error/Errors.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/error/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/Chunk.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/ParseTreeMatch.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/ParseTreePattern.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/ParseTreePatternMatcher.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/RuleTagToken.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/TokenTagToken.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/Tree.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/Trees.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/xpath/XPath.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/xpath/XPathLexer.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/xpath/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/vendor.txt +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/labtasker.egg-info/SOURCES.txt +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/setup.cfg +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/conftest.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/demo_pager_iterator.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/dummy_jobs/job_1.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/fixtures/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/fixtures/database/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/fixtures/database/mock.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/fixtures/database/real.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/fixtures/logging.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/fixtures/mock_datetime_now.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/fixtures/server/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/fixtures/server/async_app.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/fixtures/server/sync_app.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_api_models.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/conftest.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/conftest.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/test_basic.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/test_config.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/test_event.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/test_init.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/test_loop.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/test_queue.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/test_task.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_cli/test_worker.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_cli_utils.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_event/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_event/test_concurrency_job_flow_event.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_event/test_event_listener_basic.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_event/test_event_listener_entity_data.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_event/test_various_actions.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_event/utils.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_heartbeat.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_job_runner.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_logging.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_loop_internal_error_handler.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_pager_iterator.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_parser.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_query_transpiler/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_query_transpiler/conftest.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_query_transpiler/test_behavior.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_query_transpiler/test_matching.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_query_transpiler/test_utils.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_query_transpiler/utils.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_resolver.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_concurrency/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_concurrency/run_concurrent.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_concurrency/test_runner_concurrency_success_failure.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_concurrency/test_runner_high_concurrency.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_timeout/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_timeout/conftest.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_timeout/test_job_runner_timeout.py +0 -0
- {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
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_with_resolver.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_server_notification_and_client_version.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_version_checker.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_filtering/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_filtering/exception_utils.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_filtering/test_exception_filtering.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_mock_time.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_security.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/conftest.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_database/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_database/conftest.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_database/test_database_basic.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_database/test_fetch_extra_filter.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_database/test_query_dict_to_mongo_filter.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_database/test_required_field_fetching.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_db_utils/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_db_utils/test_arg_match.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_db_utils/test_keys_to_query_dict.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_db_utils/test_keys_to_query_dict_deepest.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_db_utils/test_keys_to_query_dict_topmost.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_embedded_db.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_endpoint/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_endpoint/test_event_basic.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_endpoint/test_server.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_endpoint/test_server_async.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_endpoint/test_server_async_ping.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_fsm.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_get_verified_queue_dependency.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_utils/__init__.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/test_utils/test_utils.py +0 -0
- {labtasker-0.2.9 → labtasker-0.2.10}/tests/utils.py +0 -0
- {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.
|
|
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<
|
|
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
|
|
@@ -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
|
-
"
|
|
49
|
+
"get_queue",
|
|
51
50
|
"delete_queue",
|
|
52
|
-
"
|
|
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
|
-
|
|
160
|
-
|
|
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
|
-
|
|
275
|
-
|
|
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:
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "labtasker"
|
|
7
|
-
version = "0.2.
|
|
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,<
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cmd_parser/generated/LabCmdLexer.py
RENAMED
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/core/cmd_parser/generated/LabCmdListener.py
RENAMED
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/labtasker/client/templates/labtasker_root/logs/.gitkeep
RENAMED
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/atn/ATNDeserializationOptions.py
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/error/DiagnosticErrorListener.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/labtasker/vendor/antlr4/tree/ParseTreePatternMatcher.py
RENAMED
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_event/test_various_actions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_loop_internal_error_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_query_transpiler/__init__.py
RENAMED
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_query_transpiler/conftest.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_query_transpiler/test_utils.py
RENAMED
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_query_transpiler/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_concurrency/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_timeout/__init__.py
RENAMED
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_timeout/conftest.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/tests/test_client/test_core/test_runner_with_resolver.py
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_database/test_fetch_extra_filter.py
RENAMED
|
File without changes
|
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_database/test_required_field_fetching.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_db_utils/test_keys_to_query_dict.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_endpoint/test_server_async_ping.py
RENAMED
|
File without changes
|
|
File without changes
|
{labtasker-0.2.9 → labtasker-0.2.10}/tests/test_server/test_get_verified_queue_dependency.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|