execsql2 2.12.6__tar.gz → 2.12.7__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.
- {execsql2-2.12.6 → execsql2-2.12.7}/CHANGELOG.md +8 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/PKG-INFO +3 -3
- {execsql2-2.12.6 → execsql2-2.12.7}/pyproject.toml +3 -3
- {execsql2-2.12.6 → execsql2-2.12.7}/uv.lock +5 -5
- {execsql2-2.12.6 → execsql2-2.12.7}/.claude/agents/dba.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.claude/agents/herald.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.claude/agents/inspector.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.claude/agents/liaison.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.claude/agents/oracle.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.claude/agents/patcher.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.claude/agents/qa.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.claude/agents/scribe.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.claude/commands/code-oracle.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.claude/commands/migrate.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.claude/commands/review-changes.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.claude/commands/test-module.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.claude/commands/update-changelog.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.claude/commands/where-is.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.claude/project_context.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.claude/state/status.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.github/workflows/ci-cd.yml +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.gitignore +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.pre-commit-config.yaml +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.pre-commit-hooks.yaml +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.python-version +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/.readthedocs.yaml +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/CLAUDE.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/CONTRIBUTING.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/LICENSE.txt +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/NOTICE +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/README.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/SECURITY.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/about/contributors.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/about/copyright.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/about/divergence.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/api/cli.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/api/db.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/api/exporters.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/api/importers.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/api/index.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/api/metacommands.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/dev/adding_db_adapters.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/dev/adding_exporters.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/dev/adding_importers.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/dev/adding_metacommands.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/dev/architecture.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/getting-started/installation.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/getting-started/requirements.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/getting-started/syntax.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/guides/debugging.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/guides/documentation.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/guides/encoding.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/guides/examples.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/guides/formatter.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/guides/logging.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/guides/sql_syntax.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/guides/usage.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/guides/using_scripts.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/Compare_planets.png +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/actions.png +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/actions2.png +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/checkboxes.png +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/connect.b64 +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/connect.png +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/create_conf.png +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/data_error1_screenshot.jpg +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/entry_form.png +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/execsql_console.png +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/execsql_logo_01.png +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/fatals.png +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/logo_small.png +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/pause_terminal.png +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/pause_terminal_sm.b64 +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/pause_terminal_sm.png +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/prompt_compare.png +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/set_build_commands.jpg +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/unit_conversions.b64 +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/unit_conversions_029.png +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/unmatched.png +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/images/vim_execsql_highlight.png +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/index.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/reference/configuration.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/reference/metacommands.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/reference/security.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/docs/reference/substitution_vars.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/extras/vscode-execsql/README.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/extras/vscode-execsql/package.json +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/extras/vscode-execsql/syntaxes/execsql.tmLanguage.json +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/justfile +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/scripts/generate_vscode_grammar.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/__main__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/cli/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/cli/dsn.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/cli/help.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/cli/lint.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/cli/run.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/config.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/constants.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/db/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/db/access.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/db/base.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/db/dsn.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/db/duckdb.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/db/factory.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/db/firebird.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/db/mysql.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/db/oracle.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/db/postgres.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/db/sqlite.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/db/sqlserver.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/debug/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/debug/repl.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exceptions.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/base.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/delimited.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/duckdb.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/feather.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/html.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/json.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/latex.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/markdown.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/ods.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/parquet.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/pretty.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/protocol.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/raw.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/sqlite.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/templates.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/values.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/xls.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/xlsx.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/xml.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/yaml.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/exporters/zip.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/format.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/gui/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/gui/base.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/gui/console.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/gui/desktop.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/gui/tui.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/importers/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/importers/base.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/importers/csv.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/importers/feather.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/importers/ods.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/importers/xls.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/metacommands/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/metacommands/conditions.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/metacommands/connect.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/metacommands/control.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/metacommands/data.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/metacommands/debug.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/metacommands/dispatch.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/metacommands/io.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/metacommands/io_export.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/metacommands/io_fileops.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/metacommands/io_import.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/metacommands/io_write.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/metacommands/prompt.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/metacommands/script_ext.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/metacommands/system.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/metacommands/upsert.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/models.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/parser.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/py.typed +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/script/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/script/control.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/script/engine.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/script/variables.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/state.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/types.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/utils/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/utils/auth.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/utils/crypto.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/utils/datetime.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/utils/errors.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/utils/fileio.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/utils/gui.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/utils/mail.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/utils/numeric.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/utils/regex.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/utils/strings.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/src/execsql/utils/timer.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/templates/README.md +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/templates/config_settings.sqlite +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/templates/example_config_prompt.sql +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/templates/execsql.conf +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/templates/make_config_db.sql +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/templates/md_compare.sql +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/templates/md_glossary.sql +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/templates/md_upsert.sql +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/templates/pg_compare.sql +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/templates/pg_glossary.sql +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/templates/pg_upsert.sql +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/templates/script_template.sql +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/templates/ss_compare.sql +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/templates/ss_glossary.sql +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/templates/ss_upsert.sql +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/cli/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/cli/test_cli.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/cli/test_cli_e2e.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/cli/test_cli_run.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/cli/test_lint.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/cli/test_ping.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/cli/test_profile.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/conftest.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/db/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/db/test_base.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/db/test_duckdb.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/db/test_factory.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/db/test_postgres.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/db/test_sqlite.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/db/test_sqlite_extra.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/test_base.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/test_db.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/test_delimited.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/test_duckdb_exporter.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/test_exporters.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/test_feather.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/test_html_latex.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/test_json.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/test_markdown.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/test_ods.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/test_parquet.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/test_sqlite_exporter.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/test_templates.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/test_xls_xlsx.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/test_xlsx.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/test_xml.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/test_yaml.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/exporters/test_zip.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/gui/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/gui/test_backends.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/importers/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/importers/test_csv_importer.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/importers/test_feather_importer.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/importers/test_ods_importer.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/importers/test_xls_importer.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/integration/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/integration/conftest.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/integration/test_dsn.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/integration/test_duckdb.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/integration/test_mysql.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/integration/test_postgres.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/integration/test_sqlite.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/metacommands/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/metacommands/test_assert.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/metacommands/test_breakpoint.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/metacommands/test_connect.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/metacommands/test_io_export.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/metacommands/test_io_import.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/metacommands/test_metacommands.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/metacommands/test_metacommands_connect.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/metacommands/test_metacommands_data.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/metacommands/test_metacommands_extended.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/metacommands/test_metacommands_fileops_extra.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/metacommands/test_metacommands_io.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/metacommands/test_metacommands_io_write_extra.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/metacommands/test_metacommands_script_ext.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/metacommands/test_metacommands_system.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/metacommands/test_metacommands_system_extra.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/metacommands/test_pg_upsert.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/metacommands/test_row_count.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/test_config.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/test_config_data.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/test_constants.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/test_engine.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/test_error_messages.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/test_exceptions.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/test_format.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/test_mail.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/test_models.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/test_package.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/test_parser.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/test_registry.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/test_script.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/test_state.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/test_types.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/utils/__init__.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/utils/test_auth.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/utils/test_auth_extra.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/utils/test_crypto.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/utils/test_datetime.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/utils/test_errors.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/utils/test_errors_extra.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/utils/test_fileio.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/utils/test_fileio_extra.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/utils/test_numeric.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/utils/test_regex.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/utils/test_strings.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/utils/test_timer.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/tests/utils/test_timer_extra.py +0 -0
- {execsql2-2.12.6 → execsql2-2.12.7}/zensical.toml +0 -0
|
@@ -13,6 +13,14 @@ ______________________________________________________________________
|
|
|
13
13
|
|
|
14
14
|
______________________________________________________________________
|
|
15
15
|
|
|
16
|
+
## [2.12.7] - 2026-04-03
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- Bump pg-upsert minimum to >=1.18.2 — fixes interactive FK check dialog only showing 1 violation row instead of all rows.
|
|
21
|
+
|
|
22
|
+
______________________________________________________________________
|
|
23
|
+
|
|
16
24
|
## [2.12.6] - 2026-04-03
|
|
17
25
|
|
|
18
26
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: execsql2
|
|
3
|
-
Version: 2.12.
|
|
3
|
+
Version: 2.12.7
|
|
4
4
|
Summary: Runs a SQL script against a PostgreSQL, SQLite, MariaDB/MySQL, DuckDB, Firebird, MS-Access, MS-SQL-Server, or Oracle database, or an ODBC DSN. Provides metacommands to import and export data, copy data between databases, conditionally execute SQL and metacommands, and dynamically alter SQL and metacommands with substitution variables.
|
|
5
5
|
Project-URL: Homepage, https://execsql2.readthedocs.io
|
|
6
6
|
Project-URL: Repository, https://github.com/geocoug/execsql
|
|
@@ -51,7 +51,7 @@ Requires-Dist: keyring; extra == 'all'
|
|
|
51
51
|
Requires-Dist: odfpy; extra == 'all'
|
|
52
52
|
Requires-Dist: openpyxl; extra == 'all'
|
|
53
53
|
Requires-Dist: oracledb; extra == 'all'
|
|
54
|
-
Requires-Dist: pg-upsert>=1.18.
|
|
54
|
+
Requires-Dist: pg-upsert>=1.18.2; extra == 'all'
|
|
55
55
|
Requires-Dist: polars; extra == 'all'
|
|
56
56
|
Requires-Dist: psycopg2-binary; extra == 'all'
|
|
57
57
|
Requires-Dist: pymysql; extra == 'all'
|
|
@@ -109,7 +109,7 @@ Requires-Dist: oracledb; extra == 'oracle'
|
|
|
109
109
|
Provides-Extra: postgres
|
|
110
110
|
Requires-Dist: psycopg2-binary; extra == 'postgres'
|
|
111
111
|
Provides-Extra: upsert
|
|
112
|
-
Requires-Dist: pg-upsert>=1.18.
|
|
112
|
+
Requires-Dist: pg-upsert>=1.18.2; extra == 'upsert'
|
|
113
113
|
Description-Content-Type: text/markdown
|
|
114
114
|
|
|
115
115
|
> [!NOTE]
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "execsql2"
|
|
7
|
-
version = "2.12.
|
|
7
|
+
version = "2.12.7"
|
|
8
8
|
description = "Runs a SQL script against a PostgreSQL, SQLite, MariaDB/MySQL, DuckDB, Firebird, MS-Access, MS-SQL-Server, or Oracle database, or an ODBC DSN. Provides metacommands to import and export data, copy data between databases, conditionally execute SQL and metacommands, and dynamically alter SQL and metacommands with substitution variables."
|
|
9
9
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
10
10
|
license = { file = "LICENSE.txt" }
|
|
@@ -58,7 +58,7 @@ odbc = ["pyodbc"]
|
|
|
58
58
|
# Feature bundles
|
|
59
59
|
formats = ["odfpy", "xlrd", "openpyxl", "Jinja2", "polars", "tables", "PyYAML"]
|
|
60
60
|
auth = ["keyring"]
|
|
61
|
-
upsert = ["pg-upsert>=1.18.
|
|
61
|
+
upsert = ["pg-upsert>=1.18.2"]
|
|
62
62
|
# Convenience groups
|
|
63
63
|
all-db = [
|
|
64
64
|
"psycopg2-binary",
|
|
@@ -161,7 +161,7 @@ skip-magic-trailing-comma = false
|
|
|
161
161
|
line-ending = "auto"
|
|
162
162
|
|
|
163
163
|
[tool.bumpversion]
|
|
164
|
-
current_version = "2.12.
|
|
164
|
+
current_version = "2.12.7"
|
|
165
165
|
commit = true
|
|
166
166
|
commit_args = "--no-verify"
|
|
167
167
|
tag = true
|
|
@@ -648,7 +648,7 @@ wheels = [
|
|
|
648
648
|
|
|
649
649
|
[[package]]
|
|
650
650
|
name = "execsql2"
|
|
651
|
-
version = "2.12.
|
|
651
|
+
version = "2.12.7"
|
|
652
652
|
source = { editable = "." }
|
|
653
653
|
dependencies = [
|
|
654
654
|
{ name = "rich" },
|
|
@@ -766,7 +766,7 @@ requires-dist = [
|
|
|
766
766
|
{ name = "openpyxl", marker = "extra == 'formats'" },
|
|
767
767
|
{ name = "oracledb", marker = "extra == 'all-db'" },
|
|
768
768
|
{ name = "oracledb", marker = "extra == 'oracle'" },
|
|
769
|
-
{ name = "pg-upsert", marker = "extra == 'upsert'", specifier = ">=1.18.
|
|
769
|
+
{ name = "pg-upsert", marker = "extra == 'upsert'", specifier = ">=1.18.2" },
|
|
770
770
|
{ name = "polars", marker = "extra == 'formats'" },
|
|
771
771
|
{ name = "pre-commit", marker = "extra == 'dev'", specifier = ">=3.5.0" },
|
|
772
772
|
{ name = "psycopg2-binary", marker = "extra == 'all-db'" },
|
|
@@ -1780,7 +1780,7 @@ wheels = [
|
|
|
1780
1780
|
|
|
1781
1781
|
[[package]]
|
|
1782
1782
|
name = "pg-upsert"
|
|
1783
|
-
version = "1.18.
|
|
1783
|
+
version = "1.18.2"
|
|
1784
1784
|
source = { registry = "https://pypi.org/simple" }
|
|
1785
1785
|
dependencies = [
|
|
1786
1786
|
{ name = "psycopg2-binary" },
|
|
@@ -1788,9 +1788,9 @@ dependencies = [
|
|
|
1788
1788
|
{ name = "rich" },
|
|
1789
1789
|
{ name = "typer" },
|
|
1790
1790
|
]
|
|
1791
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1791
|
+
sdist = { url = "https://files.pythonhosted.org/packages/a0/ce/f8a18b9cd0cb8b8247d33c4559e9863f98066090dfce8a5b88d20ea7a17b/pg_upsert-1.18.2.tar.gz", hash = "sha256:ba6b6c9c35fed71da49bb752f5ed50b48dac5294b2c30f659aeef7ce2bea25b4", size = 1336576, upload-time = "2026-04-03T19:48:48.127Z" }
|
|
1792
1792
|
wheels = [
|
|
1793
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1793
|
+
{ url = "https://files.pythonhosted.org/packages/bf/bf/b94f2a4f8dd91496530724ff8f7bb6eedf08ea99e547efa2932cc7b99e10/pg_upsert-1.18.2-py3-none-any.whl", hash = "sha256:1bda623830888ecc4b5c66afbc5584eb2e447462fc4d054aafa21e5e26a71cfd", size = 80364, upload-time = "2026-04-03T19:48:46.254Z" },
|
|
1794
1794
|
]
|
|
1795
1795
|
|
|
1796
1796
|
[[package]]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|