meerschaum 2.9.4__tar.gz → 2.9.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.
- {meerschaum-2.9.4 → meerschaum-2.9.5}/PKG-INFO +1 -1
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/callbacks/dashboard.py +31 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/pipes.py +63 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/static/css/dash.css +16 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/_version.py +1 -1
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/sql/_sql.py +1 -1
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/dataframe.py +2 -2
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/dtypes/__init__.py +2 -3
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/sql.py +1 -2
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum.egg-info/PKG-INFO +1 -1
- {meerschaum-2.9.4 → meerschaum-2.9.5}/tests/test_sync.py +13 -8
- {meerschaum-2.9.4 → meerschaum-2.9.5}/LICENSE +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/README.md +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/__main__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/_internal/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/_internal/arguments/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/_internal/arguments/_parse_arguments.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/_internal/arguments/_parser.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/_internal/docs/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/_internal/docs/index.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/_internal/entry.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/_internal/shell/Shell.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/_internal/shell/ShellCompleter.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/_internal/shell/ValidAutoSuggest.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/_internal/shell/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/_internal/shell/resources/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/_internal/shell/updates.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/_internal/term/TermPageHandler.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/_internal/term/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/_internal/term/tools.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/api.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/attach.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/bootstrap.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/clear.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/copy.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/deduplicate.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/delete.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/drop.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/edit.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/index.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/install.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/login.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/os.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/pause.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/python.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/register.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/reload.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/restart.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/setup.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/sh.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/show.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/sql.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/stack.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/start.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/stop.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/sync.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/tag.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/uninstall.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/upgrade.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/actions/verify.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/_chain.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/_chunks.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/_events.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/_exceptions.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/_oauth2.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/_websockets.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/assets/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/assets/ansi_up.js +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/assets/banner_1920x320.png +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/assets/favicon.ico +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/assets/logo_48x48.png +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/assets/logo_500x500.png +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/callbacks/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/callbacks/custom.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/callbacks/jobs.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/callbacks/login.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/callbacks/pipes.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/callbacks/plugins.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/callbacks/register.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/callbacks/settings/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/callbacks/settings/password_reset.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/components.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/connectors.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/graphs.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/jobs.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/keys.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/pages/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/pages/dashboard.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/pages/error.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/pages/job.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/pages/login.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/pages/pipes.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/pages/plugins.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/pages/register.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/pages/settings/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/pages/settings/password_reset.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/plugins.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/sessions.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/sync.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/users.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/websockets.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/webterm.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/models/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/models/_interfaces.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/models/_locations.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/models/_metrics.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/models/_pipes.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/static/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/static/css/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/static/css/bootstrap.min.css +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/static/css/dbc_dark.css +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/static/css/styles.css +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/static/css/xterm.css +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/static/ico/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/static/ico/logo.ico +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/static/js/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/static/js/action_button.js +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/static/js/main.js +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/static/js/terminado.js +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/static/js/xterm.js +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/static/png/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/templates/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/templates/index.html +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/templates/old_index.html +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/templates/secret.html +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/resources/templates/termpage.html +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/routes/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/routes/_actions.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/routes/_connectors.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/routes/_index.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/routes/_jobs.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/routes/_login.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/routes/_misc.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/routes/_pipes.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/routes/_plugins.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/routes/_users.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/routes/_version.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/routes/_webterm.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/tables/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/_dash.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/_default.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/_edit.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/_environment.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/_formatting.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/_jobs.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/_patch.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/_paths.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/_preprocess.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/_read_config.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/_shell.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/_sync.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/paths.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/resources/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/stack/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/stack/grafana/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/stack/mosquitto/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/stack/mosquitto/resources/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/stack/resources/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/config/static/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/_Connector.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/api/_APIConnector.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/api/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/api/_actions.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/api/_fetch.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/api/_jobs.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/api/_login.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/api/_misc.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/api/_pipes.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/api/_plugins.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/api/_request.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/api/_uri.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/api/_users.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/parse.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/plugin/PluginConnector.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/plugin/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/poll.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/sql/_SQLConnector.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/sql/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/sql/_cli.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/sql/_create_engine.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/sql/_fetch.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/sql/_instance.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/sql/_pipes.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/sql/_plugins.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/sql/_uri.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/sql/_users.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/sql/tables/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/sql/tables/types.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/sql/tools.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/valkey/_ValkeyConnector.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/valkey/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/valkey/_fetch.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/valkey/_pipes.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/valkey/_plugins.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/connectors/valkey/_users.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/Pipe/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/Pipe/_attributes.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/Pipe/_bootstrap.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/Pipe/_clear.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/Pipe/_copy.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/Pipe/_data.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/Pipe/_deduplicate.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/Pipe/_delete.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/Pipe/_drop.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/Pipe/_dtypes.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/Pipe/_edit.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/Pipe/_fetch.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/Pipe/_index.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/Pipe/_register.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/Pipe/_show.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/Pipe/_sync.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/Pipe/_verify.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/Plugin/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/User/_User.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/User/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/core/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/jobs/_Executor.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/jobs/_Job.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/jobs/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/jobs/systemd.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/plugins/_Plugin.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/plugins/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/plugins/bootstrap.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/_get_pipes.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/daemon/Daemon.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/daemon/FileDescriptorInterceptor.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/daemon/RotatingFile.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/daemon/StdinFile.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/daemon/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/daemon/_names.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/debug.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/dtypes/sql.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/formatting/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/formatting/_jobs.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/formatting/_pipes.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/formatting/_pprint.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/formatting/_shell.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/interactive.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/misc.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/networking.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/packages/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/packages/_packages.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/packages/lazy_loader.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/pool.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/process.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/prompt.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/schedule.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/threading.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/typing.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/venv/_Venv.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/venv/__init__.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/warnings.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/utils/yaml.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum.egg-info/SOURCES.txt +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum.egg-info/dependency_links.txt +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum.egg-info/entry_points.txt +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum.egg-info/requires.txt +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum.egg-info/top_level.txt +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum.egg-info/zip-safe +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/setup.cfg +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/setup.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/tests/test_actions.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/tests/test_arguments.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/tests/test_deduplicate.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/tests/test_jobs.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/tests/test_pipe_data.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/tests/test_pipes_dtypes.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/tests/test_sql.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/tests/test_users.py +0 -0
- {meerschaum-2.9.4 → meerschaum-2.9.5}/tests/test_verify.py +0 -0
@@ -949,6 +949,37 @@ def sync_documents_click(n_clicks, sync_editor_text):
|
|
949
949
|
|
950
950
|
return alert_from_success_tuple((success, msg))
|
951
951
|
|
952
|
+
@dash_app.callback(
|
953
|
+
Output({'type': 'query-result-div', 'index': MATCH}, 'children'),
|
954
|
+
Input({'type': 'query-data-button', 'index': MATCH}, 'n_clicks'),
|
955
|
+
State({'type': 'query-editor', 'index': MATCH}, 'value'),
|
956
|
+
State({'type': 'limit-input', 'index': MATCH}, 'value'),
|
957
|
+
State({'type': 'query-data-begin-input', 'index': MATCH}, 'value'),
|
958
|
+
State({'type': 'query-data-end-input', 'index': MATCH}, 'value'),
|
959
|
+
)
|
960
|
+
def query_data_click(n_clicks, query_editor_text, limit_value, begin, end):
|
961
|
+
triggered = dash.callback_context.triggered
|
962
|
+
if triggered[0]['value'] is None:
|
963
|
+
raise PreventUpdate
|
964
|
+
pipe = pipe_from_ctx(triggered, 'n_clicks')
|
965
|
+
if pipe is None:
|
966
|
+
raise PreventUpdate
|
967
|
+
|
968
|
+
try:
|
969
|
+
params_query = json.loads(query_editor_text)
|
970
|
+
except Exception as e:
|
971
|
+
return alert_from_success_tuple((False, f"Invalid query:\n{e}"))
|
972
|
+
|
973
|
+
if limit_value is None:
|
974
|
+
limit_value = 100
|
975
|
+
|
976
|
+
df = pipe.get_data(params=params_query, debug=debug, begin=begin, end=end, limit=limit_value)
|
977
|
+
if df is None:
|
978
|
+
return [html.P("No data returned.")]
|
979
|
+
df = df.astype(str)
|
980
|
+
table = dbc.Table.from_dataframe(df, bordered=False, hover=True)
|
981
|
+
return table
|
982
|
+
|
952
983
|
|
953
984
|
dash_app.clientside_callback(
|
954
985
|
"""
|
@@ -343,6 +343,7 @@ def accordion_items_from_pipe(
|
|
343
343
|
items_titles['sql'] = '📃 SQL Query'
|
344
344
|
items_titles.update({
|
345
345
|
'recent-data': '🗃️ Recent Data',
|
346
|
+
'query-data': '🔍 Query Data',
|
346
347
|
'sync-data': '📝 Sync Documents',
|
347
348
|
})
|
348
349
|
|
@@ -669,6 +670,68 @@ def accordion_items_from_pipe(
|
|
669
670
|
table = html.P("Could not retrieve recent data.")
|
670
671
|
items_bodies['recent-data'] = table
|
671
672
|
|
673
|
+
if 'query-data' in active_items:
|
674
|
+
query_editor = dash_ace.DashAceEditor(
|
675
|
+
value='{\n \n}',
|
676
|
+
mode='norm',
|
677
|
+
tabSize=4,
|
678
|
+
theme='twilight',
|
679
|
+
id={'type': 'query-editor', 'index': json.dumps(pipe.meta)},
|
680
|
+
width='100%',
|
681
|
+
height='200px',
|
682
|
+
readOnly=False,
|
683
|
+
showGutter=True,
|
684
|
+
showPrintMargin=False,
|
685
|
+
highlightActiveLine=True,
|
686
|
+
wrapEnabled=True,
|
687
|
+
style={'min-height': '120px'},
|
688
|
+
)
|
689
|
+
query_data_button = dbc.Button(
|
690
|
+
"Query",
|
691
|
+
id={'type': 'query-data-button', 'index': json.dumps(pipe.meta)},
|
692
|
+
)
|
693
|
+
|
694
|
+
begin_end_input_group = dbc.InputGroup(
|
695
|
+
[
|
696
|
+
dbc.Input(
|
697
|
+
id={'type': 'query-data-begin-input', 'index': json.dumps(pipe.meta)},
|
698
|
+
placeholder="Begin",
|
699
|
+
),
|
700
|
+
dbc.Input(
|
701
|
+
id={'type': 'query-data-end-input', 'index': json.dumps(pipe.meta)},
|
702
|
+
placeholder="End",
|
703
|
+
),
|
704
|
+
],
|
705
|
+
size="sm",
|
706
|
+
)
|
707
|
+
|
708
|
+
limit_input = dbc.Input(
|
709
|
+
type="number",
|
710
|
+
min=0,
|
711
|
+
max=100,
|
712
|
+
value=10,
|
713
|
+
step=1,
|
714
|
+
placeholder="Limit",
|
715
|
+
id={'type': 'limit-input', 'index': json.dumps(pipe.meta)},
|
716
|
+
)
|
717
|
+
query_result_div = html.Div(id={'type': 'query-result-div', 'index': json.dumps(pipe.meta)})
|
718
|
+
|
719
|
+
items_bodies['query-data'] = html.Div([
|
720
|
+
query_editor,
|
721
|
+
html.Br(),
|
722
|
+
dbc.Row(
|
723
|
+
[
|
724
|
+
dbc.Col([query_data_button], lg=2, md=3, sm=4, xs=6, width=2),
|
725
|
+
dbc.Col([begin_end_input_group], lg=3, md=3, sm=4, width=4),
|
726
|
+
dbc.Col(html.Div([limit_input, dbc.FormText("Row Limit")]), lg=2, md=3, sm=4, xs=6, width=2),
|
727
|
+
],
|
728
|
+
justify="between",
|
729
|
+
),
|
730
|
+
dbc.Row([
|
731
|
+
dbc.Col([query_result_div], width=True),
|
732
|
+
]),
|
733
|
+
])
|
734
|
+
|
672
735
|
if 'sync-data' in active_items:
|
673
736
|
backtrack_df = pipe.get_backtrack_data(debug=debug, limit=1)
|
674
737
|
try:
|
@@ -80,3 +80,19 @@ a {
|
|
80
80
|
.pages-offcanvas-accordion div {
|
81
81
|
padding: 0 !important;
|
82
82
|
}
|
83
|
+
|
84
|
+
/* restyle radio items */
|
85
|
+
.radio-group .form-check {
|
86
|
+
padding-left: 0;
|
87
|
+
}
|
88
|
+
|
89
|
+
.radio-group .btn-group > .form-check:not(:last-child) > .btn {
|
90
|
+
border-top-right-radius: 0;
|
91
|
+
border-bottom-right-radius: 0;
|
92
|
+
}
|
93
|
+
|
94
|
+
.radio-group .btn-group > .form-check:not(:first-child) > .btn {
|
95
|
+
border-top-left-radius: 0;
|
96
|
+
border-bottom-left-radius: 0;
|
97
|
+
margin-left: -1px;
|
98
|
+
}
|
@@ -1138,10 +1138,10 @@ def enforce_dtypes(
|
|
1138
1138
|
if parsed_geom_cols:
|
1139
1139
|
if debug:
|
1140
1140
|
dprint(f"Converting to GeoDataFrame (geometry column: '{parsed_geom_cols[0]}')...")
|
1141
|
-
df = geopandas.GeoDataFrame(df, geometry=parsed_geom_cols[0])
|
1142
1141
|
try:
|
1142
|
+
df = geopandas.GeoDataFrame(df, geometry=parsed_geom_cols[0])
|
1143
1143
|
df.rename_geometry(parsed_geom_cols[0], inplace=True)
|
1144
|
-
except ValueError:
|
1144
|
+
except (ValueError, TypeError):
|
1145
1145
|
pass
|
1146
1146
|
|
1147
1147
|
df_dtypes = {c: str(t) for c, t in df.dtypes.items()}
|
@@ -541,7 +541,6 @@ def serialize_bytes(data: bytes) -> str:
|
|
541
541
|
def serialize_geometry(
|
542
542
|
geom: Any,
|
543
543
|
geometry_format: str = 'wkb_hex',
|
544
|
-
as_wkt: bool = False,
|
545
544
|
) -> Union[str, Dict[str, Any], None]:
|
546
545
|
"""
|
547
546
|
Serialize geometry data as a hex-encoded well-known-binary string.
|
@@ -588,7 +587,7 @@ def deserialize_bytes_string(data: Optional[str], force_hex: bool = False) -> Un
|
|
588
587
|
|
589
588
|
Parameters
|
590
589
|
----------
|
591
|
-
data: str
|
590
|
+
data: Optional[str]
|
592
591
|
The string to be deserialized into bytes.
|
593
592
|
May be base64- or hex-encoded (prefixed with `'\\x'`).
|
594
593
|
|
@@ -625,7 +624,7 @@ def deserialize_base64(data: str) -> bytes:
|
|
625
624
|
return base64.b64decode(data)
|
626
625
|
|
627
626
|
|
628
|
-
def encode_bytes_for_bytea(data: bytes, with_prefix: bool = True) -> str
|
627
|
+
def encode_bytes_for_bytea(data: bytes, with_prefix: bool = True) -> Union[str, None]:
|
629
628
|
"""
|
630
629
|
Return the given bytes as a hex string for PostgreSQL's `BYTEA` type.
|
631
630
|
"""
|
@@ -1838,10 +1838,9 @@ def get_null_replacement(typ: str, flavor: str) -> str:
|
|
1838
1838
|
A value which may stand in place of NULL for this type.
|
1839
1839
|
`'None'` is returned if a value cannot be determined.
|
1840
1840
|
"""
|
1841
|
-
from meerschaum.utils.dtypes import are_dtypes_equal
|
1842
1841
|
from meerschaum.utils.dtypes.sql import DB_FLAVORS_CAST_DTYPES
|
1843
1842
|
if 'geometry' in typ.lower():
|
1844
|
-
return '010100000000008058346FCDC100008058346FCDC1'
|
1843
|
+
return "'010100000000008058346FCDC100008058346FCDC1'"
|
1845
1844
|
if 'int' in typ.lower() or typ.lower() in ('numeric', 'number'):
|
1846
1845
|
return '-987654321'
|
1847
1846
|
if 'bool' in typ.lower() or typ.lower() == 'bit':
|
@@ -620,7 +620,7 @@ def test_sync_inplace_no_datetime(flavor: str):
|
|
620
620
|
str(conn), 'inplace', 'no-datetime',
|
621
621
|
instance=conn,
|
622
622
|
columns={'id': 'id'},
|
623
|
-
dtypes={'a': 'int', 'id': 'uuid'},
|
623
|
+
dtypes={'a': 'int', 'id': 'uuid', 'geom': 'geometry'},
|
624
624
|
upsert=False,
|
625
625
|
static=False,
|
626
626
|
parameters={
|
@@ -630,12 +630,16 @@ def test_sync_inplace_no_datetime(flavor: str):
|
|
630
630
|
},
|
631
631
|
)
|
632
632
|
|
633
|
+
shapely = mrsm.attempt_import('shapely')
|
634
|
+
geom = shapely.MultiLineString([[[0, 0], [1, 2]], [[4, 4], [5, 6]]])
|
635
|
+
geom2 = shapely.MultiLineString([[[1, 1], [2, 3]], [[5, 5], [6, 7]]])
|
636
|
+
|
633
637
|
docs = [
|
634
|
-
{'id': UUID('9f680a72-b5f7-4336-8f7c-30927ec21cb1')},
|
635
|
-
{'id': UUID('335b0322-4b54-40aa-8019-07666cbefa52')},
|
636
|
-
{'id': UUID('d7d42913-2dfe-47d6-b0e0-7f71e13e814e'), 'd': 7},
|
637
|
-
{'id': UUID('7e194a2c-26b4-4632-af02-e0a8b2c6ce1e')},
|
638
|
-
{'id': UUID('31e5fd08-fb81-47f4-8a1c-0c9dcf08ac5e')},
|
638
|
+
{'id': UUID('9f680a72-b5f7-4336-8f7c-30927ec21cb1'), 'geom': geom},
|
639
|
+
{'id': UUID('335b0322-4b54-40aa-8019-07666cbefa52'), 'geom': geom},
|
640
|
+
{'id': UUID('d7d42913-2dfe-47d6-b0e0-7f71e13e814e'), 'd': 7, 'geom': geom},
|
641
|
+
{'id': UUID('7e194a2c-26b4-4632-af02-e0a8b2c6ce1e'), 'geom': geom},
|
642
|
+
{'id': UUID('31e5fd08-fb81-47f4-8a1c-0c9dcf08ac5e'), 'geom': geom},
|
639
643
|
]
|
640
644
|
success, msg = source_pipe.sync(docs)
|
641
645
|
assert success, msg
|
@@ -653,7 +657,7 @@ def test_sync_inplace_no_datetime(flavor: str):
|
|
653
657
|
{'id': UUID('8b7bf428-d0ed-40fa-951b-bb115a03eac5'), 'c': 8},
|
654
658
|
{'id': UUID('36aed9b4-4c7a-4566-a321-d1774ef1015a'), 'c': 7},
|
655
659
|
{'id': UUID('7a4ef6cc-37d8-4899-9ddb-07b4998d0b53'), 'c': 6},
|
656
|
-
{'id': UUID('59244211-fdb8-46f1-b14b-8631146758c0'), 'c': 5},
|
660
|
+
{'id': UUID('59244211-fdb8-46f1-b14b-8631146758c0'), 'c': 5,},
|
657
661
|
]
|
658
662
|
success, msg = source_pipe.sync(new_docs)
|
659
663
|
assert success, msg
|
@@ -665,7 +669,7 @@ def test_sync_inplace_no_datetime(flavor: str):
|
|
665
669
|
update_docs = [
|
666
670
|
{'id': UUID('9f680a72-b5f7-4336-8f7c-30927ec21cb1'), 'a': 1},
|
667
671
|
{'id': UUID('335b0322-4b54-40aa-8019-07666cbefa52'), 'a': 2},
|
668
|
-
{'id': UUID('d7d42913-2dfe-47d6-b0e0-7f71e13e814e'), 'a': 3},
|
672
|
+
{'id': UUID('d7d42913-2dfe-47d6-b0e0-7f71e13e814e'), 'a': 3, 'geom': geom2},
|
669
673
|
{'id': UUID('7e194a2c-26b4-4632-af02-e0a8b2c6ce1e'), 'a': 4},
|
670
674
|
{'id': UUID('31e5fd08-fb81-47f4-8a1c-0c9dcf08ac5e'), 'a': 5},
|
671
675
|
]
|
@@ -681,6 +685,7 @@ def test_sync_inplace_no_datetime(flavor: str):
|
|
681
685
|
assert len(df) == 1
|
682
686
|
assert df['a'][0] == 3
|
683
687
|
assert df['d'][0] == 7
|
688
|
+
assert df['geom'][0] == geom2
|
684
689
|
|
685
690
|
|
686
691
|
@pytest.mark.parametrize("flavor", get_flavors())
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{meerschaum-2.9.4 → meerschaum-2.9.5}/meerschaum/api/dash/callbacks/settings/password_reset.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
|