execsql2 2.17.3__py3-none-any.whl → 2.18.1__py3-none-any.whl
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.
- execsql/cli/__init__.py +15 -5
- execsql/cli/lint.py +296 -430
- execsql/cli/run.py +29 -2
- execsql/config.py +20 -0
- execsql/db/access.py +6 -0
- execsql/db/base.py +57 -1
- execsql/db/dsn.py +19 -9
- execsql/db/firebird.py +6 -0
- execsql/db/mysql.py +81 -0
- execsql/db/oracle.py +6 -0
- execsql/db/sqlite.py +37 -18
- execsql/db/sqlserver.py +31 -6
- execsql/exporters/base.py +1 -1
- execsql/exporters/duckdb.py +8 -4
- execsql/exporters/ods.py +11 -0
- execsql/exporters/sqlite.py +10 -3
- execsql/exporters/templates.py +10 -0
- execsql/exporters/xls.py +4 -0
- execsql/exporters/xlsx.py +9 -0
- execsql/importers/json.py +49 -32
- execsql/metacommands/conditions.py +7 -2
- execsql/metacommands/dispatch.py +5 -10
- execsql/metacommands/io_export.py +21 -26
- execsql/metacommands/io_fileops.py +21 -3
- execsql/metacommands/io_import.py +23 -3
- execsql/metacommands/script_ext.py +8 -7
- execsql/script/ast.py +8 -0
- execsql/script/engine.py +33 -12
- execsql/script/executor.py +12 -0
- execsql/script/variables.py +41 -15
- execsql/utils/auth.py +49 -1
- execsql/utils/fileio.py +120 -0
- execsql/utils/gui.py +11 -1
- {execsql2-2.17.3.data → execsql2-2.18.1.data}/data/execsql2_extras/md_compare.sql +12 -12
- {execsql2-2.17.3.data → execsql2-2.18.1.data}/data/execsql2_extras/md_glossary.sql +5 -5
- {execsql2-2.17.3.data → execsql2-2.18.1.data}/data/execsql2_extras/md_upsert.sql +13 -13
- {execsql2-2.17.3.data → execsql2-2.18.1.data}/data/execsql2_extras/pg_compare.sql +24 -24
- {execsql2-2.17.3.data → execsql2-2.18.1.data}/data/execsql2_extras/pg_glossary.sql +5 -5
- {execsql2-2.17.3.data → execsql2-2.18.1.data}/data/execsql2_extras/pg_upsert.sql +29 -29
- {execsql2-2.17.3.data → execsql2-2.18.1.data}/data/execsql2_extras/script_template.sql +2 -2
- {execsql2-2.17.3.data → execsql2-2.18.1.data}/data/execsql2_extras/ss_compare.sql +24 -24
- {execsql2-2.17.3.data → execsql2-2.18.1.data}/data/execsql2_extras/ss_glossary.sql +6 -6
- {execsql2-2.17.3.data → execsql2-2.18.1.data}/data/execsql2_extras/ss_upsert.sql +2917 -2917
- {execsql2-2.17.3.dist-info → execsql2-2.18.1.dist-info}/METADATA +47 -40
- {execsql2-2.17.3.dist-info → execsql2-2.18.1.dist-info}/RECORD +54 -55
- execsql/cli/lint_ast.py +0 -439
- {execsql2-2.17.3.data → execsql2-2.18.1.data}/data/execsql2_extras/README.md +0 -0
- {execsql2-2.17.3.data → execsql2-2.18.1.data}/data/execsql2_extras/config_settings.sqlite +0 -0
- {execsql2-2.17.3.data → execsql2-2.18.1.data}/data/execsql2_extras/example_config_prompt.sql +0 -0
- {execsql2-2.17.3.data → execsql2-2.18.1.data}/data/execsql2_extras/execsql.conf +0 -0
- {execsql2-2.17.3.data → execsql2-2.18.1.data}/data/execsql2_extras/make_config_db.sql +0 -0
- {execsql2-2.17.3.dist-info → execsql2-2.18.1.dist-info}/WHEEL +0 -0
- {execsql2-2.17.3.dist-info → execsql2-2.18.1.dist-info}/entry_points.txt +0 -0
- {execsql2-2.17.3.dist-info → execsql2-2.18.1.dist-info}/licenses/LICENSE.txt +0 -0
- {execsql2-2.17.3.dist-info → execsql2-2.18.1.dist-info}/licenses/NOTICE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: execsql2
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.18.1
|
|
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
|
|
@@ -45,6 +45,7 @@ Requires-Dist: sqlglot>=25.0
|
|
|
45
45
|
Requires-Dist: textual>=0.47.0
|
|
46
46
|
Requires-Dist: typer>=0.12
|
|
47
47
|
Provides-Extra: all
|
|
48
|
+
Requires-Dist: defusedxml; extra == 'all'
|
|
48
49
|
Requires-Dist: duckdb; extra == 'all'
|
|
49
50
|
Requires-Dist: firebird-driver; extra == 'all'
|
|
50
51
|
Requires-Dist: jinja2; extra == 'all'
|
|
@@ -80,9 +81,11 @@ Requires-Dist: keyrings-alt; extra == 'auth-plaintext'
|
|
|
80
81
|
Provides-Extra: dev
|
|
81
82
|
Requires-Dist: build>=1.2.2.post1; extra == 'dev'
|
|
82
83
|
Requires-Dist: bump-my-version>=1.2.7; extra == 'dev'
|
|
84
|
+
Requires-Dist: defusedxml; extra == 'dev'
|
|
83
85
|
Requires-Dist: jinja2; extra == 'dev'
|
|
84
86
|
Requires-Dist: markdown-include>=0.8; extra == 'dev'
|
|
85
87
|
Requires-Dist: mkdocstrings-python>=2.0.3; extra == 'dev'
|
|
88
|
+
Requires-Dist: mypy>=1.10; extra == 'dev'
|
|
86
89
|
Requires-Dist: odfpy; extra == 'dev'
|
|
87
90
|
Requires-Dist: openpyxl; extra == 'dev'
|
|
88
91
|
Requires-Dist: polars; extra == 'dev'
|
|
@@ -100,6 +103,7 @@ Requires-Dist: duckdb; extra == 'duckdb'
|
|
|
100
103
|
Provides-Extra: firebird
|
|
101
104
|
Requires-Dist: firebird-driver; extra == 'firebird'
|
|
102
105
|
Provides-Extra: formats
|
|
106
|
+
Requires-Dist: defusedxml; extra == 'formats'
|
|
103
107
|
Requires-Dist: jinja2; extra == 'formats'
|
|
104
108
|
Requires-Dist: odfpy; extra == 'formats'
|
|
105
109
|
Requires-Dist: openpyxl; extra == 'formats'
|
|
@@ -181,6 +185,7 @@ pip install execsql2[upsert] # pg-upsert for PostgreSQL upsert operatio
|
|
|
181
185
|
pip install execsql2[auth] # OS keyring integration
|
|
182
186
|
pip install execsql2[auth-plaintext] # Keyring + plaintext file backend (headless Linux)
|
|
183
187
|
pip install execsql2[auth-encrypted] # Keyring + encrypted file backend (headless Linux)
|
|
188
|
+
pip install execsql2[map] # tkintermapview for PROMPT MAP
|
|
184
189
|
|
|
185
190
|
# Convenience
|
|
186
191
|
pip install execsql2[all-db] # All database drivers
|
|
@@ -223,44 +228,46 @@ execsql script.sql # read connection from config file
|
|
|
223
228
|
|
|
224
229
|
## Options
|
|
225
230
|
|
|
226
|
-
| Flag | Description
|
|
227
|
-
| ------------------------------------- |
|
|
228
|
-
| `-t {p,m,s,l,k,a,f,o,d}` | Database type
|
|
229
|
-
| `-u USER` | Database username
|
|
230
|
-
| `-p PORT` | Server port
|
|
231
|
-
| `-a VALUE` | Set substitution variable `$ARG_x`
|
|
232
|
-
| `-b` / `--boolean-int` | Treat integers 0 and 1 as boolean values
|
|
233
|
-
| `-c SCRIPT` | Execute inline SQL or metacommand string
|
|
234
|
-
| `-d` | Auto-create export directories
|
|
235
|
-
| `-e ENCODING` / `--database-encoding` | Character encoding used in the database
|
|
236
|
-
| `-f ENCODING` | Script file encoding (default: UTF-8)
|
|
237
|
-
| `-g ENCODING` / `--output-encoding` | Encoding for WRITE and EXPORT output
|
|
238
|
-
| `-i ENCODING` / `--import-encoding` | Encoding for data files used with IMPORT
|
|
239
|
-
| `-l` | Write run log to `~/execsql.log`
|
|
240
|
-
| `-m` | List metacommands and exit
|
|
241
|
-
| `-n` | Create a new SQLite or PostgreSQL database if it does not exist
|
|
242
|
-
| `-o` / `--online-help` | Open the online documentation in the default browser
|
|
243
|
-
| `-s N` / `--scan-lines` | Lines to scan for IMPORT format detection (0 = scan entire file)
|
|
244
|
-
| `-v {0,1,2,3}` | GUI level (0=none, 1=password, 2=selection, 3=full)
|
|
245
|
-
| `-w` | Skip password prompt when a username is supplied
|
|
246
|
-
| `-y` / `--encodings` | List available encoding names and exit
|
|
247
|
-
| `-z KB` / `--import-buffer` | Import buffer size in KB (default: 32)
|
|
248
|
-
| `--dsn URL` | Connection string (e.g. `postgresql://user:pass@host/db`)
|
|
249
|
-
| `--output-dir DIR` | Default base directory for EXPORT output files
|
|
250
|
-
| `--dry-run` | Parse the script and report commands without executing
|
|
251
|
-
| `--lint` | Static analysis: check structure and warn on issues (no DB)
|
|
252
|
-
| `--parse-tree` | Print the script's AST structure and exit (no DB)
|
|
253
|
-
| `--list-plugins` | List discovered plugins and exit
|
|
254
|
-
| `--ping` | Test database connectivity and exit
|
|
255
|
-
| `--profile` | Show per-statement timing summary after execution
|
|
256
|
-
| `--profile-limit N` | Top N statements to display in `--profile` summary (default: 20)
|
|
257
|
-
| `--progress` | Show a progress bar for long-running IMPORT operations
|
|
258
|
-
| `--config FILE` | Load an explicit config file (highest priority after CLI args)
|
|
259
|
-
| `--no-system-cmd` | Disable the `SYSTEM_CMD` metacommand (safer for CI / shared envs)
|
|
260
|
-
| `--
|
|
261
|
-
| `--
|
|
262
|
-
| `--
|
|
263
|
-
| `--
|
|
231
|
+
| Flag | Description |
|
|
232
|
+
| ------------------------------------- | ------------------------------------------------------------------ |
|
|
233
|
+
| `-t {p,m,s,l,k,a,f,o,d}` | Database type |
|
|
234
|
+
| `-u USER` | Database username |
|
|
235
|
+
| `-p PORT` | Server port |
|
|
236
|
+
| `-a VALUE` | Set substitution variable `$ARG_x` |
|
|
237
|
+
| `-b` / `--boolean-int` | Treat integers 0 and 1 as boolean values |
|
|
238
|
+
| `-c SCRIPT` | Execute inline SQL or metacommand string |
|
|
239
|
+
| `-d` | Auto-create export directories |
|
|
240
|
+
| `-e ENCODING` / `--database-encoding` | Character encoding used in the database |
|
|
241
|
+
| `-f ENCODING` | Script file encoding (default: UTF-8) |
|
|
242
|
+
| `-g ENCODING` / `--output-encoding` | Encoding for WRITE and EXPORT output |
|
|
243
|
+
| `-i ENCODING` / `--import-encoding` | Encoding for data files used with IMPORT |
|
|
244
|
+
| `-l` | Write run log to `~/execsql.log` |
|
|
245
|
+
| `-m` | List metacommands and exit |
|
|
246
|
+
| `-n` | Create a new SQLite or PostgreSQL database if it does not exist |
|
|
247
|
+
| `-o` / `--online-help` | Open the online documentation in the default browser |
|
|
248
|
+
| `-s N` / `--scan-lines` | Lines to scan for IMPORT format detection (0 = scan entire file) |
|
|
249
|
+
| `-v {0,1,2,3}` | GUI level (0=none, 1=password, 2=selection, 3=full) |
|
|
250
|
+
| `-w` | Skip password prompt when a username is supplied |
|
|
251
|
+
| `-y` / `--encodings` | List available encoding names and exit |
|
|
252
|
+
| `-z KB` / `--import-buffer` | Import buffer size in KB (default: 32) |
|
|
253
|
+
| `--dsn URL` | Connection string (e.g. `postgresql://user:pass@host/db`) |
|
|
254
|
+
| `--output-dir DIR` | Default base directory for EXPORT output files |
|
|
255
|
+
| `--dry-run` | Parse the script and report commands without executing |
|
|
256
|
+
| `--lint` | Static analysis: check structure and warn on issues (no DB) |
|
|
257
|
+
| `--parse-tree` | Print the script's AST structure and exit (no DB) |
|
|
258
|
+
| `--list-plugins` | List discovered plugins and exit |
|
|
259
|
+
| `--ping` | Test database connectivity and exit |
|
|
260
|
+
| `--profile` | Show per-statement timing summary after execution |
|
|
261
|
+
| `--profile-limit N` | Top N statements to display in `--profile` summary (default: 20) |
|
|
262
|
+
| `--progress` | Show a progress bar for long-running IMPORT operations |
|
|
263
|
+
| `--config FILE` | Load an explicit config file (highest priority after CLI args) |
|
|
264
|
+
| `--no-system-cmd` | Disable the `SYSTEM_CMD` metacommand (safer for CI / shared envs) |
|
|
265
|
+
| `--no-rm-file` | Disable the `RM_FILE` metacommand (no script-driven file deletion) |
|
|
266
|
+
| `--no-serve` | Disable the `SERVE` metacommand (no script-driven file streaming) |
|
|
267
|
+
| `--init-config` | Print a default `execsql.conf` template to stdout and exit |
|
|
268
|
+
| `--debug` | Start in step-through debug mode (REPL pauses before each stmt) |
|
|
269
|
+
| `--dump-keywords` | Print metacommand keywords as JSON and exit |
|
|
270
|
+
| `--gui-framework {tkinter,textual}` | GUI framework for interactive prompts |
|
|
264
271
|
|
|
265
272
|
Run `execsql --help` for the full option list, or `execsql -m` to list all metacommands.
|
|
266
273
|
|
|
@@ -388,7 +395,7 @@ execsql-format --check scripts/
|
|
|
388
395
|
```yaml
|
|
389
396
|
repos:
|
|
390
397
|
- repo: https://github.com/geocoug/execsql
|
|
391
|
-
rev: v2.
|
|
398
|
+
rev: v2.18.0
|
|
392
399
|
hooks:
|
|
393
400
|
- id: execsql-format
|
|
394
401
|
args: [--in-place]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
execsql/__init__.py,sha256=ZeVnpEWu8M2bn3qLmVM72NhWRueUGNbsX8UAPTermo0,901
|
|
2
2
|
execsql/__main__.py,sha256=HdbK-SAhyUmfB6xINY5AzxdMSxGzWSGEG_2dv42Jn64,315
|
|
3
3
|
execsql/api.py,sha256=ZFTo_XZPhG21w2vxaeS1lS6o5XmF1FUJRIaypgTOjA8,20919
|
|
4
|
-
execsql/config.py,sha256=
|
|
4
|
+
execsql/config.py,sha256=OOrCcn9m3CNuXkxVOLp7uMhQikzUS2wh_QVhvIzRqIM,33296
|
|
5
5
|
execsql/exceptions.py,sha256=EkM5cw2s0D9QCOgS4BU29FEyOnEtCxJ0esPT6l1hT9s,9205
|
|
6
6
|
execsql/format.py,sha256=el_gQyMbj4VllToGEcU_61PtxUFotD1hXjrVzEhackM,25507
|
|
7
7
|
execsql/models.py,sha256=kCTUQg9-vReM6WNFfB_ZrEppuOW5u1uMBQThSkfPC0o,13264
|
|
@@ -10,47 +10,46 @@ execsql/plugins.py,sha256=2voLwT6eFap6BCBoZYndNNC_bMEJO1f_aP6xQTVXwYI,12815
|
|
|
10
10
|
execsql/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
execsql/state.py,sha256=T6UoXXxAkUP-4KKQpfFAlI3WMzm2xUi3LSplJDuRLY0,21965
|
|
12
12
|
execsql/types.py,sha256=5K3aTuWQZHftz5slFODwqxlcvvt6lROISUnvUtRUazs,31799
|
|
13
|
-
execsql/cli/__init__.py,sha256=
|
|
13
|
+
execsql/cli/__init__.py,sha256=aJknKKIGxYCXpny0cyHXfqJsJ95dBtlEXXhPASFG8GQ,23114
|
|
14
14
|
execsql/cli/dsn.py,sha256=svaZtrUXFRL2W5G6FRRiKtR6kehOp7urrVhIx_642Z8,2820
|
|
15
15
|
execsql/cli/help.py,sha256=ThwdZuMIfLPxLAPpGWwXFY_UfyWvYOCjdlBNK20Vzd8,5718
|
|
16
|
-
execsql/cli/lint.py,sha256=
|
|
17
|
-
execsql/cli/
|
|
18
|
-
execsql/cli/run.py,sha256=WJNi4KsEQYHicMWl0FHs3ZnduK4W_8IwtwqxeClxf1k,35152
|
|
16
|
+
execsql/cli/lint.py,sha256=YqKzFNUhyb_Th69hYgKk1ZZVjCsZfJMIiUGqp06JwNs,17236
|
|
17
|
+
execsql/cli/run.py,sha256=QoSHVBfg20n2knPrqf7RFJmcfFpC5aq7NkwX5o6qRnA,36326
|
|
19
18
|
execsql/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
19
|
execsql/data/execsql.conf.template,sha256=1a2g2Vga7s128wcu3ftIFRkHlKKtuvkuOHSD1XuNT7o,9404
|
|
21
20
|
execsql/db/__init__.py,sha256=jTbuafuKOqYtXFR1wvCOoKK5Lr3l1uErfaIbIr6UywI,1063
|
|
22
|
-
execsql/db/access.py,sha256=
|
|
23
|
-
execsql/db/base.py,sha256=
|
|
24
|
-
execsql/db/dsn.py,sha256=
|
|
21
|
+
execsql/db/access.py,sha256=pqxFzxF5yXBv_UzJEtp5YHNJy3yHqxLYCRzVLV4qolo,19404
|
|
22
|
+
execsql/db/base.py,sha256=m0xOGU-GAUU6SR1kF6LUnybaeX3fUgXqsofbzemyM28,35295
|
|
23
|
+
execsql/db/dsn.py,sha256=59OzMAuCIfHcdOZNarK9TlDzaBJjhZ1SFFMvyXlH6u8,6086
|
|
25
24
|
execsql/db/duckdb.py,sha256=79lRzKRhw1Pjfqcrba27S4Oq8a8AbDO_d0XkaNKKPQo,3197
|
|
26
25
|
execsql/db/factory.py,sha256=YHdgyqQYy16548O3fGyElLC5C7DdIgva4Z29OsDxXjs,5367
|
|
27
|
-
execsql/db/firebird.py,sha256=
|
|
28
|
-
execsql/db/mysql.py,sha256=
|
|
29
|
-
execsql/db/oracle.py,sha256=
|
|
26
|
+
execsql/db/firebird.py,sha256=p_7RFWhFI7y5ukKCMXeDPE0wjeQ6dpO4IK6uz2dYjrc,9224
|
|
27
|
+
execsql/db/mysql.py,sha256=HOFziabEN-ZD97LIfTrfhQB_yXwcCi9ZsqPqt6LFDHk,17964
|
|
28
|
+
execsql/db/oracle.py,sha256=vYs1Oqym0LdAV5WQFdJFDesHlsx7RjsOaDyX0UTegPQ,12286
|
|
30
29
|
execsql/db/postgres.py,sha256=UNzrXzMniEyT3Z7qjCA_HLEUY0PVr1cJShuhAxtl5l0,21241
|
|
31
|
-
execsql/db/sqlite.py,sha256=
|
|
32
|
-
execsql/db/sqlserver.py,sha256=
|
|
30
|
+
execsql/db/sqlite.py,sha256=xooU6bvD9Y3frRpnbyesE63r6E1fwEHkkcN1YD_UIUE,11519
|
|
31
|
+
execsql/db/sqlserver.py,sha256=6HtjLa__SlVyqbM7S80Wsipe-IFIDnzmYNg8BLvuQJM,9006
|
|
33
32
|
execsql/debug/__init__.py,sha256=j6EGUR0dHzUhWN1mHHtf1-Lhjq3Sb1V-vmnq2Ztgj1M,178
|
|
34
33
|
execsql/debug/repl.py,sha256=d-Pq4wBQU0rcvjXWqDkq_FOxL29vJ7VCP3xoG6TtXpE,22309
|
|
35
34
|
execsql/exporters/__init__.py,sha256=-Cnji-OgodJV8ftcDcOyTof0kQMy9J5kKVC8GVFpc3o,670
|
|
36
|
-
execsql/exporters/base.py,sha256=
|
|
35
|
+
execsql/exporters/base.py,sha256=XTPenHl5TbmbZ3cfPYLVFirGNiVps3Kt3AQKFVKy6ss,6408
|
|
37
36
|
execsql/exporters/delimited.py,sha256=GIEeennL_elvcZgq5oSvgxAKAgwr8ea3o5_M_pLmc4g,32341
|
|
38
|
-
execsql/exporters/duckdb.py,sha256=
|
|
37
|
+
execsql/exporters/duckdb.py,sha256=R4WbvzBEIK1ptnIc8w6c7jcinG-cuuFYC85_NYCumH0,3146
|
|
39
38
|
execsql/exporters/feather.py,sha256=Ie7DCheyAj5y3ktpaMN76Mu3rnTQ0biKcxmaJdcIWvg,4184
|
|
40
39
|
execsql/exporters/html.py,sha256=BPTGYODiC5_5zaQsVkZ9QVAl67yfCWFTsjK0D-QOJkM,9717
|
|
41
40
|
execsql/exporters/json.py,sha256=G9lyJcjgmMvymu_MoVrkSqx2H6JRN7qwA5UEomnPkVQ,4343
|
|
42
41
|
execsql/exporters/latex.py,sha256=w_B83_5vKPe8uYxCWGdqvxwJeq0mw5zzKYDiAb7dbN0,4503
|
|
43
42
|
execsql/exporters/markdown.py,sha256=_ZX3dikbtAb6qZxYeWxDZAPF0-cNKTPR7or5kTbD2ZU,4436
|
|
44
|
-
execsql/exporters/ods.py,sha256=
|
|
43
|
+
execsql/exporters/ods.py,sha256=G9dotsua8V6LcEl-rxs3KZOr-U_Dw8KPyJ8i-BQRDpc,19358
|
|
45
44
|
execsql/exporters/parquet.py,sha256=186vUTH1oVAQ0s_qayLzEQVsKKu3ijAkhYEI6tysXkg,1095
|
|
46
45
|
execsql/exporters/pretty.py,sha256=tG7Yr4lwFMs3a0Jrsq6qsNNkE8Q7sMePr61SS5QMaTs,3447
|
|
47
46
|
execsql/exporters/protocol.py,sha256=BxATgz0xKHbB2FpZBeNg7wZfIiCohhD1awlr3JCec0c,4372
|
|
48
47
|
execsql/exporters/raw.py,sha256=hqO5XEv_Ab9KiphPvZ9sZEdxWTg-kyn8PH9V3qFksyo,2488
|
|
49
|
-
execsql/exporters/sqlite.py,sha256=
|
|
50
|
-
execsql/exporters/templates.py,sha256=
|
|
48
|
+
execsql/exporters/sqlite.py,sha256=WpiR6I42dWUzw6_BmN9Ihrx6TEfr_lKpnrrwLA9Aq7E,3074
|
|
49
|
+
execsql/exporters/templates.py,sha256=XlWwOVSVItexaQUkmTsWB_mff0t8cdaZ5ocgSU2HsAA,6014
|
|
51
50
|
execsql/exporters/values.py,sha256=HIyud31aux_dbCphfKHEGeZB9fkIPE5PoGXQz817XIE,2520
|
|
52
|
-
execsql/exporters/xls.py,sha256=
|
|
53
|
-
execsql/exporters/xlsx.py,sha256=
|
|
51
|
+
execsql/exporters/xls.py,sha256=9H4Nf8VNwXPxc7Koq_pq-Izxi6zt2MxbsJ6Yxjao4u0,11094
|
|
52
|
+
execsql/exporters/xlsx.py,sha256=0f-Gdp8DyB3muUdH6tyiGFKGx9UymZ4fL3ja6H0sBjI,11853
|
|
54
53
|
execsql/exporters/xml.py,sha256=lqcOM8uKDoCayU42BPSLNH1_2DIHU5D3LtQItREU90c,2564
|
|
55
54
|
execsql/exporters/yaml.py,sha256=1Vuc6uMDuLTkCuXCfXWKz4gLkkAVdEXkLs4gEB_67Xo,3110
|
|
56
55
|
execsql/exporters/zip.py,sha256=kr0X6VLE_ULGVQtMzfqZZSUmc1Qupxg9HbMOAvnTQvI,4890
|
|
@@ -63,62 +62,62 @@ execsql/importers/__init__.py,sha256=zZwdQxMaValCNqUrVdvaA7XPU3J8NmqVJ4uolNWY2iU
|
|
|
63
62
|
execsql/importers/base.py,sha256=FGVz3ntN6xHL99rQixlQj3tAf570K_oU83UtbYE1lJg,4124
|
|
64
63
|
execsql/importers/csv.py,sha256=GUVRP294vHlOlF8XNecPEzatUBOOFIqnrEV9cBQkiv0,4849
|
|
65
64
|
execsql/importers/feather.py,sha256=g2B69d2uv9vmnXcmjFyTVsMP40LYEzFYkhk3gD26mGw,1900
|
|
66
|
-
execsql/importers/json.py,sha256=
|
|
65
|
+
execsql/importers/json.py,sha256=fL47h09Zzx4Qw3TTQRQJbdPdD3qVMiU-kK9C7j1IQzg,5534
|
|
67
66
|
execsql/importers/ods.py,sha256=VsxIkr7opBamB0PbSFmMWt7G11w8lLUH1k_kRwz28zw,2847
|
|
68
67
|
execsql/importers/xls.py,sha256=IB-ShXw2zHJUWPUtMCDbkjxYue-hACyR66tKNOZqzSw,3685
|
|
69
68
|
execsql/metacommands/__init__.py,sha256=6PE1rXfJzIpHCxIgbeokh6fY2cAe82KR04J6pzawVlE,12993
|
|
70
|
-
execsql/metacommands/conditions.py,sha256=
|
|
69
|
+
execsql/metacommands/conditions.py,sha256=5njexsBqSN_MNQdnw9Ra51BcS7ekACHNvBI2MXZF6_g,29995
|
|
71
70
|
execsql/metacommands/connect.py,sha256=W24gYGmYDXNQyzBTsqWtl9-qbX2FS0v_c4s_OHj97mY,15327
|
|
72
71
|
execsql/metacommands/control.py,sha256=btF9hP_jzTuTIODPK72CYF0v_oKYpwXpKLATt-Ti2kc,7988
|
|
73
72
|
execsql/metacommands/data.py,sha256=u9D6F3ambIqXhEHVmFOI6RDrbmdXQ-FUiqw7aMGo5bQ,12135
|
|
74
73
|
execsql/metacommands/debug.py,sha256=MeVXAob8ItEg2QzuSUkKDaQCEABnH6u0XcAwJzw36CE,13015
|
|
75
|
-
execsql/metacommands/dispatch.py,sha256=
|
|
74
|
+
execsql/metacommands/dispatch.py,sha256=t7x0xWHJA0PeCrYf7jYeSMJgf0yxcZ_xh-_YAtBPHLw,87192
|
|
76
75
|
execsql/metacommands/io.py,sha256=vlGBje5sgnqeilooMdhJDgSRIhysHy5_7LrKtik9Xjs,3011
|
|
77
|
-
execsql/metacommands/io_export.py,sha256
|
|
78
|
-
execsql/metacommands/io_fileops.py,sha256=
|
|
79
|
-
execsql/metacommands/io_import.py,sha256=
|
|
76
|
+
execsql/metacommands/io_export.py,sha256=-7VDtUUQegwGRantw-NpdkI_9hwIKU-36ZvReIYC2QA,14285
|
|
77
|
+
execsql/metacommands/io_fileops.py,sha256=6yED22UlVNXcRHNxZTgna8HmwFcR8s4nt6epMGLMtHY,10139
|
|
78
|
+
execsql/metacommands/io_import.py,sha256=kUHIiI16WMuxXpqDMIRBc06KvI-_sYuYfJVNMTKOoAo,15706
|
|
80
79
|
execsql/metacommands/io_write.py,sha256=RqOklmeGifu3lQgi_0glOoBWTY9FFIDlWIpOpb_hc3o,12789
|
|
81
80
|
execsql/metacommands/prompt.py,sha256=LUl7doqKx8fLR0qt2lXbhdgNpdF1s6KZ6Ruitt10YnM,37483
|
|
82
|
-
execsql/metacommands/script_ext.py,sha256=
|
|
81
|
+
execsql/metacommands/script_ext.py,sha256=CsUbyq8QFPnnvfX_k7fPlYNvvRw1xLmAWER4Exo5pwc,3658
|
|
83
82
|
execsql/metacommands/system.py,sha256=5ETiWbkVDGsdwTldDaMM4rwY_Smd02wCWUROtf6XH_M,7385
|
|
84
83
|
execsql/metacommands/upsert.py,sha256=wzoMpM8g49pEvU9GkHZ62fPvqV3w1UIUfxVA7HAsS_o,20317
|
|
85
84
|
execsql/script/__init__.py,sha256=eGJPBDWj42aaId2lX_quSrqoKrvGwGElIrGDNCyoV1Y,3547
|
|
86
|
-
execsql/script/ast.py,sha256=
|
|
85
|
+
execsql/script/ast.py,sha256=TQ4_7Lfw1F8_k6ycdvMZdzwNafrZiljSrthVRWUsuIk,20585
|
|
87
86
|
execsql/script/control.py,sha256=WqLy-HLPqHG3vEzYpKMiIJsD7LpORjyQuUWzFzcGz4w,2327
|
|
88
|
-
execsql/script/engine.py,sha256=
|
|
89
|
-
execsql/script/executor.py,sha256=
|
|
87
|
+
execsql/script/engine.py,sha256=52RmtQJGk4KWqXpZY7jfKeiPojAoULHWaigOcm1azm4,20979
|
|
88
|
+
execsql/script/executor.py,sha256=UTQ4k8EjxH5CdKYZ0E_l-0WyQ-i769mUJw6cJmMvSxI,36018
|
|
90
89
|
execsql/script/parser.py,sha256=K-mgwuQ729KdmimOpEmb0OBzMyOvX3gxhBKLgr5P4VA,33697
|
|
91
|
-
execsql/script/variables.py,sha256=
|
|
90
|
+
execsql/script/variables.py,sha256=t0BwrRuA8m1LYHGLkDPNbqW6QmudXroOFYsO0fwK2N0,16302
|
|
92
91
|
execsql/utils/__init__.py,sha256=0uR6JwVJQRX3vceByNBduCAf5dd5assKjeqJUWvpZoA,278
|
|
93
|
-
execsql/utils/auth.py,sha256=
|
|
92
|
+
execsql/utils/auth.py,sha256=dnLie8jFxN_l7ZrrRufVuxGw92iG62DIVatIjlEb4pM,8717
|
|
94
93
|
execsql/utils/crypto.py,sha256=KlT6lPk-v0-qQQfAMfWvT9Q6kRdCD3_5JVaLajNocKM,3051
|
|
95
94
|
execsql/utils/datetime.py,sha256=rMCXAbvj6bxKCYzC97vrludO6PU5DYQ39buZ0smDC5A,3573
|
|
96
95
|
execsql/utils/errors.py,sha256=C-9hlpJ7GM5gpDBdTsT4xFhK0OHNjonHgbq7fMl-Vvc,8577
|
|
97
|
-
execsql/utils/fileio.py,sha256=
|
|
98
|
-
execsql/utils/gui.py,sha256=
|
|
96
|
+
execsql/utils/fileio.py,sha256=38Z0WBvfaMa624aw3jo9ZOSlUCsacIeJWOhQKYe9YlU,31012
|
|
97
|
+
execsql/utils/gui.py,sha256=kpJkvi8zblXFdO4PgsF8yE_gkOJrsDwWoQWmaDpjJEQ,23402
|
|
99
98
|
execsql/utils/mail.py,sha256=MeSYjG9Qr8zdrEvkvg0C3YcLKaA5Op9xqeKbfvj-RLs,5500
|
|
100
99
|
execsql/utils/numeric.py,sha256=xh02ANSRk3nUpQ-rtm66ILoMqoi7HtzCoRMIOT9U8QI,1570
|
|
101
100
|
execsql/utils/regex.py,sha256=diEzTZqU_HHwVMadPAvN1Vgzhl7I03eVaEFGCXyGGL8,3770
|
|
102
101
|
execsql/utils/strings.py,sha256=UQNjpRCEFa1UO6feU-M-9e24wWAvizs_iu_4fFusLxo,8516
|
|
103
102
|
execsql/utils/timer.py,sha256=eDYf5VzCNFk7oo90InJucUm3XcBdhYMogjZMqeg9xzc,1899
|
|
104
|
-
execsql2-2.
|
|
105
|
-
execsql2-2.
|
|
106
|
-
execsql2-2.
|
|
107
|
-
execsql2-2.
|
|
108
|
-
execsql2-2.
|
|
109
|
-
execsql2-2.
|
|
110
|
-
execsql2-2.
|
|
111
|
-
execsql2-2.
|
|
112
|
-
execsql2-2.
|
|
113
|
-
execsql2-2.
|
|
114
|
-
execsql2-2.
|
|
115
|
-
execsql2-2.
|
|
116
|
-
execsql2-2.
|
|
117
|
-
execsql2-2.
|
|
118
|
-
execsql2-2.
|
|
119
|
-
execsql2-2.
|
|
120
|
-
execsql2-2.
|
|
121
|
-
execsql2-2.
|
|
122
|
-
execsql2-2.
|
|
123
|
-
execsql2-2.
|
|
124
|
-
execsql2-2.
|
|
103
|
+
execsql2-2.18.1.data/data/execsql2_extras/README.md,sha256=sxwVyU0ZahCfANv56LahkyuM505kFjrMhe-1SvWE69E,4845
|
|
104
|
+
execsql2-2.18.1.data/data/execsql2_extras/config_settings.sqlite,sha256=aY5cxR7Q7J6zJ4bC9lu5mHUrhy211Cq3MNKPQVCt02E,20480
|
|
105
|
+
execsql2-2.18.1.data/data/execsql2_extras/example_config_prompt.sql,sha256=SY3Jxn1qcVm4kPW9xmmTfknHfvURXmeEYTbRjYrjGSw,7487
|
|
106
|
+
execsql2-2.18.1.data/data/execsql2_extras/execsql.conf,sha256=1a2g2Vga7s128wcu3ftIFRkHlKKtuvkuOHSD1XuNT7o,9404
|
|
107
|
+
execsql2-2.18.1.data/data/execsql2_extras/make_config_db.sql,sha256=WwyC6dK-Eh5CAVppiBCDHqiI1_wEI9U95Ytpr4lsZkg,8726
|
|
108
|
+
execsql2-2.18.1.data/data/execsql2_extras/md_compare.sql,sha256=qYYVAjSeHZzjszxV3Bv6bg8Ckbq2kMHl87_gh4sywMU,24140
|
|
109
|
+
execsql2-2.18.1.data/data/execsql2_extras/md_glossary.sql,sha256=hkZ2Onn57LAKKsuXxzhR8tPtcWXkmWEQkwPE58-Tm2k,10796
|
|
110
|
+
execsql2-2.18.1.data/data/execsql2_extras/md_upsert.sql,sha256=_CAK4BzEboRXTNy03SJR-oOjcEdSNMuRBPL6noWUptY,112560
|
|
111
|
+
execsql2-2.18.1.data/data/execsql2_extras/pg_compare.sql,sha256=1zJd4hVUKHR0tncc2qTBC9B4qVV4Us2ITkJpsjN3tMw,24352
|
|
112
|
+
execsql2-2.18.1.data/data/execsql2_extras/pg_glossary.sql,sha256=IKuwna-_8b20ljSkXZruuiQigrCpo7ueQdUqd1MXiuI,9908
|
|
113
|
+
execsql2-2.18.1.data/data/execsql2_extras/pg_upsert.sql,sha256=HpPJtTHvpEjQy03j-3iPxDEOHMRkudOg7O4D4YR38UI,108315
|
|
114
|
+
execsql2-2.18.1.data/data/execsql2_extras/script_template.sql,sha256=2J35ddZPguJ-vwTsz83wErv0jiWUyJcdW_JM0mNKDXA,11155
|
|
115
|
+
execsql2-2.18.1.data/data/execsql2_extras/ss_compare.sql,sha256=j1qVNUPXQsEU7-DoVgDJCGcE0EuIl7whLBT3fgeiMAo,24833
|
|
116
|
+
execsql2-2.18.1.data/data/execsql2_extras/ss_glossary.sql,sha256=2gLxv34xzKt0vy7hSzJH7a9JiMC3ETrv9MofxQwAibU,13065
|
|
117
|
+
execsql2-2.18.1.data/data/execsql2_extras/ss_upsert.sql,sha256=G_8rQ0VzuKIZHWs24O_WrfzpC5S27R1JsL-bFBR3SUQ,117730
|
|
118
|
+
execsql2-2.18.1.dist-info/METADATA,sha256=czc8snw8MBbrf19X5tlYXFe5cCcpSFQmE6_pi0ezAYk,21911
|
|
119
|
+
execsql2-2.18.1.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
|
|
120
|
+
execsql2-2.18.1.dist-info/entry_points.txt,sha256=sUOxkM-dN1eBGGpSpDLsAaE0yNXYQKWZAfxPOlMkQyk,90
|
|
121
|
+
execsql2-2.18.1.dist-info/licenses/LICENSE.txt,sha256=LBdhuxejF8_bLCHZ2kWfmDXpDGUu914Gbd6_3JjCRe0,676
|
|
122
|
+
execsql2-2.18.1.dist-info/licenses/NOTICE,sha256=McYzgxYav3U1OaVsY4Su1sfBrfmplpRdA9b6-gCDQCg,342
|
|
123
|
+
execsql2-2.18.1.dist-info/RECORD,,
|