meerschaum 2.2.1__tar.gz → 2.2.2rc1__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.1/meerschaum.egg-info → meerschaum-2.2.2rc1}/PKG-INFO +5 -1
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/api.py +1 -2
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/upgrade.py +1 -1
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/_default.py +1 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/_paths.py +11 -12
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/_version.py +1 -1
- meerschaum-2.2.2rc1/meerschaum/config/paths.py +10 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/Pipe/_sync.py +2 -3
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/packages/__init__.py +66 -20
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/packages/_packages.py +1 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/schedule.py +1 -1
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/venv/__init__.py +19 -8
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1/meerschaum.egg-info}/PKG-INFO +5 -1
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum.egg-info/SOURCES.txt +1 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum.egg-info/requires.txt +4 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/LICENSE +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/NOTICE +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/README.md +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/__main__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/arguments/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/arguments/_parse_arguments.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/arguments/_parser.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/docs/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/docs/index.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/entry.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/gui/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/gui/app/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/gui/app/_windows.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/gui/app/actions.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/gui/app/pipes.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/shell/Shell.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/shell/ShellCompleter.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/shell/ValidAutoSuggest.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/shell/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/shell/resources/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/term/TermPageHandler.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/term/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/_internal/term/tools.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/bootstrap.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/clear.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/copy.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/deduplicate.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/delete.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/drop.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/edit.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/install.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/login.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/os.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/pause.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/python.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/register.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/reload.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/setup.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/sh.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/show.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/sql.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/stack.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/start.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/stop.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/sync.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/tag.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/uninstall.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/actions/verify.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/_chain.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/_events.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/_oauth2.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/_websockets.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/actions.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/assets/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/assets/ansi_up.js +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/assets/banner_1920x320.png +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/assets/favicon.ico +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/assets/logo_48x48.png +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/assets/logo_500x500.png +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/callbacks/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/callbacks/dashboard.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/callbacks/jobs.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/callbacks/login.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/callbacks/plugins.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/callbacks/register.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/components.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/connectors.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/graphs.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/jobs.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/keys.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/pages/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/pages/dashboard.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/pages/error.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/pages/login.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/pages/plugins.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/pages/register.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/pipes.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/plugins.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/sync.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/users.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/websockets.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/dash/webterm.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/models/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/models/_interfaces.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/models/_locations.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/models/_metrics.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/models/_pipes.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/static/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/static/css/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/static/css/bootstrap.min.css +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/static/css/dash.css +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/static/css/dbc_dark.css +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/static/css/styles.css +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/static/css/xterm.css +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/static/ico/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/static/ico/logo.ico +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/static/js/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/static/js/action_button.js +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/static/js/main.js +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/static/js/terminado.js +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/static/js/xterm.js +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/static/png/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/templates/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/templates/index.html +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/templates/old_index.html +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/templates/secret.html +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/resources/templates/termpage.html +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/routes/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/routes/_actions.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/routes/_connectors.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/routes/_index.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/routes/_login.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/routes/_misc.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/routes/_pipes.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/routes/_plugins.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/routes/_users.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/routes/_version.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/routes/_webterm.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/api/tables/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/_dash.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/_edit.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/_environment.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/_formatting.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/_jobs.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/_patch.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/_preprocess.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/_read_config.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/_shell.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/_sync.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/resources/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/stack/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/stack/grafana/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/stack/mosquitto/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/stack/mosquitto/resources/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/stack/resources/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/config/static/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/Connector.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/api/APIConnector.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/api/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/api/_actions.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/api/_fetch.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/api/_login.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/api/_misc.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/api/_pipes.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/api/_plugins.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/api/_request.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/api/_uri.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/api/_users.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/parse.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/plugin/PluginConnector.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/plugin/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/poll.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/sql/SQLConnector.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/sql/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/sql/_cli.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/sql/_create_engine.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/sql/_fetch.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/sql/_instance.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/sql/_pipes.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/sql/_plugins.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/sql/_sql.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/sql/_uri.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/sql/_users.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/sql/tables/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/sql/tables/types.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/connectors/sql/tools.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/Pipe/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/Pipe/_attributes.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/Pipe/_bootstrap.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/Pipe/_clear.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/Pipe/_data.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/Pipe/_deduplicate.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/Pipe/_delete.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/Pipe/_drop.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/Pipe/_dtypes.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/Pipe/_edit.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/Pipe/_fetch.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/Pipe/_register.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/Pipe/_show.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/Pipe/_verify.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/Plugin/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/User/_User.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/User/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/core/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/plugins/_Plugin.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/plugins/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/_get_pipes.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/daemon/Daemon.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/daemon/FileDescriptorInterceptor.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/daemon/RotatingFile.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/daemon/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/daemon/_names.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/dataframe.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/debug.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/dtypes/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/dtypes/sql.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/formatting/__init__.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/formatting/_jobs.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/formatting/_pipes.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/formatting/_pprint.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/formatting/_shell.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/interactive.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/misc.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/networking.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/packages/lazy_loader.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/pool.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/process.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/prompt.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/sql.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/threading.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/typing.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/venv/_Venv.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/warnings.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum/utils/yaml.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum.egg-info/dependency_links.txt +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum.egg-info/entry_points.txt +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum.egg-info/top_level.txt +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/meerschaum.egg-info/zip-safe +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/setup.cfg +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/setup.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/tests/test_deduplicate.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/tests/test_pipes_dtypes.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/tests/test_sql.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/tests/test_sync.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/tests/test_users.py +0 -0
- {meerschaum-2.2.1 → meerschaum-2.2.2rc1}/tests/test_verify.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: meerschaum
|
3
|
-
Version: 2.2.
|
3
|
+
Version: 2.2.2rc1
|
4
4
|
Summary: Sync Time-Series Pipes with Meerschaum
|
5
5
|
Home-page: https://meerschaum.io
|
6
6
|
Author: Bennett Meares
|
@@ -65,6 +65,7 @@ Requires-Dist: watchfiles>=0.21.0; extra == "core"
|
|
65
65
|
Requires-Dist: dill>=0.3.3; extra == "core"
|
66
66
|
Requires-Dist: virtualenv>=20.1.0; extra == "core"
|
67
67
|
Requires-Dist: APScheduler>=4.0.0a5; extra == "core"
|
68
|
+
Requires-Dist: uv>=0.2.11; extra == "core"
|
68
69
|
Provides-Extra: drivers
|
69
70
|
Requires-Dist: cryptography>=38.0.1; extra == "drivers"
|
70
71
|
Requires-Dist: psycopg[binary]>=3.1.18; extra == "drivers"
|
@@ -157,6 +158,7 @@ Requires-Dist: watchfiles>=0.21.0; extra == "sql"
|
|
157
158
|
Requires-Dist: dill>=0.3.3; extra == "sql"
|
158
159
|
Requires-Dist: virtualenv>=20.1.0; extra == "sql"
|
159
160
|
Requires-Dist: APScheduler>=4.0.0a5; extra == "sql"
|
161
|
+
Requires-Dist: uv>=0.2.11; extra == "sql"
|
160
162
|
Provides-Extra: dash
|
161
163
|
Requires-Dist: Flask-Compress>=1.10.1; extra == "dash"
|
162
164
|
Requires-Dist: dash>=2.6.2; extra == "dash"
|
@@ -214,6 +216,7 @@ Requires-Dist: watchfiles>=0.21.0; extra == "api"
|
|
214
216
|
Requires-Dist: dill>=0.3.3; extra == "api"
|
215
217
|
Requires-Dist: virtualenv>=20.1.0; extra == "api"
|
216
218
|
Requires-Dist: APScheduler>=4.0.0a5; extra == "api"
|
219
|
+
Requires-Dist: uv>=0.2.11; extra == "api"
|
217
220
|
Requires-Dist: pprintpp>=0.4.0; extra == "api"
|
218
221
|
Requires-Dist: asciitree>=0.3.3; extra == "api"
|
219
222
|
Requires-Dist: typing-extensions>=4.7.1; extra == "api"
|
@@ -261,6 +264,7 @@ Requires-Dist: watchfiles>=0.21.0; extra == "full"
|
|
261
264
|
Requires-Dist: dill>=0.3.3; extra == "full"
|
262
265
|
Requires-Dist: virtualenv>=20.1.0; extra == "full"
|
263
266
|
Requires-Dist: APScheduler>=4.0.0a5; extra == "full"
|
267
|
+
Requires-Dist: uv>=0.2.11; extra == "full"
|
264
268
|
Requires-Dist: cryptography>=38.0.1; extra == "full"
|
265
269
|
Requires-Dist: psycopg[binary]>=3.1.18; extra == "full"
|
266
270
|
Requires-Dist: PyMySQL>=0.9.0; extra == "full"
|
@@ -169,7 +169,7 @@ def _api_start(
|
|
169
169
|
### `check_update` must be False, because otherwise Uvicorn's hidden imports will break things.
|
170
170
|
dotenv = attempt_import('dotenv', lazy=False)
|
171
171
|
uvicorn, gunicorn = attempt_import(
|
172
|
-
'uvicorn', 'gunicorn',
|
172
|
+
'uvicorn', 'gunicorn', lazy=False, check_update=False,
|
173
173
|
)
|
174
174
|
|
175
175
|
uvicorn_config_path = API_UVICORN_RESOURCES_PATH / SERVER_ID / 'config.json'
|
@@ -350,7 +350,6 @@ def _api_start(
|
|
350
350
|
)
|
351
351
|
for k, v in env_dict.items()
|
352
352
|
},
|
353
|
-
venv = None,
|
354
353
|
debug = debug,
|
355
354
|
)
|
356
355
|
except KeyboardInterrupt:
|
@@ -82,24 +82,24 @@ for _plugin_path in _plugins_paths_to_remove:
|
|
82
82
|
|
83
83
|
ENVIRONMENT_VENVS_DIR = STATIC_CONFIG['environment']['venvs']
|
84
84
|
if ENVIRONMENT_VENVS_DIR in os.environ:
|
85
|
-
|
86
|
-
if not
|
85
|
+
_VENVS_DIR_PATH = Path(os.environ[ENVIRONMENT_VENVS_DIR]).resolve()
|
86
|
+
if not _VENVS_DIR_PATH.exists():
|
87
87
|
try:
|
88
|
-
|
88
|
+
_VENVS_DIR_PATH.mkdir(parents=True, exist_ok=True)
|
89
89
|
except Exception as e:
|
90
90
|
print(
|
91
91
|
f"Invalid path set for environment variable '{ENVIRONMENT_VENVS_DIR}':\n"
|
92
|
-
+ f"{
|
92
|
+
+ f"{_VENVS_DIR_PATH}"
|
93
93
|
)
|
94
|
-
|
95
|
-
print(f"Will use the following path for venvs instead:\n{
|
94
|
+
_VENVS_DIR_PATH = (_ROOT_DIR_PATH / 'venvs').resolve()
|
95
|
+
print(f"Will use the following path for venvs instead:\n{_VENVS_DIR_PATH}")
|
96
96
|
else:
|
97
|
-
|
97
|
+
_VENVS_DIR_PATH = _ROOT_DIR_PATH / 'venvs'
|
98
98
|
|
99
99
|
paths = {
|
100
|
-
'PACKAGE_ROOT_PATH' :
|
101
|
-
'ROOT_DIR_PATH' :
|
102
|
-
'VIRTENV_RESOURCES_PATH' :
|
100
|
+
'PACKAGE_ROOT_PATH' : Path(__file__).parent.parent.resolve().as_posix(),
|
101
|
+
'ROOT_DIR_PATH' : _ROOT_DIR_PATH.as_posix(),
|
102
|
+
'VIRTENV_RESOURCES_PATH' : _VENVS_DIR_PATH.as_posix(),
|
103
103
|
'CONFIG_DIR_PATH' : ('{ROOT_DIR_PATH}', 'config'),
|
104
104
|
'DEFAULT_CONFIG_DIR_PATH' : ('{ROOT_DIR_PATH}', 'default_config'),
|
105
105
|
'PATCH_DIR_PATH' : ('{ROOT_DIR_PATH}', 'patch_config'),
|
@@ -186,7 +186,6 @@ def __getattr__(name: str) -> Path:
|
|
186
186
|
if name.endswith('RESOURCES_PATH') or name == 'CONFIG_DIR_PATH':
|
187
187
|
path.mkdir(parents=True, exist_ok=True)
|
188
188
|
elif 'FILENAME' in name:
|
189
|
-
path =
|
189
|
+
path = path.as_posix()
|
190
190
|
|
191
191
|
return path
|
192
|
-
|
@@ -215,9 +215,8 @@ def sync(
|
|
215
215
|
|
216
216
|
### Activate and invoke `sync(pipe)` for plugin connectors with `sync` methods.
|
217
217
|
try:
|
218
|
-
if p.connector
|
219
|
-
|
220
|
-
with Venv(connector_plugin, debug=debug):
|
218
|
+
if getattr(p.connector, 'sync', None) is not None:
|
219
|
+
with Venv(get_connector_plugin(p.connector), debug=debug):
|
221
220
|
return_tuple = p.connector.sync(p, debug=debug, **kw)
|
222
221
|
p._exists = None
|
223
222
|
if not isinstance(return_tuple, tuple):
|
@@ -466,12 +466,13 @@ def _get_package_metadata(import_name: str, venv: Optional[str]) -> Dict[str, st
|
|
466
466
|
import re
|
467
467
|
from meerschaum.config._paths import VIRTENV_RESOURCES_PATH
|
468
468
|
install_name = _import_to_install_name(import_name)
|
469
|
-
_args = ['show', install_name]
|
469
|
+
_args = ['pip', 'show', install_name]
|
470
470
|
if venv is not None:
|
471
471
|
cache_dir_path = VIRTENV_RESOURCES_PATH / venv / 'cache'
|
472
|
-
_args += ['--cache-dir',
|
472
|
+
_args += ['--cache-dir', cache_dir_path.as_posix()]
|
473
|
+
|
473
474
|
proc = run_python_package(
|
474
|
-
'
|
475
|
+
'uv', _args,
|
475
476
|
capture_output=True, as_proc=True, venv=venv, universal_newlines=True,
|
476
477
|
)
|
477
478
|
outs, errs = proc.communicate()
|
@@ -721,6 +722,7 @@ def pip_install(
|
|
721
722
|
check_pypi: bool = True,
|
722
723
|
check_wheel: bool = True,
|
723
724
|
_uninstall: bool = False,
|
725
|
+
_install_uv_pip: bool = True,
|
724
726
|
color: bool = True,
|
725
727
|
silent: bool = False,
|
726
728
|
debug: bool = False,
|
@@ -776,6 +778,7 @@ def pip_install(
|
|
776
778
|
|
777
779
|
"""
|
778
780
|
from meerschaum.config._paths import VIRTENV_RESOURCES_PATH
|
781
|
+
from meerschaum.config import get_config
|
779
782
|
from meerschaum.utils.warnings import warn
|
780
783
|
if args is None:
|
781
784
|
args = ['--upgrade'] if not _uninstall else []
|
@@ -787,9 +790,31 @@ def pip_install(
|
|
787
790
|
have_wheel = venv_contains_package('wheel', venv=venv, debug=debug)
|
788
791
|
|
789
792
|
_args = list(args)
|
790
|
-
have_pip = venv_contains_package('pip', venv=
|
793
|
+
have_pip = venv_contains_package('pip', venv=None, debug=debug)
|
794
|
+
try:
|
795
|
+
import uv
|
796
|
+
have_uv_pip = True
|
797
|
+
except ImportError:
|
798
|
+
have_uv_pip = False
|
799
|
+
if have_pip and not have_uv_pip and _install_uv_pip:
|
800
|
+
if not pip_install(
|
801
|
+
'uv',
|
802
|
+
venv = None,
|
803
|
+
debug = debug,
|
804
|
+
_install_uv_pip = False,
|
805
|
+
check_update = False,
|
806
|
+
check_pypi = False,
|
807
|
+
check_wheel = False,
|
808
|
+
):
|
809
|
+
warn(
|
810
|
+
f"Failed to install `uv` for virtual environment '{venv}'.",
|
811
|
+
color = False,
|
812
|
+
)
|
813
|
+
|
814
|
+
use_uv_pip = venv_contains_package('uv', venv=None, debug=debug)
|
815
|
+
|
791
816
|
import sys
|
792
|
-
if not have_pip:
|
817
|
+
if not have_pip and not use_uv_pip:
|
793
818
|
if not get_pip(venv=venv, debug=debug):
|
794
819
|
import sys
|
795
820
|
minor = sys.version_info.minor
|
@@ -806,13 +831,18 @@ def pip_install(
|
|
806
831
|
|
807
832
|
with Venv(venv, debug=debug):
|
808
833
|
if venv is not None:
|
809
|
-
if
|
834
|
+
if (
|
835
|
+
'--ignore-installed' not in args
|
836
|
+
and '-I' not in _args
|
837
|
+
and not _uninstall
|
838
|
+
and not use_uv_pip
|
839
|
+
):
|
810
840
|
_args += ['--ignore-installed']
|
811
841
|
if '--cache-dir' not in args and not _uninstall:
|
812
842
|
cache_dir_path = VIRTENV_RESOURCES_PATH / venv / 'cache'
|
813
843
|
_args += ['--cache-dir', str(cache_dir_path)]
|
814
844
|
|
815
|
-
if 'pip' not in ' '.join(_args):
|
845
|
+
if 'pip' not in ' '.join(_args) and not use_uv_pip:
|
816
846
|
if check_update and not _uninstall:
|
817
847
|
pip = attempt_import('pip', venv=venv, install=False, debug=debug, lazy=False)
|
818
848
|
if need_update(pip, check_pypi=check_pypi, debug=debug):
|
@@ -820,13 +850,16 @@ def pip_install(
|
|
820
850
|
|
821
851
|
_args = (['install'] if not _uninstall else ['uninstall']) + _args
|
822
852
|
|
823
|
-
if check_wheel and not _uninstall:
|
853
|
+
if check_wheel and not _uninstall and not use_uv_pip:
|
824
854
|
if not have_wheel:
|
825
855
|
if not pip_install(
|
826
856
|
'setuptools', 'wheel',
|
827
857
|
venv = venv,
|
828
|
-
check_update = False,
|
829
|
-
|
858
|
+
check_update = False,
|
859
|
+
check_pypi = False,
|
860
|
+
check_wheel = False,
|
861
|
+
debug = debug,
|
862
|
+
_install_uv_pip = False,
|
830
863
|
):
|
831
864
|
warn(
|
832
865
|
(
|
@@ -838,21 +871,21 @@ def pip_install(
|
|
838
871
|
|
839
872
|
if requirements_file_path is not None:
|
840
873
|
_args.append('-r')
|
841
|
-
_args.append(
|
874
|
+
_args.append(pathlib.Path(requirements_file_path).resolve().as_posix())
|
842
875
|
|
843
876
|
if not ANSI and '--no-color' not in _args:
|
844
877
|
_args.append('--no-color')
|
845
878
|
|
846
|
-
if '--no-input' not in _args:
|
879
|
+
if '--no-input' not in _args and not use_uv_pip:
|
847
880
|
_args.append('--no-input')
|
848
881
|
|
849
|
-
if _uninstall and '-y' not in _args:
|
882
|
+
if _uninstall and '-y' not in _args and not use_uv_pip:
|
850
883
|
_args.append('-y')
|
851
884
|
|
852
|
-
if '--no-warn-conflicts' not in _args and not _uninstall:
|
885
|
+
if '--no-warn-conflicts' not in _args and not _uninstall and not use_uv_pip:
|
853
886
|
_args.append('--no-warn-conflicts')
|
854
887
|
|
855
|
-
if '--disable-pip-version-check' not in _args:
|
888
|
+
if '--disable-pip-version-check' not in _args and not use_uv_pip:
|
856
889
|
_args.append('--disable-pip-version-check')
|
857
890
|
|
858
891
|
if '--target' not in _args and '-t' not in _args and not _uninstall:
|
@@ -863,12 +896,16 @@ def pip_install(
|
|
863
896
|
and '-t' not in _args
|
864
897
|
and not inside_venv()
|
865
898
|
and not _uninstall
|
899
|
+
and not use_uv_pip
|
866
900
|
):
|
867
901
|
_args += ['--user']
|
902
|
+
if '--break-system-packages' not in _args and not _uninstall:
|
903
|
+
_args.append('--break-system-packages')
|
868
904
|
|
869
905
|
if debug:
|
870
906
|
if '-v' not in _args or '-vv' not in _args or '-vvv' not in _args:
|
871
|
-
|
907
|
+
if use_uv_pip:
|
908
|
+
_args.append('--verbose')
|
872
909
|
else:
|
873
910
|
if '-q' not in _args or '-qq' not in _args or '-qqq' not in _args:
|
874
911
|
pass
|
@@ -883,7 +920,7 @@ def pip_install(
|
|
883
920
|
if not silent:
|
884
921
|
print(msg)
|
885
922
|
|
886
|
-
if
|
923
|
+
if _uninstall:
|
887
924
|
for install_name in _packages:
|
888
925
|
_install_no_version = get_install_no_version(install_name)
|
889
926
|
if _install_no_version in ('pip', 'wheel'):
|
@@ -896,10 +933,15 @@ def pip_install(
|
|
896
933
|
f"Failed to clean up package '{_install_no_version}'.",
|
897
934
|
)
|
898
935
|
|
936
|
+
if use_uv_pip:
|
937
|
+
_args.insert(0, 'pip')
|
938
|
+
if not _uninstall:
|
939
|
+
_args.append('--prerelease=allow')
|
940
|
+
|
899
941
|
rc = run_python_package(
|
900
|
-
'pip',
|
942
|
+
('pip' if not use_uv_pip else 'uv'),
|
901
943
|
_args + _packages,
|
902
|
-
venv =
|
944
|
+
venv = None,
|
903
945
|
env = _get_pip_os_env(),
|
904
946
|
debug = debug,
|
905
947
|
)
|
@@ -1031,6 +1073,10 @@ def run_python_package(
|
|
1031
1073
|
if cwd is not None:
|
1032
1074
|
os.chdir(cwd)
|
1033
1075
|
executable = venv_executable(venv=venv)
|
1076
|
+
venv_path = (VIRTENV_RESOURCES_PATH / venv) if venv is not None else None
|
1077
|
+
env_dict = kw.get('env', os.environ).copy()
|
1078
|
+
if venv_path is not None:
|
1079
|
+
env_dict.update({'VIRTUAL_ENV': venv_path.as_posix()})
|
1034
1080
|
command = [executable, '-m', str(package_name)] + [str(a) for a in args]
|
1035
1081
|
import traceback
|
1036
1082
|
if debug:
|
@@ -1055,7 +1101,7 @@ def run_python_package(
|
|
1055
1101
|
command,
|
1056
1102
|
stdout = stdout,
|
1057
1103
|
stderr = stderr,
|
1058
|
-
env =
|
1104
|
+
env = env_dict,
|
1059
1105
|
)
|
1060
1106
|
to_return = proc if as_proc else proc.wait()
|
1061
1107
|
except KeyboardInterrupt:
|
@@ -8,7 +8,7 @@ Schedule processes and threads.
|
|
8
8
|
|
9
9
|
from __future__ import annotations
|
10
10
|
import sys
|
11
|
-
from datetime import datetime, timezone, timedelta
|
11
|
+
from datetime import datetime, timezone, timedelta
|
12
12
|
import meerschaum as mrsm
|
13
13
|
from meerschaum.utils.typing import Callable, Any, Optional, List, Dict
|
14
14
|
|
@@ -361,6 +361,8 @@ def init_venv(
|
|
361
361
|
verified_venvs.add(venv)
|
362
362
|
return True
|
363
363
|
|
364
|
+
import io
|
365
|
+
from contextlib import redirect_stdout, redirect_stderr
|
364
366
|
import sys, platform, os, pathlib, shutil
|
365
367
|
from meerschaum.config.static import STATIC_CONFIG
|
366
368
|
from meerschaum.config._paths import VIRTENV_RESOURCES_PATH
|
@@ -381,25 +383,34 @@ def init_venv(
|
|
381
383
|
verified_venvs.add(venv)
|
382
384
|
return True
|
383
385
|
|
384
|
-
from meerschaum.utils.packages import run_python_package, attempt_import
|
386
|
+
from meerschaum.utils.packages import run_python_package, attempt_import, _get_pip_os_env
|
385
387
|
global tried_virtualenv
|
386
388
|
try:
|
387
389
|
import venv as _venv
|
390
|
+
uv = attempt_import('uv', venv=None, debug=debug)
|
388
391
|
virtualenv = None
|
389
392
|
except ImportError:
|
390
393
|
_venv = None
|
394
|
+
uv = None
|
391
395
|
virtualenv = None
|
392
|
-
|
393
396
|
|
394
397
|
_venv_success = False
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
+
|
399
|
+
if uv is not None:
|
400
|
+
_venv_success = run_python_package(
|
401
|
+
'uv',
|
402
|
+
['venv', venv_path.as_posix(), '-q'],
|
403
|
+
venv = None,
|
404
|
+
env = _get_pip_os_env(),
|
405
|
+
debug = debug,
|
406
|
+
) == 0
|
407
|
+
|
408
|
+
if _venv is not None and not _venv_success:
|
398
409
|
f = io.StringIO()
|
399
410
|
with redirect_stdout(f):
|
400
411
|
_venv_success = run_python_package(
|
401
412
|
'venv',
|
402
|
-
[
|
413
|
+
[venv_path.as_posix()] + (
|
403
414
|
['--symlinks'] if platform.system() != 'Windows' else []
|
404
415
|
),
|
405
416
|
venv=None, debug=debug
|
@@ -438,7 +449,7 @@ def init_venv(
|
|
438
449
|
except Exception as e:
|
439
450
|
import traceback
|
440
451
|
traceback.print_exc()
|
441
|
-
virtualenv.cli_run([
|
452
|
+
virtualenv.cli_run([venv_path.as_posix()])
|
442
453
|
if dist_packages_path.exists():
|
443
454
|
vtp.mkdir(exist_ok=True, parents=True)
|
444
455
|
for file_path in dist_packages_path.glob('*'):
|
@@ -614,7 +625,7 @@ def venv_target_path(
|
|
614
625
|
return site_path
|
615
626
|
|
616
627
|
### Allow for dist-level paths (running as root).
|
617
|
-
for possible_dist in
|
628
|
+
for possible_dist in site.getsitepackages():
|
618
629
|
dist_path = pathlib.Path(possible_dist)
|
619
630
|
if not dist_path.exists():
|
620
631
|
continue
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: meerschaum
|
3
|
-
Version: 2.2.
|
3
|
+
Version: 2.2.2rc1
|
4
4
|
Summary: Sync Time-Series Pipes with Meerschaum
|
5
5
|
Home-page: https://meerschaum.io
|
6
6
|
Author: Bennett Meares
|
@@ -65,6 +65,7 @@ Requires-Dist: watchfiles>=0.21.0; extra == "core"
|
|
65
65
|
Requires-Dist: dill>=0.3.3; extra == "core"
|
66
66
|
Requires-Dist: virtualenv>=20.1.0; extra == "core"
|
67
67
|
Requires-Dist: APScheduler>=4.0.0a5; extra == "core"
|
68
|
+
Requires-Dist: uv>=0.2.11; extra == "core"
|
68
69
|
Provides-Extra: drivers
|
69
70
|
Requires-Dist: cryptography>=38.0.1; extra == "drivers"
|
70
71
|
Requires-Dist: psycopg[binary]>=3.1.18; extra == "drivers"
|
@@ -157,6 +158,7 @@ Requires-Dist: watchfiles>=0.21.0; extra == "sql"
|
|
157
158
|
Requires-Dist: dill>=0.3.3; extra == "sql"
|
158
159
|
Requires-Dist: virtualenv>=20.1.0; extra == "sql"
|
159
160
|
Requires-Dist: APScheduler>=4.0.0a5; extra == "sql"
|
161
|
+
Requires-Dist: uv>=0.2.11; extra == "sql"
|
160
162
|
Provides-Extra: dash
|
161
163
|
Requires-Dist: Flask-Compress>=1.10.1; extra == "dash"
|
162
164
|
Requires-Dist: dash>=2.6.2; extra == "dash"
|
@@ -214,6 +216,7 @@ Requires-Dist: watchfiles>=0.21.0; extra == "api"
|
|
214
216
|
Requires-Dist: dill>=0.3.3; extra == "api"
|
215
217
|
Requires-Dist: virtualenv>=20.1.0; extra == "api"
|
216
218
|
Requires-Dist: APScheduler>=4.0.0a5; extra == "api"
|
219
|
+
Requires-Dist: uv>=0.2.11; extra == "api"
|
217
220
|
Requires-Dist: pprintpp>=0.4.0; extra == "api"
|
218
221
|
Requires-Dist: asciitree>=0.3.3; extra == "api"
|
219
222
|
Requires-Dist: typing-extensions>=4.7.1; extra == "api"
|
@@ -261,6 +264,7 @@ Requires-Dist: watchfiles>=0.21.0; extra == "full"
|
|
261
264
|
Requires-Dist: dill>=0.3.3; extra == "full"
|
262
265
|
Requires-Dist: virtualenv>=20.1.0; extra == "full"
|
263
266
|
Requires-Dist: APScheduler>=4.0.0a5; extra == "full"
|
267
|
+
Requires-Dist: uv>=0.2.11; extra == "full"
|
264
268
|
Requires-Dist: cryptography>=38.0.1; extra == "full"
|
265
269
|
Requires-Dist: psycopg[binary]>=3.1.18; extra == "full"
|
266
270
|
Requires-Dist: PyMySQL>=0.9.0; extra == "full"
|
@@ -147,6 +147,7 @@ meerschaum/config/_read_config.py
|
|
147
147
|
meerschaum/config/_shell.py
|
148
148
|
meerschaum/config/_sync.py
|
149
149
|
meerschaum/config/_version.py
|
150
|
+
meerschaum/config/paths.py
|
150
151
|
meerschaum/config/resources/__init__.py
|
151
152
|
meerschaum/config/stack/__init__.py
|
152
153
|
meerschaum/config/stack/grafana/__init__.py
|
@@ -47,6 +47,7 @@ watchfiles>=0.21.0
|
|
47
47
|
dill>=0.3.3
|
48
48
|
virtualenv>=20.1.0
|
49
49
|
APScheduler>=4.0.0a5
|
50
|
+
uv>=0.2.11
|
50
51
|
pprintpp>=0.4.0
|
51
52
|
asciitree>=0.3.3
|
52
53
|
typing-extensions>=4.7.1
|
@@ -98,6 +99,7 @@ watchfiles>=0.21.0
|
|
98
99
|
dill>=0.3.3
|
99
100
|
virtualenv>=20.1.0
|
100
101
|
APScheduler>=4.0.0a5
|
102
|
+
uv>=0.2.11
|
101
103
|
|
102
104
|
[dash]
|
103
105
|
Flask-Compress>=1.10.1
|
@@ -191,6 +193,7 @@ watchfiles>=0.21.0
|
|
191
193
|
dill>=0.3.3
|
192
194
|
virtualenv>=20.1.0
|
193
195
|
APScheduler>=4.0.0a5
|
196
|
+
uv>=0.2.11
|
194
197
|
cryptography>=38.0.1
|
195
198
|
psycopg[binary]>=3.1.18
|
196
199
|
PyMySQL>=0.9.0
|
@@ -279,6 +282,7 @@ watchfiles>=0.21.0
|
|
279
282
|
dill>=0.3.3
|
280
283
|
virtualenv>=20.1.0
|
281
284
|
APScheduler>=4.0.0a5
|
285
|
+
uv>=0.2.11
|
282
286
|
|
283
287
|
[stack]
|
284
288
|
docker-compose>=1.29.2
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|