labtasker 0.2.4__tar.gz → 0.2.5__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.4 → labtasker-0.2.5}/.gitmodules +2 -2
- {labtasker-0.2.4 → labtasker-0.2.5}/PKG-INFO +13 -13
- {labtasker-0.2.4 → labtasker-0.2.5}/README.md +9 -9
- {labtasker-0.2.4 → labtasker-0.2.5}/docker-compose.yml +1 -1
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/__init__.py +1 -1
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/cli/loop.py +9 -3
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/logging.py +1 -1
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/server/database.py +0 -1
- {labtasker-0.2.4 → labtasker-0.2.5}/pyproject.toml +4 -4
- {labtasker-0.2.4 → labtasker-0.2.5}/.coveragerc +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/.dockerignore +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/.flake8 +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/.gitattributes +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/.gitignore +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/.pre-commit-config.yaml +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/.pytest.ini +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/.python-version +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/Dockerfile +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/LICENSE +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/MANIFEST.in +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/PRIVACY.md +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/demo/advanced/custom_resolver/submit_job.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/demo/advanced/custom_resolver/w.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/demo/advanced/custom_resolver/wo.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/demo/advanced/event_system/email_on_task_failure.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/demo/advanced/event_system/send_email.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/demo/advanced/event_system/sim_unstable_job.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/demo/advanced/event_system/submit.sh +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/demo/basic/bash_demo/job_main.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/demo/basic/bash_demo/run_job.sh +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/demo/basic/bash_demo/submit_job.sh +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/demo/basic/python_demo/run_job.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/demo/basic/python_demo/submit_job.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/docker/mongodb/init.d/init-keyfile.sh +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/docker/mongodb/post-init.d/init-mongo.sh +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/__main__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/api_models.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/cli/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/cli/cli.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/cli/config.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/cli/event.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/cli/init.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/cli/queue.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/cli/task.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/cli/worker.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/client_api.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/api.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/cli_utils.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/cmd_parser/LabCmd.g4 +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/cmd_parser/LabCmdLexer.g4 +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/cmd_parser/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/cmd_parser/generated/LabCmd.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/cmd_parser/generated/LabCmdLexer.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/cmd_parser/generated/LabCmdListener.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/cmd_parser/generated/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/cmd_parser/parser.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/config.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/context.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/events.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/exceptions.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/heartbeat.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/job_runner.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/paths.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/plugin_utils.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/query_transpiler.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/resolver/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/resolver/models.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/resolver/utils.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/utils.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/version_checker.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/templates/labtasker_root/.gitignore +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/templates/labtasker_root/client.toml +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/templates/labtasker_root/logs/.gitkeep +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/constants.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/filtering.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/security.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/server/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/server/cli.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/server/config.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/server/db_utils.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/server/dependencies.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/server/embedded_db.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/server/endpoints.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/server/event_manager.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/server/fsm.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/server/logging.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker/utils.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/labtasker.egg-info/SOURCES.txt +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/script_tests/test_ban_datetime_now/allowed.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/script_tests/test_ban_datetime_now/disallowed.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/script_tests/test_ban_datetime_now/test_ban.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/scripts/asciinema_adjust_timestamp.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/scripts/check_version.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/scripts/datetime_now_checker.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/server.example.env +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/setup.cfg +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/conftest.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/demo_pager_iterator.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/dummy_jobs/job_1.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/fixtures/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/fixtures/database/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/fixtures/database/mock.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/fixtures/database/real.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/fixtures/logging.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/fixtures/mock_datetime_now.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/fixtures/server/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/fixtures/server/async_app.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/fixtures/server/sync_app.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_api_models.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/conftest.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_cli/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_cli/conftest.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_cli/test_basic.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_cli/test_config.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_cli/test_event.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_cli/test_init.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_cli/test_loop.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_cli/test_queue.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_cli/test_task.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_cli/test_worker.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_cli_utils.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_event/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_event/test_concurrency_job_flow_event.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_event/test_event_listener_basic.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_event/test_various_actions.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_event/utils.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_heartbeat.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_job_runner.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_logging.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_loop_internal_error_handler.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_pager_iterator.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_parser.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_query_transpiler/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_query_transpiler/conftest.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_query_transpiler/test_behavior.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_query_transpiler/test_matching.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_query_transpiler/test_utils.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_query_transpiler/utils.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_resolver.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_runner_concurrency/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_runner_concurrency/run_concurrent.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_runner_concurrency/test_runner_concurrency_success_failure.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_runner_concurrency/test_runner_high_concurrency.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_runner_timeout/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_runner_timeout/conftest.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_runner_timeout/test_job_runner_timeout.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_runner_timeout/test_job_runner_with_resolver_timeout.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_runner_with_resolver.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_server_notification_and_client_version.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_version_checker.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_filtering/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_filtering/exception_utils.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_filtering/test_exception_filtering.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_mock_time.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_security.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/conftest.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_database/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_database/conftest.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_database/test_database_basic.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_database/test_fetch_extra_filter.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_database/test_query_dict_to_mongo_filter.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_database/test_required_field_fetching.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_db_utils/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_db_utils/test_arg_match.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_db_utils/test_keys_to_query_dict.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_db_utils/test_keys_to_query_dict_deepest.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_db_utils/test_keys_to_query_dict_topmost.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_embedded_db.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_endpoint/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_endpoint/test_event_basic.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_endpoint/test_server.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_endpoint/test_server_async.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_endpoint/test_server_async_ping.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_fsm.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_get_verified_queue_dependency.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_utils/__init__.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/test_utils/test_utils.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tests/utils.py +0 -0
- {labtasker-0.2.4 → labtasker-0.2.5}/tox.ini +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
[submodule "plugins/labtasker_plugin_task_count"]
|
|
2
2
|
path = plugins/labtasker_plugin_task_count
|
|
3
|
-
url = https://github.com/
|
|
3
|
+
url = https://github.com/luocfprime/labtasker-plugin-task-count.git
|
|
4
4
|
branch = main
|
|
5
5
|
[submodule "plugins/labtasker_plugin_script_generate"]
|
|
6
6
|
path = plugins/labtasker_plugin_script_generate
|
|
7
|
-
url = https://github.com/
|
|
7
|
+
url = https://github.com/luocfprime/labtasker-plugin-script-generate.git
|
|
8
8
|
branch = main
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: labtasker
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.5
|
|
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
|
|
7
|
-
Project-URL: Homepage, https://github.com/
|
|
8
|
-
Project-URL: Documentation, https://
|
|
9
|
-
Project-URL: Repository, https://github.com/
|
|
7
|
+
Project-URL: Homepage, https://github.com/luocfprime/labtasker
|
|
8
|
+
Project-URL: Documentation, https://luocfprime.github.io/labtasker
|
|
9
|
+
Project-URL: Repository, https://github.com/luocfprime/labtasker.git
|
|
10
10
|
Classifier: Intended Audience :: Science/Research
|
|
11
11
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
12
12
|
Classifier: Operating System :: OS Independent
|
|
@@ -69,11 +69,11 @@ Dynamic: license-file
|
|
|
69
69
|
|
|
70
70
|
<p align="center"><em>Make your ML experiment wrapper scripts smarter with...</em></p>
|
|
71
71
|
<h1 align="center" style="font-size: 40px;"> <a href="">Labtasker</a></h1>
|
|
72
|
-
<p align="center"><a href="https://
|
|
72
|
+
<p align="center"><a href="https://luocfprime.github.io/labtasker/latest/install/install/">Install</a> • <a href="https://luocfprime.github.io/labtasker/latest/guide/basic/">Tutorial / Demo</a> • <a href="https://luocfprime.github.io/labtasker/latest/">Documentation</a> • <a href="https://luocfprime.github.io/labtasker/latest/faq/">FAQs</a> • <a href="https://github.com/luocfprime/labtasker/releases">Releases</a></p>
|
|
73
73
|
|
|
74
74
|
<p align="center">
|
|
75
|
-
<img src="https://github.com/
|
|
76
|
-
<a href="https://codecov.io/gh/
|
|
75
|
+
<img src="https://github.com/luocfprime/labtasker/actions/workflows/unit-test-matrix.yml/badge.svg" alt="unit-test-matrix" />
|
|
76
|
+
<a href="https://codecov.io/gh/luocfprime/labtasker"><img src="https://codecov.io/gh/luocfprime/labtasker/graph/badge.svg?token=KQFBV3QRPY" alt="codecov" /></a>
|
|
77
77
|
<img src="https://img.shields.io/badge/Python-3.8%20|%203.9%20|%203.10%20|%203.11%20|%203.12%20|%203.13-blue" alt="Python version" />
|
|
78
78
|
<a href="https://pypi.org/project/labtasker/"><img src="https://img.shields.io/pypi/v/labtasker" alt="PyPI" /></a>
|
|
79
79
|
</p>
|
|
@@ -91,7 +91,7 @@ parallelization, dynamic task prioritization, failure handling, halfway resume,
|
|
|
91
91
|
|
|
92
92
|

