meerschaum 2.2.6__tar.gz → 2.3.0.dev1__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.
- {meerschaum-2.2.6/meerschaum.egg-info → meerschaum-2.3.0.dev1}/PKG-INFO +9 -9
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/__init__.py +4 -1
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/__main__.py +10 -5
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/arguments/_parser.py +44 -15
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/entry.py +35 -14
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/shell/Shell.py +155 -53
- meerschaum-2.3.0.dev1/meerschaum/_internal/shell/updates.py +175 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/api.py +12 -12
- meerschaum-2.3.0.dev1/meerschaum/actions/attach.py +95 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/delete.py +35 -26
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/register.py +19 -5
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/show.py +119 -148
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/start.py +85 -75
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/stop.py +68 -39
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/sync.py +3 -3
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/upgrade.py +28 -36
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/_events.py +18 -1
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/_oauth2.py +2 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/_websockets.py +2 -2
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/jobs.py +5 -2
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/routes/__init__.py +1 -0
- meerschaum-2.3.0.dev1/meerschaum/api/routes/_actions.py +149 -0
- meerschaum-2.3.0.dev1/meerschaum/api/routes/_jobs.py +340 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/routes/_pipes.py +25 -25
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/_default.py +1 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/_formatting.py +1 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/_paths.py +5 -0
- meerschaum-2.3.0.dev1/meerschaum/config/_shell.py +149 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/_version.py +1 -1
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/static/__init__.py +9 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/__init__.py +9 -11
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/api/APIConnector.py +18 -1
- meerschaum-2.3.0.dev1/meerschaum/connectors/api/_actions.py +76 -0
- meerschaum-2.3.0.dev1/meerschaum/connectors/api/_jobs.py +260 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/api/_misc.py +1 -1
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/api/_request.py +13 -9
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/parse.py +23 -7
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/Pipe/_sync.py +3 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/plugins/__init__.py +89 -5
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/daemon/Daemon.py +333 -149
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/daemon/FileDescriptorInterceptor.py +19 -10
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/daemon/RotatingFile.py +18 -7
- meerschaum-2.3.0.dev1/meerschaum/utils/daemon/StdinFile.py +110 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/daemon/__init__.py +40 -27
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/formatting/__init__.py +83 -37
- meerschaum-2.3.0.dev1/meerschaum/utils/formatting/_jobs.py +176 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/formatting/_shell.py +6 -0
- meerschaum-2.3.0.dev1/meerschaum/utils/jobs/_Job.py +684 -0
- meerschaum-2.3.0.dev1/meerschaum/utils/jobs/__init__.py +245 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/misc.py +18 -17
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/packages/__init__.py +21 -15
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/packages/_packages.py +2 -2
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/prompt.py +20 -7
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/schedule.py +21 -15
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1/meerschaum.egg-info}/PKG-INFO +9 -9
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum.egg-info/SOURCES.txt +7 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum.egg-info/requires.txt +8 -8
- meerschaum-2.2.6/meerschaum/api/routes/_actions.py +0 -71
- meerschaum-2.2.6/meerschaum/config/_shell.py +0 -132
- meerschaum-2.2.6/meerschaum/connectors/api/_actions.py +0 -87
- meerschaum-2.2.6/meerschaum/utils/formatting/_jobs.py +0 -109
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/LICENSE +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/NOTICE +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/README.md +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/arguments/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/arguments/_parse_arguments.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/docs/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/docs/index.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/gui/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/gui/app/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/gui/app/_windows.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/gui/app/actions.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/gui/app/pipes.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/shell/ShellCompleter.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/shell/ValidAutoSuggest.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/shell/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/shell/resources/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/term/TermPageHandler.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/term/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/_internal/term/tools.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/bootstrap.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/clear.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/copy.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/deduplicate.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/drop.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/edit.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/install.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/login.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/os.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/pause.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/python.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/reload.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/setup.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/sh.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/sql.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/stack.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/tag.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/uninstall.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/actions/verify.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/_chain.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/actions.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/assets/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/assets/ansi_up.js +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/assets/banner_1920x320.png +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/assets/favicon.ico +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/assets/logo_48x48.png +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/assets/logo_500x500.png +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/callbacks/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/callbacks/custom.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/callbacks/dashboard.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/callbacks/jobs.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/callbacks/login.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/callbacks/plugins.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/callbacks/register.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/components.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/connectors.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/graphs.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/keys.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/pages/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/pages/dashboard.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/pages/error.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/pages/login.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/pages/plugins.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/pages/register.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/pipes.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/plugins.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/sync.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/users.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/websockets.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/dash/webterm.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/models/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/models/_interfaces.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/models/_locations.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/models/_metrics.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/models/_pipes.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/static/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/static/css/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/static/css/bootstrap.min.css +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/static/css/dash.css +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/static/css/dbc_dark.css +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/static/css/styles.css +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/static/css/xterm.css +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/static/ico/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/static/ico/logo.ico +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/static/js/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/static/js/action_button.js +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/static/js/main.js +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/static/js/terminado.js +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/static/js/xterm.js +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/static/png/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/templates/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/templates/index.html +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/templates/old_index.html +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/templates/secret.html +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/resources/templates/termpage.html +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/routes/_connectors.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/routes/_index.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/routes/_login.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/routes/_misc.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/routes/_plugins.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/routes/_users.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/routes/_version.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/routes/_webterm.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/api/tables/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/_dash.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/_edit.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/_environment.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/_jobs.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/_patch.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/_preprocess.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/_read_config.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/_sync.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/paths.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/resources/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/stack/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/stack/grafana/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/stack/mosquitto/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/stack/mosquitto/resources/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/config/stack/resources/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/Connector.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/api/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/api/_fetch.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/api/_login.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/api/_pipes.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/api/_plugins.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/api/_uri.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/api/_users.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/plugin/PluginConnector.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/plugin/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/poll.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/sql/SQLConnector.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/sql/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/sql/_cli.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/sql/_create_engine.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/sql/_fetch.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/sql/_instance.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/sql/_pipes.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/sql/_plugins.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/sql/_sql.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/sql/_uri.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/sql/_users.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/sql/tables/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/sql/tables/types.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/connectors/sql/tools.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/Pipe/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/Pipe/_attributes.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/Pipe/_bootstrap.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/Pipe/_clear.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/Pipe/_data.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/Pipe/_deduplicate.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/Pipe/_delete.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/Pipe/_drop.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/Pipe/_dtypes.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/Pipe/_edit.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/Pipe/_fetch.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/Pipe/_register.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/Pipe/_show.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/Pipe/_verify.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/Plugin/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/User/_User.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/User/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/core/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/plugins/_Plugin.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/plugins/bootstrap.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/_get_pipes.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/daemon/_names.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/dataframe.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/debug.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/dtypes/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/dtypes/sql.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/formatting/_pipes.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/formatting/_pprint.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/interactive.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/networking.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/packages/lazy_loader.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/pool.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/process.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/sql.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/threading.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/typing.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/venv/_Venv.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/venv/__init__.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/warnings.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum/utils/yaml.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum.egg-info/dependency_links.txt +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum.egg-info/entry_points.txt +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum.egg-info/top_level.txt +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/meerschaum.egg-info/zip-safe +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/setup.cfg +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/setup.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/tests/test_deduplicate.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/tests/test_pipes_dtypes.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/tests/test_sql.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/tests/test_sync.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/tests/test_users.py +0 -0
- {meerschaum-2.2.6 → meerschaum-2.3.0.dev1}/tests/test_verify.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: meerschaum
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.3.0.dev1
|
4
4
|
Summary: Sync Time-Series Pipes with Meerschaum
|
5
5
|
Home-page: https://meerschaum.io
|
6
6
|
Author: Bennett Meares
|
@@ -60,7 +60,7 @@ Requires-Dist: packaging>=21.3.0; extra == "core"
|
|
60
60
|
Requires-Dist: prompt-toolkit>=3.0.39; extra == "core"
|
61
61
|
Requires-Dist: more-itertools>=8.7.0; extra == "core"
|
62
62
|
Requires-Dist: python-daemon>=0.2.3; extra == "core"
|
63
|
-
Requires-Dist: fasteners>=0.
|
63
|
+
Requires-Dist: fasteners>=0.19.0; extra == "core"
|
64
64
|
Requires-Dist: psutil>=5.8.0; extra == "core"
|
65
65
|
Requires-Dist: watchfiles>=0.21.0; extra == "core"
|
66
66
|
Requires-Dist: dill>=0.3.3; extra == "core"
|
@@ -69,7 +69,7 @@ Requires-Dist: APScheduler>=4.0.0a5; extra == "core"
|
|
69
69
|
Requires-Dist: uv>=0.2.11; extra == "core"
|
70
70
|
Provides-Extra: drivers
|
71
71
|
Requires-Dist: cryptography>=38.0.1; extra == "drivers"
|
72
|
-
Requires-Dist: psycopg[binary]>=3.1
|
72
|
+
Requires-Dist: psycopg[binary]>=3.2.1; extra == "drivers"
|
73
73
|
Requires-Dist: PyMySQL>=0.9.0; extra == "drivers"
|
74
74
|
Requires-Dist: aiomysql>=0.0.21; extra == "drivers"
|
75
75
|
Requires-Dist: sqlalchemy-cockroachdb>=2.0.0; extra == "drivers"
|
@@ -131,7 +131,7 @@ Requires-Dist: databases>=0.4.0; extra == "sql"
|
|
131
131
|
Requires-Dist: aiosqlite>=0.16.0; extra == "sql"
|
132
132
|
Requires-Dist: asyncpg>=0.21.0; extra == "sql"
|
133
133
|
Requires-Dist: cryptography>=38.0.1; extra == "sql"
|
134
|
-
Requires-Dist: psycopg[binary]>=3.1
|
134
|
+
Requires-Dist: psycopg[binary]>=3.2.1; extra == "sql"
|
135
135
|
Requires-Dist: PyMySQL>=0.9.0; extra == "sql"
|
136
136
|
Requires-Dist: aiomysql>=0.0.21; extra == "sql"
|
137
137
|
Requires-Dist: sqlalchemy-cockroachdb>=2.0.0; extra == "sql"
|
@@ -154,7 +154,7 @@ Requires-Dist: packaging>=21.3.0; extra == "sql"
|
|
154
154
|
Requires-Dist: prompt-toolkit>=3.0.39; extra == "sql"
|
155
155
|
Requires-Dist: more-itertools>=8.7.0; extra == "sql"
|
156
156
|
Requires-Dist: python-daemon>=0.2.3; extra == "sql"
|
157
|
-
Requires-Dist: fasteners>=0.
|
157
|
+
Requires-Dist: fasteners>=0.19.0; extra == "sql"
|
158
158
|
Requires-Dist: psutil>=5.8.0; extra == "sql"
|
159
159
|
Requires-Dist: watchfiles>=0.21.0; extra == "sql"
|
160
160
|
Requires-Dist: dill>=0.3.3; extra == "sql"
|
@@ -190,7 +190,7 @@ Requires-Dist: databases>=0.4.0; extra == "api"
|
|
190
190
|
Requires-Dist: aiosqlite>=0.16.0; extra == "api"
|
191
191
|
Requires-Dist: asyncpg>=0.21.0; extra == "api"
|
192
192
|
Requires-Dist: cryptography>=38.0.1; extra == "api"
|
193
|
-
Requires-Dist: psycopg[binary]>=3.1
|
193
|
+
Requires-Dist: psycopg[binary]>=3.2.1; extra == "api"
|
194
194
|
Requires-Dist: PyMySQL>=0.9.0; extra == "api"
|
195
195
|
Requires-Dist: aiomysql>=0.0.21; extra == "api"
|
196
196
|
Requires-Dist: sqlalchemy-cockroachdb>=2.0.0; extra == "api"
|
@@ -213,7 +213,7 @@ Requires-Dist: packaging>=21.3.0; extra == "api"
|
|
213
213
|
Requires-Dist: prompt-toolkit>=3.0.39; extra == "api"
|
214
214
|
Requires-Dist: more-itertools>=8.7.0; extra == "api"
|
215
215
|
Requires-Dist: python-daemon>=0.2.3; extra == "api"
|
216
|
-
Requires-Dist: fasteners>=0.
|
216
|
+
Requires-Dist: fasteners>=0.19.0; extra == "api"
|
217
217
|
Requires-Dist: psutil>=5.8.0; extra == "api"
|
218
218
|
Requires-Dist: watchfiles>=0.21.0; extra == "api"
|
219
219
|
Requires-Dist: dill>=0.3.3; extra == "api"
|
@@ -262,7 +262,7 @@ Requires-Dist: packaging>=21.3.0; extra == "full"
|
|
262
262
|
Requires-Dist: prompt-toolkit>=3.0.39; extra == "full"
|
263
263
|
Requires-Dist: more-itertools>=8.7.0; extra == "full"
|
264
264
|
Requires-Dist: python-daemon>=0.2.3; extra == "full"
|
265
|
-
Requires-Dist: fasteners>=0.
|
265
|
+
Requires-Dist: fasteners>=0.19.0; extra == "full"
|
266
266
|
Requires-Dist: psutil>=5.8.0; extra == "full"
|
267
267
|
Requires-Dist: watchfiles>=0.21.0; extra == "full"
|
268
268
|
Requires-Dist: dill>=0.3.3; extra == "full"
|
@@ -270,7 +270,7 @@ Requires-Dist: virtualenv>=20.1.0; extra == "full"
|
|
270
270
|
Requires-Dist: APScheduler>=4.0.0a5; extra == "full"
|
271
271
|
Requires-Dist: uv>=0.2.11; extra == "full"
|
272
272
|
Requires-Dist: cryptography>=38.0.1; extra == "full"
|
273
|
-
Requires-Dist: psycopg[binary]>=3.1
|
273
|
+
Requires-Dist: psycopg[binary]>=3.2.1; extra == "full"
|
274
274
|
Requires-Dist: PyMySQL>=0.9.0; extra == "full"
|
275
275
|
Requires-Dist: aiomysql>=0.0.21; extra == "full"
|
276
276
|
Requires-Dist: sqlalchemy-cockroachdb>=2.0.0; extra == "full"
|
@@ -20,15 +20,16 @@ limitations under the License.
|
|
20
20
|
|
21
21
|
import atexit
|
22
22
|
from meerschaum.utils.typing import SuccessTuple
|
23
|
+
from meerschaum.utils.packages import attempt_import
|
23
24
|
from meerschaum.core.Pipe import Pipe
|
24
25
|
from meerschaum.plugins import Plugin
|
25
26
|
from meerschaum.utils.venv import Venv
|
27
|
+
from meerschaum.utils.jobs import Job
|
26
28
|
from meerschaum.connectors import get_connector, Connector, make_connector
|
27
29
|
from meerschaum.utils import get_pipes
|
28
30
|
from meerschaum.utils.formatting import pprint
|
29
31
|
from meerschaum._internal.docs import index as __doc__
|
30
32
|
from meerschaum.config import __version__, get_config
|
31
|
-
from meerschaum.utils.packages import attempt_import
|
32
33
|
from meerschaum.__main__ import _close_pools
|
33
34
|
|
34
35
|
atexit.register(_close_pools)
|
@@ -42,6 +43,8 @@ __all__ = (
|
|
42
43
|
"Plugin",
|
43
44
|
"Venv",
|
44
45
|
"Plugin",
|
46
|
+
"Job",
|
47
|
+
"Daemon",
|
45
48
|
"pprint",
|
46
49
|
"attempt_import",
|
47
50
|
"actions",
|
@@ -19,9 +19,15 @@ See the License for the specific language governing permissions and
|
|
19
19
|
limitations under the License.
|
20
20
|
"""
|
21
21
|
|
22
|
-
import sys
|
22
|
+
import sys
|
23
|
+
import os
|
24
|
+
import copy
|
23
25
|
|
24
|
-
|
26
|
+
from meerschaum.utils.typing import List, Optional
|
27
|
+
from meerschaum.utils.formatting import print_tuple as _print_tuple
|
28
|
+
|
29
|
+
|
30
|
+
def main(sysargs: Optional[List[str]] = None) -> None:
|
25
31
|
"""Main CLI entry point."""
|
26
32
|
if sysargs is None:
|
27
33
|
sysargs = copy.deepcopy(sys.argv[1:])
|
@@ -41,7 +47,7 @@ def main(sysargs: list = None) -> None:
|
|
41
47
|
|
42
48
|
if ('-d' in sysargs or '--daemon' in sysargs) and ('stack' not in sysargs):
|
43
49
|
from meerschaum.utils.daemon import daemon_entry
|
44
|
-
daemon_entry(sysargs)
|
50
|
+
_print_tuple(daemon_entry(sysargs), upper_padding=1)
|
45
51
|
return _exit(old_cwd=old_cwd)
|
46
52
|
|
47
53
|
from meerschaum._internal.entry import entry, get_shell
|
@@ -57,8 +63,7 @@ def main(sysargs: list = None) -> None:
|
|
57
63
|
return_tuple = entry(sysargs)
|
58
64
|
rc = 0
|
59
65
|
if isinstance(return_tuple, tuple) and '--nopretty' not in sysargs:
|
60
|
-
|
61
|
-
print_tuple(return_tuple, upper_padding=1)
|
66
|
+
_print_tuple(return_tuple, upper_padding=1)
|
62
67
|
rc = 0 if (return_tuple[0] is True) else 1
|
63
68
|
|
64
69
|
return _exit(rc, old_cwd=old_cwd)
|
@@ -62,7 +62,24 @@ def parse_datetime(dt_str: str) -> Union[datetime, int, str]:
|
|
62
62
|
return dt
|
63
63
|
|
64
64
|
|
65
|
-
def
|
65
|
+
def parse_executor_keys(executor_keys_str: str) -> Union[str, None]:
|
66
|
+
"""
|
67
|
+
Ensure that only API keys are provided for executor_keys.
|
68
|
+
"""
|
69
|
+
if executor_keys_str == 'local':
|
70
|
+
return executor_keys_str
|
71
|
+
|
72
|
+
if executor_keys_str.lower() == 'none':
|
73
|
+
return 'local'
|
74
|
+
|
75
|
+
if not executor_keys_str.startswith('api:'):
|
76
|
+
from meerschaum.utils.warnings import error
|
77
|
+
error(f"Invalid exectutor keys '{executor_keys_str}'.", stack=False)
|
78
|
+
|
79
|
+
return executor_keys_str
|
80
|
+
|
81
|
+
|
82
|
+
def parse_help(sysargs: Union[List[str], Dict[str, Any]]) -> None:
|
66
83
|
"""Parse the `--help` flag to determine which help message to print."""
|
67
84
|
from meerschaum._internal.arguments._parse_arguments import parse_arguments, parse_line
|
68
85
|
from meerschaum.actions import actions, get_subactions
|
@@ -135,6 +152,7 @@ _seen_plugin_args = {}
|
|
135
152
|
|
136
153
|
groups = {}
|
137
154
|
groups['actions'] = parser.add_argument_group(title='Actions options')
|
155
|
+
groups['jobs'] = parser.add_argument_group(title='Jobs options')
|
138
156
|
groups['pipes'] = parser.add_argument_group(title='Pipes options')
|
139
157
|
groups['sync'] = parser.add_argument_group(title='Sync options')
|
140
158
|
groups['api'] = parser.add_argument_group(title='API options')
|
@@ -166,18 +184,25 @@ groups['actions'].add_argument(
|
|
166
184
|
help="Automatically choose the defaults answers to questions. Does not result in data loss.",
|
167
185
|
)
|
168
186
|
groups['actions'].add_argument(
|
169
|
-
'-
|
170
|
-
help =
|
187
|
+
'-A', '--sub-args', nargs=argparse.REMAINDER,
|
188
|
+
help = (
|
189
|
+
"Provide a list of arguments for subprocesses. " +
|
190
|
+
"You can also type sub-arguments in [] instead." +
|
191
|
+
" E.g. `stack -A='--version'`, `ls [-lh]`, `echo -A these are sub-arguments`"
|
192
|
+
)
|
171
193
|
)
|
172
|
-
|
173
|
-
|
194
|
+
|
195
|
+
### Jobs options
|
196
|
+
groups['jobs'].add_argument(
|
197
|
+
'-d', '--daemon', action='store_true',
|
198
|
+
help = "Run an action as a background daemon to create a job."
|
174
199
|
)
|
175
|
-
groups['
|
200
|
+
groups['jobs'].add_argument(
|
176
201
|
'--name', '--job-name', type=parse_name, help=(
|
177
202
|
"Assign a name to a job. If no name is provided, a random name will be assigned."
|
178
203
|
),
|
179
204
|
)
|
180
|
-
groups['
|
205
|
+
groups['jobs'].add_argument(
|
181
206
|
'-s', '--schedule', '--cron', type=str,
|
182
207
|
help = (
|
183
208
|
"Continue executing the action according to a schedule (e.g. 'every 1 seconds'). \n"
|
@@ -185,15 +210,19 @@ groups['actions'].add_argument(
|
|
185
210
|
+ "https://red-engine.readthedocs.io/en/stable/condition_syntax/index.html"
|
186
211
|
)
|
187
212
|
)
|
188
|
-
groups['
|
189
|
-
'
|
190
|
-
help
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
213
|
+
groups['jobs'].add_argument(
|
214
|
+
'--restart', action='store_true',
|
215
|
+
help=("Restart a job if not stopped manually."),
|
216
|
+
)
|
217
|
+
groups['jobs'].add_argument(
|
218
|
+
'--executor-keys', '--executor', '-e', type=parse_executor_keys,
|
219
|
+
help=(
|
220
|
+
"Remotely execute jobs on an API instance."
|
221
|
+
),
|
222
|
+
)
|
223
|
+
groups['jobs'].add_argument(
|
224
|
+
'--rm', action='store_true', help="Delete a job once it has finished executing."
|
195
225
|
)
|
196
|
-
|
197
226
|
### Pipes options
|
198
227
|
groups['pipes'].add_argument(
|
199
228
|
'-c', '-C', '--connector-keys', nargs='+',
|
@@ -8,20 +8,15 @@ The entry point for launching Meerschaum actions.
|
|
8
8
|
"""
|
9
9
|
|
10
10
|
from __future__ import annotations
|
11
|
-
from meerschaum.utils.typing import SuccessTuple, List, Optional, Dict
|
11
|
+
from meerschaum.utils.typing import SuccessTuple, List, Optional, Dict, Callable, Any
|
12
12
|
|
13
13
|
def entry(sysargs: Optional[List[str]] = None) -> SuccessTuple:
|
14
|
-
"""
|
15
|
-
|
16
|
-
|
17
|
-
Examples of action:
|
18
|
-
'show actions' -> ['actions']
|
19
|
-
'show' -> []
|
14
|
+
"""
|
15
|
+
Parse arguments and launch a Meerschaum action.
|
20
16
|
|
21
17
|
Returns
|
22
18
|
-------
|
23
|
-
A `SuccessTuple` indicating success.
|
24
|
-
|
19
|
+
A `SuccessTuple` indicating success.
|
25
20
|
"""
|
26
21
|
from meerschaum._internal.arguments import parse_arguments
|
27
22
|
from meerschaum.config.static import STATIC_CONFIG
|
@@ -51,14 +46,15 @@ def entry(sysargs: Optional[List[str]] = None) -> SuccessTuple:
|
|
51
46
|
|
52
47
|
|
53
48
|
def entry_with_args(
|
54
|
-
|
55
|
-
|
56
|
-
|
49
|
+
_actions: Optional[Dict[str, Callable[[Any], SuccessTuple]]] = None,
|
50
|
+
**kw
|
51
|
+
) -> SuccessTuple:
|
57
52
|
"""Execute a Meerschaum action with keyword arguments.
|
58
53
|
Use `_entry()` for parsing sysargs before executing.
|
59
54
|
"""
|
60
55
|
import sys
|
61
56
|
import functools
|
57
|
+
import inspect
|
62
58
|
from meerschaum.actions import get_action, get_main_action_name
|
63
59
|
from meerschaum._internal.arguments import remove_leading_action
|
64
60
|
from meerschaum.utils.venv import Venv, active_venvs, deactivate_venv
|
@@ -72,6 +68,25 @@ def entry_with_args(
|
|
72
68
|
):
|
73
69
|
return get_shell().cmdloop()
|
74
70
|
|
71
|
+
skip_schedule = False
|
72
|
+
|
73
|
+
executor_keys = kw.get('executor_keys', None)
|
74
|
+
if executor_keys is None:
|
75
|
+
executor_keys = 'local'
|
76
|
+
|
77
|
+
if executor_keys.startswith('api:'):
|
78
|
+
intended_action_function = get_action(kw['action'], _actions=_actions)
|
79
|
+
function_accepts_executor_keys = (
|
80
|
+
'executor_keys' in inspect.signature(intended_action_function).parameters
|
81
|
+
if intended_action_function is not None
|
82
|
+
else False
|
83
|
+
)
|
84
|
+
if not function_accepts_executor_keys:
|
85
|
+
api_label = executor_keys.split(':')[-1]
|
86
|
+
kw['action'].insert(0, 'api')
|
87
|
+
kw['action'].insert(1, api_label)
|
88
|
+
skip_schedule = True
|
89
|
+
|
75
90
|
action_function = get_action(kw['action'], _actions=_actions)
|
76
91
|
|
77
92
|
### If action does not exist, execute in a subshell.
|
@@ -86,7 +101,6 @@ def entry_with_args(
|
|
86
101
|
) else None
|
87
102
|
)
|
88
103
|
|
89
|
-
skip_schedule = False
|
90
104
|
if (
|
91
105
|
kw['action']
|
92
106
|
and kw['action'][0] == 'start'
|
@@ -96,7 +110,14 @@ def entry_with_args(
|
|
96
110
|
|
97
111
|
kw['action'] = remove_leading_action(kw['action'], _actions=_actions)
|
98
112
|
|
99
|
-
do_action = functools.partial(
|
113
|
+
do_action = functools.partial(
|
114
|
+
_do_action_wrapper,
|
115
|
+
action_function,
|
116
|
+
plugin_name,
|
117
|
+
**kw
|
118
|
+
)
|
119
|
+
|
120
|
+
|
100
121
|
if kw.get('schedule', None) and not skip_schedule:
|
101
122
|
from meerschaum.utils.schedule import schedule_function
|
102
123
|
from meerschaum.utils.misc import interval_str
|