meerschaum 2.7.0__tar.gz → 2.7.1__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {meerschaum-2.7.0/meerschaum.egg-info → meerschaum-2.7.1}/PKG-INFO +1 -1
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/__init__.py +1 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/callbacks/dashboard.py +56 -38
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/templates/termpage.html +29 -21
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/routes/_webterm.py +4 -3
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/_version.py +1 -1
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/sql/_create_engine.py +6 -1
- {meerschaum-2.7.0 → meerschaum-2.7.1/meerschaum.egg-info}/PKG-INFO +1 -1
- {meerschaum-2.7.0 → meerschaum-2.7.1}/LICENSE +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/NOTICE +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/README.md +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/__main__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/arguments/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/arguments/_parse_arguments.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/arguments/_parser.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/docs/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/docs/index.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/entry.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/gui/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/gui/app/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/gui/app/_windows.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/gui/app/actions.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/gui/app/pipes.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/shell/Shell.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/shell/ShellCompleter.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/shell/ValidAutoSuggest.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/shell/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/shell/resources/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/shell/updates.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/term/TermPageHandler.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/term/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/_internal/term/tools.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/api.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/attach.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/bootstrap.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/clear.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/copy.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/deduplicate.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/delete.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/drop.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/edit.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/install.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/login.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/os.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/pause.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/python.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/register.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/reload.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/restart.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/setup.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/sh.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/show.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/sql.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/stack.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/start.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/stop.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/sync.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/tag.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/uninstall.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/upgrade.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/actions/verify.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/_chain.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/_events.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/_oauth2.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/_websockets.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/assets/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/assets/ansi_up.js +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/assets/banner_1920x320.png +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/assets/favicon.ico +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/assets/logo_48x48.png +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/assets/logo_500x500.png +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/callbacks/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/callbacks/custom.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/callbacks/jobs.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/callbacks/login.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/callbacks/pipes.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/callbacks/plugins.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/callbacks/register.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/components.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/connectors.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/graphs.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/jobs.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/keys.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/pages/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/pages/dashboard.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/pages/error.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/pages/job.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/pages/login.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/pages/pipes.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/pages/plugins.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/pages/register.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/pipes.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/plugins.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/sessions.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/sync.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/users.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/websockets.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/dash/webterm.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/models/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/models/_interfaces.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/models/_locations.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/models/_metrics.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/models/_pipes.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/static/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/static/css/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/static/css/bootstrap.min.css +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/static/css/dash.css +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/static/css/dbc_dark.css +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/static/css/styles.css +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/static/css/xterm.css +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/static/ico/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/static/ico/logo.ico +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/static/js/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/static/js/action_button.js +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/static/js/main.js +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/static/js/terminado.js +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/static/js/xterm.js +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/static/png/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/templates/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/templates/index.html +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/templates/old_index.html +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/resources/templates/secret.html +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/routes/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/routes/_actions.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/routes/_connectors.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/routes/_index.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/routes/_jobs.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/routes/_login.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/routes/_misc.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/routes/_pipes.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/routes/_plugins.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/routes/_users.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/routes/_version.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/api/tables/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/_dash.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/_default.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/_edit.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/_environment.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/_formatting.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/_jobs.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/_patch.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/_paths.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/_preprocess.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/_read_config.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/_shell.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/_sync.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/paths.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/resources/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/stack/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/stack/grafana/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/stack/mosquitto/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/stack/mosquitto/resources/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/stack/resources/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/config/static/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/_Connector.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/api/_APIConnector.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/api/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/api/_actions.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/api/_fetch.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/api/_jobs.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/api/_login.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/api/_misc.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/api/_pipes.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/api/_plugins.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/api/_request.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/api/_uri.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/api/_users.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/parse.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/plugin/PluginConnector.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/plugin/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/poll.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/sql/_SQLConnector.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/sql/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/sql/_cli.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/sql/_fetch.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/sql/_instance.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/sql/_pipes.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/sql/_plugins.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/sql/_sql.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/sql/_uri.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/sql/_users.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/sql/tables/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/sql/tables/types.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/sql/tools.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/valkey/_ValkeyConnector.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/valkey/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/valkey/_fetch.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/valkey/_pipes.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/valkey/_plugins.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/connectors/valkey/_users.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/Pipe/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/Pipe/_attributes.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/Pipe/_bootstrap.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/Pipe/_clear.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/Pipe/_copy.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/Pipe/_data.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/Pipe/_deduplicate.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/Pipe/_delete.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/Pipe/_drop.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/Pipe/_dtypes.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/Pipe/_edit.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/Pipe/_fetch.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/Pipe/_register.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/Pipe/_show.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/Pipe/_sync.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/Pipe/_verify.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/Plugin/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/User/_User.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/User/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/core/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/jobs/_Executor.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/jobs/_Job.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/jobs/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/jobs/systemd.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/plugins/_Plugin.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/plugins/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/plugins/bootstrap.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/_get_pipes.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/daemon/Daemon.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/daemon/FileDescriptorInterceptor.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/daemon/RotatingFile.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/daemon/StdinFile.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/daemon/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/daemon/_names.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/dataframe.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/debug.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/dtypes/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/dtypes/sql.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/formatting/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/formatting/_jobs.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/formatting/_pipes.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/formatting/_pprint.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/formatting/_shell.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/interactive.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/misc.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/networking.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/packages/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/packages/_packages.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/packages/lazy_loader.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/pool.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/process.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/prompt.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/schedule.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/sql.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/threading.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/typing.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/venv/_Venv.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/venv/__init__.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/warnings.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum/utils/yaml.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum.egg-info/SOURCES.txt +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum.egg-info/dependency_links.txt +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum.egg-info/entry_points.txt +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum.egg-info/requires.txt +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum.egg-info/top_level.txt +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/meerschaum.egg-info/zip-safe +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/setup.cfg +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/setup.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/tests/test_actions.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/tests/test_arguments.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/tests/test_deduplicate.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/tests/test_jobs.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/tests/test_pipe_data.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/tests/test_pipes_dtypes.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/tests/test_sql.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/tests/test_sync.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/tests/test_users.py +0 -0
- {meerschaum-2.7.0 → meerschaum-2.7.1}/tests/test_verify.py +0 -0
@@ -11,6 +11,8 @@ from __future__ import annotations
|
|
11
11
|
import textwrap
|
12
12
|
import json
|
13
13
|
import uuid
|
14
|
+
from datetime import datetime, timezone
|
15
|
+
|
14
16
|
from dash.dependencies import Input, Output, State, ALL, MATCH
|
15
17
|
from dash.exceptions import PreventUpdate
|
16
18
|
from meerschaum.utils.typing import List, Optional, Any, Tuple
|
@@ -191,6 +193,7 @@ def update_page_layout_div(
|
|
191
193
|
Input('get-plugins-button', 'n_clicks'),
|
192
194
|
Input('get-users-button', 'n_clicks'),
|
193
195
|
Input('get-graphs-button', 'n_clicks'),
|
196
|
+
Input('instance-select', 'value'),
|
194
197
|
State('mrsm-location', 'href'),
|
195
198
|
State('session-store', 'data'),
|
196
199
|
State('webterm-div', 'children'),
|
@@ -210,7 +213,7 @@ def update_content(*args):
|
|
210
213
|
### Open the webterm on the initial load.
|
211
214
|
if not ctx.triggered:
|
212
215
|
initial_load = True
|
213
|
-
trigger = '
|
216
|
+
trigger = 'instance-select'
|
214
217
|
|
215
218
|
trigger = ctx.triggered[0]['prop_id'].split('.')[0] if not trigger else trigger
|
216
219
|
|
@@ -232,7 +235,7 @@ def update_content(*args):
|
|
232
235
|
'get-plugins-button': get_plugins_cards,
|
233
236
|
'get-users-button': get_users_cards,
|
234
237
|
'get-graphs-button': get_graphs_cards,
|
235
|
-
'
|
238
|
+
'instance-select': lambda x: ([], []),
|
236
239
|
}
|
237
240
|
### Defaults to 3 if not in dict.
|
238
241
|
trigger_num_cols = {
|
@@ -248,7 +251,7 @@ def update_content(*args):
|
|
248
251
|
webterm_style = {
|
249
252
|
'display': (
|
250
253
|
'none'
|
251
|
-
if trigger not in ('
|
254
|
+
if trigger not in ('instance-select', 'cancel-button', 'go-button')
|
252
255
|
else 'block'
|
253
256
|
)
|
254
257
|
}
|
@@ -284,9 +287,9 @@ dash_app.clientside_callback(
|
|
284
287
|
input_flags_texts,
|
285
288
|
instance,
|
286
289
|
){
|
287
|
-
if (!n_clicks){ return
|
290
|
+
if (!n_clicks){ return dash_clientside.no_update; }
|
288
291
|
iframe = document.getElementById('webterm-iframe');
|
289
|
-
if (!iframe){ return
|
292
|
+
if (!iframe){ return dash_clientside.no_update; }
|
290
293
|
|
291
294
|
// Actions must be obtained from the DOM because of dynamic subactions.
|
292
295
|
action = document.getElementById('action-dropdown').value;
|
@@ -308,7 +311,7 @@ dash_app.clientside_callback(
|
|
308
311
|
},
|
309
312
|
url
|
310
313
|
);
|
311
|
-
return
|
314
|
+
return dash_clientside.no_update;
|
312
315
|
}
|
313
316
|
""",
|
314
317
|
Output('mrsm-location', 'href'),
|
@@ -472,29 +475,30 @@ def update_flags(input_flags_dropdown_values, n_clicks, input_flags_texts):
|
|
472
475
|
|
473
476
|
|
474
477
|
@dash_app.callback(
|
475
|
-
Output(
|
476
|
-
Output(
|
477
|
-
Output(
|
478
|
-
Output(
|
479
|
-
Output(
|
480
|
-
Output(
|
481
|
-
Output(
|
482
|
-
Output(
|
483
|
-
Output(
|
484
|
-
Output(
|
485
|
-
Output(
|
486
|
-
|
487
|
-
Input(
|
488
|
-
Input(
|
489
|
-
Input(
|
490
|
-
|
478
|
+
Output('connector-keys-dropdown', 'options'),
|
479
|
+
Output('connector-keys-list', 'children'),
|
480
|
+
Output('connector-keys-dropdown', 'value'),
|
481
|
+
Output('metric-keys-dropdown', 'options'),
|
482
|
+
Output('metric-keys-list', 'children'),
|
483
|
+
Output('metric-keys-dropdown', 'value'),
|
484
|
+
Output('location-keys-dropdown', 'options'),
|
485
|
+
Output('location-keys-list', 'children'),
|
486
|
+
Output('location-keys-dropdown', 'value'),
|
487
|
+
Output('instance-select', 'value'),
|
488
|
+
Output('instance-alert-div', 'children'),
|
489
|
+
Output('instance-store', 'data'),
|
490
|
+
Input('connector-keys-dropdown', 'value'),
|
491
|
+
Input('metric-keys-dropdown', 'value'),
|
492
|
+
Input('location-keys-dropdown', 'value'),
|
493
|
+
Input('instance-select', 'value'),
|
494
|
+
State('instance-store', 'data'),
|
491
495
|
)
|
492
496
|
def update_keys_options(
|
493
497
|
connector_keys: Optional[List[str]],
|
494
498
|
metric_keys: Optional[List[str]],
|
495
499
|
location_keys: Optional[List[str]],
|
496
500
|
instance_keys: Optional[str],
|
497
|
-
|
501
|
+
instance_store_data: Optional[Dict[str, Any]],
|
498
502
|
):
|
499
503
|
"""
|
500
504
|
Update the keys dropdown menus' options.
|
@@ -503,11 +507,24 @@ def update_keys_options(
|
|
503
507
|
trigger = ctx.triggered[0]['prop_id'].split('.')[0]
|
504
508
|
instance_click = trigger == 'instance-select'
|
505
509
|
|
510
|
+
session_instance = instance_store_data.get('session_instance', None)
|
511
|
+
|
506
512
|
### Update the instance first.
|
507
513
|
update_instance_keys = False
|
508
514
|
if not instance_keys:
|
515
|
+
### NOTE: Set to `session_instance` to restore the last used session.
|
516
|
+
### Choosing not to do this in order to keep the dashboard and webterm in sync.
|
509
517
|
instance_keys = str(get_api_connector())
|
510
518
|
update_instance_keys = True
|
519
|
+
|
520
|
+
instance_store_data_to_return = (
|
521
|
+
{**(instance_store_data or {}), **{'session_instance': instance_keys}}
|
522
|
+
if update_instance_keys or session_instance != instance_keys
|
523
|
+
else dash.no_update
|
524
|
+
)
|
525
|
+
if not trigger and not update_instance_keys:
|
526
|
+
raise PreventUpdate
|
527
|
+
|
511
528
|
instance_alerts = []
|
512
529
|
try:
|
513
530
|
parse_instance_keys(instance_keys)
|
@@ -609,6 +626,7 @@ def update_keys_options(
|
|
609
626
|
location_keys,
|
610
627
|
(instance_keys if update_instance_keys else dash.no_update),
|
611
628
|
instance_alerts,
|
629
|
+
instance_store_data_to_return,
|
612
630
|
)
|
613
631
|
|
614
632
|
dash_app.clientside_callback(
|
@@ -617,14 +635,13 @@ dash_app.clientside_callback(
|
|
617
635
|
instance,
|
618
636
|
url,
|
619
637
|
){
|
620
|
-
window.instance = instance;
|
621
|
-
if (!instance){ return url; }
|
622
|
-
iframe = document.getElementById('webterm-iframe');
|
623
|
-
if (!iframe){ return url; }
|
624
638
|
if (!window.instance){
|
625
639
|
window.instance = instance;
|
626
640
|
return url;
|
627
641
|
}
|
642
|
+
if (!instance){ return url; }
|
643
|
+
iframe = document.getElementById('webterm-iframe');
|
644
|
+
if (!iframe){ return url; }
|
628
645
|
window.instance = instance;
|
629
646
|
|
630
647
|
iframe.contentWindow.postMessage(
|
@@ -639,6 +656,7 @@ dash_app.clientside_callback(
|
|
639
656
|
""",
|
640
657
|
Output('mrsm-location', 'href'),
|
641
658
|
Input('instance-select', 'value'),
|
659
|
+
State('mrsm-location', 'href'),
|
642
660
|
)
|
643
661
|
|
644
662
|
|
@@ -698,7 +716,7 @@ dash_app.clientside_callback(
|
|
698
716
|
"""
|
699
717
|
function(console_children, url){
|
700
718
|
if (!console_children){
|
701
|
-
return
|
719
|
+
return dash_clientside.no_update;
|
702
720
|
}
|
703
721
|
var ansi_up = new AnsiUp;
|
704
722
|
var html = ansi_up.ansi_to_html(console_children);
|
@@ -707,7 +725,7 @@ dash_app.clientside_callback(
|
|
707
725
|
"<pre id=\\"console-pre\\">" + html + "</pre>"
|
708
726
|
);
|
709
727
|
console_div.scrollTop = console_div.scrollHeight;
|
710
|
-
return
|
728
|
+
return dash_clientside.no_update;;
|
711
729
|
}
|
712
730
|
""",
|
713
731
|
Output('mrsm-location', 'href'),
|
@@ -885,8 +903,8 @@ dash_app.clientside_callback(
|
|
885
903
|
|
886
904
|
iframe = document.getElementById('webterm-iframe');
|
887
905
|
if (!iframe){ return dash_clientside.no_update; }
|
888
|
-
var location = pipe_meta.
|
889
|
-
if (!pipe_meta.
|
906
|
+
var location = pipe_meta.location_key;
|
907
|
+
if (!pipe_meta.location_key){
|
890
908
|
location = "None";
|
891
909
|
}
|
892
910
|
|
@@ -894,25 +912,25 @@ dash_app.clientside_callback(
|
|
894
912
|
if (action == "python"){
|
895
913
|
subaction = (
|
896
914
|
'"' + "pipe = mrsm.Pipe('"
|
897
|
-
+ pipe_meta.
|
915
|
+
+ pipe_meta.connector_keys
|
898
916
|
+ "', '"
|
899
|
-
+ pipe_meta.
|
917
|
+
+ pipe_meta.metric_key
|
900
918
|
+ "'"
|
901
919
|
);
|
902
920
|
if (location != "None"){
|
903
921
|
subaction += ", '" + location + "'";
|
904
922
|
}
|
905
|
-
subaction += ", instance='" + pipe_meta.
|
923
|
+
subaction += ", instance='" + pipe_meta.instance_keys + "')" + '"';
|
906
924
|
}
|
907
925
|
|
908
926
|
iframe.contentWindow.postMessage(
|
909
927
|
{
|
910
928
|
action: action,
|
911
929
|
subaction: subaction,
|
912
|
-
connector_keys: [pipe_meta.
|
913
|
-
metric_keys: [pipe_meta.
|
914
|
-
location_keys: [
|
915
|
-
instance: pipe_meta.
|
930
|
+
connector_keys: [pipe_meta.connector_keys],
|
931
|
+
metric_keys: [pipe_meta.metric_key],
|
932
|
+
location_keys: [pipe_meta.location_key],
|
933
|
+
instance: pipe_meta.instance_keys,
|
916
934
|
},
|
917
935
|
url
|
918
936
|
);
|
@@ -17,9 +17,9 @@ window.addEventListener(
|
|
17
17
|
(event) => {
|
18
18
|
if (!event.isTrusted){ return; }
|
19
19
|
|
20
|
-
action_str = event.data.action;
|
21
|
-
subaction_str = event.data['subaction'] ? event.data['subaction'] : '';
|
22
|
-
subaction_text = event.data['subaction_text'] ? event.data['subaction_text'] : '';
|
20
|
+
let action_str = event.data.action;
|
21
|
+
let subaction_str = event.data['subaction'] ? event.data['subaction'] : '';
|
22
|
+
let subaction_text = event.data['subaction_text'] ? event.data['subaction_text'] : '';
|
23
23
|
if (subaction_str.length > 0){
|
24
24
|
action_str += ' ' + subaction_str;
|
25
25
|
}
|
@@ -27,45 +27,53 @@ window.addEventListener(
|
|
27
27
|
action_str += ' ' + subaction_text;
|
28
28
|
}
|
29
29
|
|
30
|
-
connector_keys = event.data['connector_keys'] ? event.data['connector_keys'] : [];
|
31
|
-
metric_keys = event.data['metric_keys'] ? event.data['metric_keys'] : [];
|
32
|
-
location_keys = event.data['location_keys'] ? event.data['location_keys'] : [];
|
33
|
-
connector_keys_str = " -c";
|
34
|
-
for (ck of connector_keys){
|
35
|
-
|
36
|
-
|
30
|
+
let connector_keys = event.data['connector_keys'] ? event.data['connector_keys'] : [];
|
31
|
+
let metric_keys = event.data['metric_keys'] ? event.data['metric_keys'] : [];
|
32
|
+
let location_keys = event.data['location_keys'] ? event.data['location_keys'] : [];
|
33
|
+
let connector_keys_str = " -c";
|
34
|
+
for (let ck of connector_keys){
|
35
|
+
if (typeof ck === "string"){
|
36
|
+
let quote_str = ck.includes(" ") ? "'" : "";
|
37
|
+
connector_keys_str += " " + quote_str + ck + quote_str;
|
38
|
+
}
|
37
39
|
}
|
38
40
|
if (connector_keys.length === 0){
|
39
41
|
connector_keys_str = "";
|
40
42
|
}
|
41
|
-
metric_keys_str = " -m";
|
43
|
+
let metric_keys_str = " -m";
|
42
44
|
for (mk of metric_keys){
|
43
|
-
|
44
|
-
|
45
|
+
if (typeof mk === "string"){
|
46
|
+
let quote_str = mk.includes(" ") ? "'" : "";
|
47
|
+
metric_keys_str += " " + quote_str + mk + quote_str;
|
48
|
+
}
|
45
49
|
}
|
46
50
|
if (metric_keys.length === 0){
|
47
51
|
metric_keys_str = "";
|
48
52
|
}
|
49
|
-
location_keys_str = " -l";
|
53
|
+
let location_keys_str = " -l";
|
50
54
|
for (lk of location_keys){
|
51
|
-
|
52
|
-
|
55
|
+
if (typeof lk === "string"){
|
56
|
+
quote_str = lk.includes(" ") ? "'" : "";
|
57
|
+
location_keys_str += " " + quote_str + lk + quote_str;
|
58
|
+
}
|
53
59
|
}
|
54
60
|
if (location_keys.length === 0){
|
55
61
|
location_keys_str = "";
|
56
62
|
}
|
57
63
|
|
58
|
-
instance = event.data['instance'] ? event.data['instance'] : '';
|
59
|
-
flags_str = "";
|
64
|
+
let instance = event.data['instance'] ? event.data['instance'] : '';
|
65
|
+
let flags_str = "";
|
60
66
|
if (instance.length > 0){
|
61
67
|
flags_str += " -i " + instance;
|
62
68
|
}
|
63
|
-
flags = event.data['flags'] ? event.data['flags'] : [];
|
69
|
+
let flags = event.data['flags'] ? event.data['flags'] : [];
|
64
70
|
for (fl of flags){
|
65
|
-
|
71
|
+
if (typeof fl === "string"){
|
72
|
+
flags_str += " " + fl;
|
73
|
+
}
|
66
74
|
}
|
67
75
|
// NOTE: Input flags are not quoted to allow for multiple arguments.
|
68
|
-
input_flags = event.data['input_flags'] ? event.data['input_flags'] : [];
|
76
|
+
let input_flags = event.data['input_flags'] ? event.data['input_flags'] : [];
|
69
77
|
for (const [index, fl] of input_flags.entries()){
|
70
78
|
if (!fl){ continue; }
|
71
79
|
fl_val = event.data['input_flags_texts'][index];
|
@@ -13,9 +13,10 @@ from meerschaum.utils.packages import attempt_import
|
|
13
13
|
from meerschaum.api.dash.sessions import is_session_authenticated
|
14
14
|
fastapi, fastapi_responses = attempt_import('fastapi', 'fastapi.responses')
|
15
15
|
import starlette
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
|
17
|
+
httpcore = attempt_import('httpcore', lazy=False)
|
18
|
+
httpx = attempt_import('httpx', lazy=False)
|
19
|
+
websockets = attempt_import('websockets', lazy=False)
|
19
20
|
Request = fastapi.Request
|
20
21
|
WebSocket = fastapi.WebSocket
|
21
22
|
HTMLResponse = fastapi_responses.HTMLResponse
|
@@ -190,7 +190,12 @@ def create_engine(
|
|
190
190
|
import copy
|
191
191
|
### Install and patch required drivers.
|
192
192
|
if self.flavor in install_flavor_drivers:
|
193
|
-
|
193
|
+
_ = attempt_import(
|
194
|
+
*install_flavor_drivers[self.flavor],
|
195
|
+
debug=debug,
|
196
|
+
lazy=False,
|
197
|
+
warn=False,
|
198
|
+
)
|
194
199
|
if self.flavor == 'mssql':
|
195
200
|
pyodbc = attempt_import('pyodbc', debug=debug, lazy=False, warn=False)
|
196
201
|
pyodbc.pooling = False
|
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
|
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
|