|
|
93
93
|
|
|
94
|
-
🐳 For detailed examples and concepts, check out the [documentation](https://
|
|
94
|
+
🐳 For detailed examples and concepts, check out the [documentation](https://luocfprime.github.io/labtasker/).
|
|
95
95
|
|
|
96
96
|
## 🧪️ A Quick Demo
|
|
97
97
|
|
|
@@ -103,7 +103,7 @@ such as sending emails on task failure.
|
|
|
103
103
|

|
|
104
104
|
|
|
105
105
|
For more detailed steps, please refer to the content in
|
|
106
|
-
the [Tutorial / Demo](https://
|
|
106
|
+
the [Tutorial / Demo](https://luocfprime.github.io/labtasker/latest/guide/basic/).
|
|
107
107
|
|
|
108
108
|
## ⚡️ Features
|
|
109
109
|
|
|
@@ -133,7 +133,7 @@ the [Tutorial / Demo](https://fkcptlst.github.io/labtasker/latest/guide/basic/).
|
|
|
133
133
|
> [!NOTE]
|
|
134
134
|
> You need a running Labtasker server to use the client tools.
|
|
135
135
|
> Simply use the installed Python CLI `labtasker-server serve` or use docker-compose to deploy the server.
|
|
136
|
-
> See [deployment instructions](https://
|
|
136
|
+
> See [deployment instructions](https://luocfprime.github.io/labtasker/latest/install/deployment/).
|
|
137
137
|
|
|
138
138
|
### 1. Install via PyPI
|
|
139
139
|
|
|
@@ -145,7 +145,7 @@ pip install 'labtasker[plugins]'
|
|
|
145
145
|
### 2. Install the Latest Version from GitHub
|
|
146
146
|
|
|
147
147
|
```bash
|
|
148
|
-
pip install git+https://github.com/
|
|
148
|
+
pip install git+https://github.com/luocfprime/labtasker.git
|
|
149
149
|
```
|
|
150
150
|
|
|
151
151
|
## 🚀 Quick Start
|
|
@@ -165,13 +165,13 @@ labtasker init
|
|
|
165
165
|
Then, use `labtasker submit` to submit tasks and use `labtasker loop` to run tasks across any number of workers.
|
|
166
166
|
|
|
167
167
|
> [!TIP]
|
|
168
|
-
> If you think manually writing 2 scripts for submit and run is laborious, you can checkout the [labtasker-plugin-script-generate](https://github.com/
|
|
168
|
+
> If you think manually writing 2 scripts for submit and run is laborious, you can checkout the [labtasker-plugin-script-generate](https://github.com/luocfprime/labtasker-plugin-script-generate).
|
|
169
169
|
> It automatically generate 2 scripts based on the script you provided.
|
|
170
170
|
|
|
171
171
|
## 📚 Documentation
|
|
172
172
|
|
|
173
173
|
For detailed information on demo, tutorial, deployment, usage, please refer to
|
|
174
|
-
the [documentation](https://
|
|
174
|
+
the [documentation](https://luocfprime.github.io/labtasker/).
|
|
175
175
|
|
|
176
176
|
## 🔒 License
|
|
177
177
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<p align="center"><em>Make your ML experiment wrapper scripts smarter with...</em></p>
|
|
2
2
|
<h1 align="center" style="font-size: 40px;"> <a href="">Labtasker</a></h1>
|
|
3
|
-
<p align="center"><a href="https://
|
|
3
|
+
<p align="center"><a href="https://luocfprime.github.io/labtasker/latest/install/install/">Install</a> • <a href="https://luocfprime.github.io/labtasker/latest/guide/basic/">Tutorial / Demo</a> • <a href="https://luocfprime.github.io/labtasker/latest/">Documentation</a> • <a href="https://luocfprime.github.io/labtasker/latest/faq/">FAQs</a> • <a href="https://github.com/luocfprime/labtasker/releases">Releases</a></p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
<img src="https://github.com/
|
|
7
|
-
<a href="https://codecov.io/gh/
|
|
6
|
+
<img src="https://github.com/luocfprime/labtasker/actions/workflows/unit-test-matrix.yml/badge.svg" alt="unit-test-matrix" />
|
|
7
|
+
<a href="https://codecov.io/gh/luocfprime/labtasker"><img src="https://codecov.io/gh/luocfprime/labtasker/graph/badge.svg?token=KQFBV3QRPY" alt="codecov" /></a>
|
|
8
8
|
<img src="https://img.shields.io/badge/Python-3.8%20|%203.9%20|%203.10%20|%203.11%20|%203.12%20|%203.13-blue" alt="Python version" />
|
|
9
9
|
<a href="https://pypi.org/project/labtasker/"><img src="https://img.shields.io/pypi/v/labtasker" alt="PyPI" /></a>
|
|
10
10
|
</p>
|
|
@@ -22,7 +22,7 @@ parallelization, dynamic task prioritization, failure handling, halfway resume,
|
|
|
22
22
|
|
|
23
23
|

|
|
24
24
|
|
|
25
|
-
🐳 For detailed examples and concepts, check out the [documentation](https://
|
|
25
|
+
🐳 For detailed examples and concepts, check out the [documentation](https://luocfprime.github.io/labtasker/).
|
|
26
26
|
|
|
27
27
|
## 🧪️ A Quick Demo
|
|
28
28
|
|
|
@@ -34,7 +34,7 @@ such as sending emails on task failure.
|
|
|
34
34
|

|
|
35
35
|
|
|
36
36
|
For more detailed steps, please refer to the content in
|
|
37
|
-
the [Tutorial / Demo](https://
|
|
37
|
+
the [Tutorial / Demo](https://luocfprime.github.io/labtasker/latest/guide/basic/).
|
|
38
38
|
|
|
39
39
|
## ⚡️ Features
|
|
40
40
|
|
|
@@ -64,7 +64,7 @@ the [Tutorial / Demo](https://fkcptlst.github.io/labtasker/latest/guide/basic/).
|
|
|
64
64
|
> [!NOTE]
|
|
65
65
|
> You need a running Labtasker server to use the client tools.
|
|
66
66
|
> Simply use the installed Python CLI `labtasker-server serve` or use docker-compose to deploy the server.
|
|
67
|
-
> See [deployment instructions](https://
|
|
67
|
+
> See [deployment instructions](https://luocfprime.github.io/labtasker/latest/install/deployment/).
|
|
68
68
|
|
|
69
69
|
### 1. Install via PyPI
|
|
70
70
|
|
|
@@ -76,7 +76,7 @@ pip install 'labtasker[plugins]'
|
|
|
76
76
|
### 2. Install the Latest Version from GitHub
|
|
77
77
|
|
|
78
78
|
```bash
|
|
79
|
-
pip install git+https://github.com/
|
|
79
|
+
pip install git+https://github.com/luocfprime/labtasker.git
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
## 🚀 Quick Start
|
|
@@ -96,13 +96,13 @@ labtasker init
|
|
|
96
96
|
Then, use `labtasker submit` to submit tasks and use `labtasker loop` to run tasks across any number of workers.
|
|
97
97
|
|
|
98
98
|
> [!TIP]
|
|
99
|
-
> If you think manually writing 2 scripts for submit and run is laborious, you can checkout the [labtasker-plugin-script-generate](https://github.com/
|
|
99
|
+
> If you think manually writing 2 scripts for submit and run is laborious, you can checkout the [labtasker-plugin-script-generate](https://github.com/luocfprime/labtasker-plugin-script-generate).
|
|
100
100
|
> It automatically generate 2 scripts based on the script you provided.
|
|
101
101
|
|
|
102
102
|
## 📚 Documentation
|
|
103
103
|
|
|
104
104
|
For detailed information on demo, tutorial, deployment, usage, please refer to
|
|
105
|
-
the [documentation](https://
|
|
105
|
+
the [documentation](https://luocfprime.github.io/labtasker/).
|
|
106
106
|
|
|
107
107
|
## 🔒 License
|
|
108
108
|
|
|
@@ -59,6 +59,11 @@ def loop(
|
|
|
59
59
|
"-c",
|
|
60
60
|
help="Specify the command to run with shell=True. Supports the same argument interpolation the same way as the positional argument. Except you need to quote the entire command.",
|
|
61
61
|
),
|
|
62
|
+
executable: Optional[str] = typer.Option(
|
|
63
|
+
None,
|
|
64
|
+
"--executable",
|
|
65
|
+
help="Specify the shell executable to run the command with.",
|
|
66
|
+
),
|
|
62
67
|
extra_filter: Optional[str] = typer.Option(
|
|
63
68
|
None,
|
|
64
69
|
"--extra-filter",
|
|
@@ -148,16 +153,17 @@ def loop(
|
|
|
148
153
|
)
|
|
149
154
|
logger.info(f"Prepared to run interpolated command: {interpolated_cmd}")
|
|
150
155
|
|
|
151
|
-
|
|
156
|
+
use_shell = False
|
|
152
157
|
if isinstance(interpolated_cmd, str):
|
|
153
|
-
|
|
158
|
+
use_shell = True
|
|
154
159
|
|
|
155
160
|
with subprocess.Popen(
|
|
156
161
|
args=interpolated_cmd,
|
|
157
162
|
stdout=subprocess.PIPE,
|
|
158
163
|
stderr=subprocess.PIPE,
|
|
159
164
|
text=True,
|
|
160
|
-
|
|
165
|
+
executable=executable,
|
|
166
|
+
shell=use_shell,
|
|
161
167
|
) as process:
|
|
162
168
|
while True:
|
|
163
169
|
output = process.stdout.readline()
|
|
@@ -1180,7 +1180,6 @@ _db_service = None
|
|
|
1180
1180
|
|
|
1181
1181
|
def get_db() -> DBService:
|
|
1182
1182
|
"""Get database service instance."""
|
|
1183
|
-
global _db_service
|
|
1184
1183
|
if not _db_service:
|
|
1185
1184
|
raise RuntimeError("Database service not initialized.")
|
|
1186
1185
|
return _db_service # type: ignore
|
|
@@ -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.5"
|
|
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" }
|
|
@@ -78,9 +78,9 @@ plugins = [
|
|
|
78
78
|
]
|
|
79
79
|
|
|
80
80
|
[project.urls]
|
|
81
|
-
Homepage = "https://github.com/
|
|
82
|
-
Documentation = "https://
|
|
83
|
-
Repository = "https://github.com/
|
|
81
|
+
Homepage = "https://github.com/luocfprime/labtasker"
|
|
82
|
+
Documentation = "https://luocfprime.github.io/labtasker"
|
|
83
|
+
Repository = "https://github.com/luocfprime/labtasker.git"
|
|
84
84
|
|
|
85
85
|
[project.scripts]
|
|
86
86
|
labtasker = "labtasker.__main__:main"
|
|
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
|
|
File without changes
|
{labtasker-0.2.4 → labtasker-0.2.5}/labtasker/client/core/cmd_parser/generated/LabCmdLexer.py
RENAMED
|
File without changes
|
{labtasker-0.2.4 → labtasker-0.2.5}/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
|
|
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
|
|
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.4 → labtasker-0.2.5}/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.4 → labtasker-0.2.5}/tests/test_client/test_core/test_loop_internal_error_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_query_transpiler/__init__.py
RENAMED
|
File without changes
|
{labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_query_transpiler/conftest.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_query_transpiler/test_utils.py
RENAMED
|
File without changes
|
{labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_query_transpiler/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{labtasker-0.2.4 → labtasker-0.2.5}/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.4 → labtasker-0.2.5}/tests/test_client/test_core/test_runner_timeout/__init__.py
RENAMED
|
File without changes
|
{labtasker-0.2.4 → labtasker-0.2.5}/tests/test_client/test_core/test_runner_timeout/conftest.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labtasker-0.2.4 → labtasker-0.2.5}/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.4 → labtasker-0.2.5}/tests/test_server/test_database/test_fetch_extra_filter.py
RENAMED
|
File without changes
|
|
File without changes
|
{labtasker-0.2.4 → labtasker-0.2.5}/tests/test_server/test_database/test_required_field_fetching.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labtasker-0.2.4 → labtasker-0.2.5}/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.4 → labtasker-0.2.5}/tests/test_server/test_endpoint/test_server_async_ping.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|