ping-dataexport 0.2.0__tar.gz → 0.2.2__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.
- {ping_dataexport-0.2.0/src/ping_dataexport.egg-info → ping_dataexport-0.2.2}/PKG-INFO +13 -9
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/README.md +11 -7
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/pyproject.toml +2 -2
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/__init__.py +1 -1
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/cli.py +1 -1
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/job/spec.py +2 -2
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/job/validator.py +2 -1
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2/src/ping_dataexport.egg-info}/PKG-INFO +13 -9
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/LICENSE +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/MANIFEST.in +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/config.sample.ini +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/job.sample.ini +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/setup.cfg +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/__config__.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/__main__.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/api.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/applogger.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/config.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/db/__init__.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/db/connector.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/db/oracle_connector.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/db/pyodbc_connector.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/db/sqlite_connector.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/db/type_map.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/errors.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/export/__init__.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/export/engine.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/export/options.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/export/runner.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/export/util.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/job/__init__.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/job/executor.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/job/shared_context.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/paths.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/planner/__init__.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/planner/base.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/planner/datelist.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/planner/groupby.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/planner/monthbydate.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/planner/single.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/planner/watermark.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/writer/__init__.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/writer/arrow_map.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/writer/base.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/writer/delimited.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport/writer/parquet.py +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport.egg-info/SOURCES.txt +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport.egg-info/dependency_links.txt +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport.egg-info/entry_points.txt +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport.egg-info/requires.txt +0 -0
- {ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport.egg-info/top_level.txt +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ping-dataexport
|
|
3
|
-
Version: 0.2.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 0.2.2
|
|
4
|
+
Summary: PING's Data Export Tool - To Parquet/CSV/TEXT as Accelerator for Data & AI Project
|
|
5
5
|
Author: vorapol
|
|
6
6
|
License-Expression: Apache-2.0
|
|
7
7
|
Keywords: export,database,csv,parquet,etl,data-platform,airflow
|
|
@@ -31,6 +31,9 @@ Dynamic: license-file
|
|
|
31
31
|
|
|
32
32
|
## PING (ping-godhand)'s Universal Data Exporter
|
|
33
33
|
|
|
34
|
+
> **Provided as-is. No support, no warranty, no roadmap commitments, use at
|
|
35
|
+
> your own risk.**
|
|
36
|
+
|
|
34
37
|
## คำอธิบาย (ภาษาไทย)
|
|
35
38
|
|
|
36
39
|
โปรแกรมช่วย Export ข้อมูลอย่างง่าย: เชื่อมต่อฐานข้อมูล รันคำสั่ง SQL
|
|
@@ -178,14 +181,14 @@ All options:
|
|
|
178
181
|
| `-m` | `--mode` | export mode: `groupby` \| `date` \| `relativedate` \| `monthbydate` \| `splitrow` \| `watermark` — see section 4 |
|
|
179
182
|
| `-col` | `--column` | column the mode partitions on |
|
|
180
183
|
| `-row` | `--row` | rows per file (`-m splitrow`) |
|
|
181
|
-
| `-df` | `--datefrom` | start / anchor date `yyyy-MM-dd` |
|
|
184
|
+
| `-df` | `--datefrom` | start / anchor date `yyyy-MM-dd`; omitted with `-dr`/`-mr` ⇒ today (system date) |
|
|
182
185
|
| `-dt` | `--dateto` | end date `yyyy-MM-dd` (`-m date`) |
|
|
183
186
|
| `-dr` | `--daysrelative` | days back from `-df` (`-m relativedate`) |
|
|
184
187
|
| `-mr` | `--monthsrelative` | months back from `-df` (`-m monthbydate`) |
|
|
185
188
|
| `-rm` | `--removeexisting` | `Yes`: clear the output directory before exporting |
|
|
186
189
|
| `-j` | `--job` | run one job.ini section — see section 5 |
|
|
187
190
|
| `-jf` | `--jobfile` | job file path (default `./job.ini`) |
|
|
188
|
-
| `-
|
|
191
|
+
| `-p` | `--parallel` | run ALL job sections in parallel with N workers (default: CPU count); `-pl` still works as a legacy alias |
|
|
189
192
|
| `-n` | `--name` | job name shown in logs and the default log filename |
|
|
190
193
|
| `-cf` | `--configfile` | config file path (default `./config.ini`) |
|
|
191
194
|
| `-lf` | `--logfile` | log file path |
|
|
@@ -225,7 +228,8 @@ daily/
|
|
|
225
228
|
└── sales_2026-01-05.csv
|
|
226
229
|
```
|
|
227
230
|
|
|
228
|
-
**`relativedate` — N days back from an anchor date, anchor included
|
|
231
|
+
**`relativedate` — N days back from an anchor date, anchor included
|
|
232
|
+
(omit `-df` to anchor on today):**
|
|
229
233
|
|
|
230
234
|
```bash
|
|
231
235
|
ping-dataexport -s DB01 -q "SELECT * FROM sales" -m relativedate -col txn_date \
|
|
@@ -240,7 +244,7 @@ rel/
|
|
|
240
244
|
```
|
|
241
245
|
|
|
242
246
|
**`monthbydate` — N months back plus the anchor month (the anchor month stops
|
|
243
|
-
at the anchor date):**
|
|
247
|
+
at the anchor date; omit `-df` to anchor on today):**
|
|
244
248
|
|
|
245
249
|
```bash
|
|
246
250
|
ping-dataexport -s DB01 -q "SELECT * FROM sales" -m monthbydate -col txn_date \
|
|
@@ -295,7 +299,7 @@ file — see *Output and logs* below):
|
|
|
295
299
|
|
|
296
300
|
Put recurring exports in a job file so you never retype long commands. Each
|
|
297
301
|
`[Section]` is **one job**: run one with `-j SectionName`, or all of them at
|
|
298
|
-
once with `-
|
|
302
|
+
once with `-p`. Every key is simply a CLI option written as a config key:
|
|
299
303
|
|
|
300
304
|
```ini
|
|
301
305
|
[DailySales]
|
|
@@ -319,7 +323,7 @@ Output=out/full_dump.parquet
|
|
|
319
323
|
```bash
|
|
320
324
|
ping-dataexport -j DailySales # one section (job.ini by default, -jf elsewhere)
|
|
321
325
|
ping-dataexport -j DailySales -od other_dir # CLI options override the section
|
|
322
|
-
ping-dataexport -
|
|
326
|
+
ping-dataexport -p 4 # ALL sections in parallel, 4 workers
|
|
323
327
|
```
|
|
324
328
|
|
|
325
329
|
Every job.ini key and the CLI option it mirrors (keys are case-insensitive):
|
|
@@ -381,7 +385,7 @@ only, no metadata lookups.
|
|
|
381
385
|
- Every run logs structured lines to stdout and to a log file:
|
|
382
386
|
`-lf path` > `LogFile=` in config.ini > default
|
|
383
387
|
`{ExportFolder}/logs/log_{jobname}.txt`.
|
|
384
|
-
- CLI exit codes: `0` success, `1` failure (in `-
|
|
388
|
+
- CLI exit codes: `0` success, `1` failure (in `-p` parallel mode: `1` if any
|
|
385
389
|
job failed).
|
|
386
390
|
|
|
387
391
|
## ODBC prerequisites (ODBC sources only)
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
## PING (ping-godhand)'s Universal Data Exporter
|
|
4
4
|
|
|
5
|
+
> **Provided as-is. No support, no warranty, no roadmap commitments, use at
|
|
6
|
+
> your own risk.**
|
|
7
|
+
|
|
5
8
|
## คำอธิบาย (ภาษาไทย)
|
|
6
9
|
|
|
7
10
|
โปรแกรมช่วย Export ข้อมูลอย่างง่าย: เชื่อมต่อฐานข้อมูล รันคำสั่ง SQL
|
|
@@ -149,14 +152,14 @@ All options:
|
|
|
149
152
|
| `-m` | `--mode` | export mode: `groupby` \| `date` \| `relativedate` \| `monthbydate` \| `splitrow` \| `watermark` — see section 4 |
|
|
150
153
|
| `-col` | `--column` | column the mode partitions on |
|
|
151
154
|
| `-row` | `--row` | rows per file (`-m splitrow`) |
|
|
152
|
-
| `-df` | `--datefrom` | start / anchor date `yyyy-MM-dd` |
|
|
155
|
+
| `-df` | `--datefrom` | start / anchor date `yyyy-MM-dd`; omitted with `-dr`/`-mr` ⇒ today (system date) |
|
|
153
156
|
| `-dt` | `--dateto` | end date `yyyy-MM-dd` (`-m date`) |
|
|
154
157
|
| `-dr` | `--daysrelative` | days back from `-df` (`-m relativedate`) |
|
|
155
158
|
| `-mr` | `--monthsrelative` | months back from `-df` (`-m monthbydate`) |
|
|
156
159
|
| `-rm` | `--removeexisting` | `Yes`: clear the output directory before exporting |
|
|
157
160
|
| `-j` | `--job` | run one job.ini section — see section 5 |
|
|
158
161
|
| `-jf` | `--jobfile` | job file path (default `./job.ini`) |
|
|
159
|
-
| `-
|
|
162
|
+
| `-p` | `--parallel` | run ALL job sections in parallel with N workers (default: CPU count); `-pl` still works as a legacy alias |
|
|
160
163
|
| `-n` | `--name` | job name shown in logs and the default log filename |
|
|
161
164
|
| `-cf` | `--configfile` | config file path (default `./config.ini`) |
|
|
162
165
|
| `-lf` | `--logfile` | log file path |
|
|
@@ -196,7 +199,8 @@ daily/
|
|
|
196
199
|
└── sales_2026-01-05.csv
|
|
197
200
|
```
|
|
198
201
|
|
|
199
|
-
**`relativedate` — N days back from an anchor date, anchor included
|
|
202
|
+
**`relativedate` — N days back from an anchor date, anchor included
|
|
203
|
+
(omit `-df` to anchor on today):**
|
|
200
204
|
|
|
201
205
|
```bash
|
|
202
206
|
ping-dataexport -s DB01 -q "SELECT * FROM sales" -m relativedate -col txn_date \
|
|
@@ -211,7 +215,7 @@ rel/
|
|
|
211
215
|
```
|
|
212
216
|
|
|
213
217
|
**`monthbydate` — N months back plus the anchor month (the anchor month stops
|
|
214
|
-
at the anchor date):**
|
|
218
|
+
at the anchor date; omit `-df` to anchor on today):**
|
|
215
219
|
|
|
216
220
|
```bash
|
|
217
221
|
ping-dataexport -s DB01 -q "SELECT * FROM sales" -m monthbydate -col txn_date \
|
|
@@ -266,7 +270,7 @@ file — see *Output and logs* below):
|
|
|
266
270
|
|
|
267
271
|
Put recurring exports in a job file so you never retype long commands. Each
|
|
268
272
|
`[Section]` is **one job**: run one with `-j SectionName`, or all of them at
|
|
269
|
-
once with `-
|
|
273
|
+
once with `-p`. Every key is simply a CLI option written as a config key:
|
|
270
274
|
|
|
271
275
|
```ini
|
|
272
276
|
[DailySales]
|
|
@@ -290,7 +294,7 @@ Output=out/full_dump.parquet
|
|
|
290
294
|
```bash
|
|
291
295
|
ping-dataexport -j DailySales # one section (job.ini by default, -jf elsewhere)
|
|
292
296
|
ping-dataexport -j DailySales -od other_dir # CLI options override the section
|
|
293
|
-
ping-dataexport -
|
|
297
|
+
ping-dataexport -p 4 # ALL sections in parallel, 4 workers
|
|
294
298
|
```
|
|
295
299
|
|
|
296
300
|
Every job.ini key and the CLI option it mirrors (keys are case-insensitive):
|
|
@@ -352,7 +356,7 @@ only, no metadata lookups.
|
|
|
352
356
|
- Every run logs structured lines to stdout and to a log file:
|
|
353
357
|
`-lf path` > `LogFile=` in config.ini > default
|
|
354
358
|
`{ExportFolder}/logs/log_{jobname}.txt`.
|
|
355
|
-
- CLI exit codes: `0` success, `1` failure (in `-
|
|
359
|
+
- CLI exit codes: `0` success, `1` failure (in `-p` parallel mode: `1` if any
|
|
356
360
|
job failed).
|
|
357
361
|
|
|
358
362
|
## ODBC prerequisites (ODBC sources only)
|
|
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ping-dataexport"
|
|
7
|
-
version = "0.2.
|
|
8
|
-
description = "
|
|
7
|
+
version = "0.2.2"
|
|
8
|
+
description = "PING's Data Export Tool - To Parquet/CSV/TEXT as Accelerator for Data & AI Project"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "Apache-2.0"
|
|
11
11
|
license-files = ["LICENSE"]
|
|
@@ -91,7 +91,7 @@ def build_parser() -> argparse.ArgumentParser:
|
|
|
91
91
|
p.add_argument("-lf", "--logfile", help="log file path")
|
|
92
92
|
p.add_argument("-t", "--test", action="store_true", default=False,
|
|
93
93
|
help="test mode: preview only, no files")
|
|
94
|
-
p.add_argument("-pl", "--parallel", nargs="?", const=0, type=int, metavar="N",
|
|
94
|
+
p.add_argument("-p", "-pl", "--parallel", nargs="?", const=0, type=int, metavar="N",
|
|
95
95
|
help="run ALL job sections in parallel with N workers (default: CPU count)")
|
|
96
96
|
return p
|
|
97
97
|
|
|
@@ -169,8 +169,8 @@ class JobSpecBuilder:
|
|
|
169
169
|
|
|
170
170
|
datefrom = parse_strict_date(datefrom_v, what="--datefrom") if datefrom_v else None
|
|
171
171
|
dateto = parse_strict_date(dateto_v, what="--dateto") if dateto_v else None
|
|
172
|
-
if mode
|
|
173
|
-
datefrom = self.today # anchor
|
|
172
|
+
if mode in ("relativedate", "monthbydate") and datefrom is None:
|
|
173
|
+
datefrom = self.today # -dr/-mr without -df: anchor = current system date
|
|
174
174
|
|
|
175
175
|
output = layered("output")
|
|
176
176
|
outputdir = layered("outputdir")
|
|
@@ -45,7 +45,8 @@ class JobValidator:
|
|
|
45
45
|
e(spec, f"--datefrom {spec.datefrom} is after --dateto {spec.dateto}")
|
|
46
46
|
if spec.mode == "relativedate":
|
|
47
47
|
if not spec.datefrom or spec.daysrelative is None:
|
|
48
|
-
e(spec, "--mode relativedate requires --
|
|
48
|
+
e(spec, "--mode relativedate requires --daysrelative "
|
|
49
|
+
"(--datefrom defaults to today when omitted)")
|
|
49
50
|
if spec.daysrelative < 0:
|
|
50
51
|
e(spec, "--daysrelative must be >= 0")
|
|
51
52
|
if spec.mode == "monthbydate":
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ping-dataexport
|
|
3
|
-
Version: 0.2.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 0.2.2
|
|
4
|
+
Summary: PING's Data Export Tool - To Parquet/CSV/TEXT as Accelerator for Data & AI Project
|
|
5
5
|
Author: vorapol
|
|
6
6
|
License-Expression: Apache-2.0
|
|
7
7
|
Keywords: export,database,csv,parquet,etl,data-platform,airflow
|
|
@@ -31,6 +31,9 @@ Dynamic: license-file
|
|
|
31
31
|
|
|
32
32
|
## PING (ping-godhand)'s Universal Data Exporter
|
|
33
33
|
|
|
34
|
+
> **Provided as-is. No support, no warranty, no roadmap commitments, use at
|
|
35
|
+
> your own risk.**
|
|
36
|
+
|
|
34
37
|
## คำอธิบาย (ภาษาไทย)
|
|
35
38
|
|
|
36
39
|
โปรแกรมช่วย Export ข้อมูลอย่างง่าย: เชื่อมต่อฐานข้อมูล รันคำสั่ง SQL
|
|
@@ -178,14 +181,14 @@ All options:
|
|
|
178
181
|
| `-m` | `--mode` | export mode: `groupby` \| `date` \| `relativedate` \| `monthbydate` \| `splitrow` \| `watermark` — see section 4 |
|
|
179
182
|
| `-col` | `--column` | column the mode partitions on |
|
|
180
183
|
| `-row` | `--row` | rows per file (`-m splitrow`) |
|
|
181
|
-
| `-df` | `--datefrom` | start / anchor date `yyyy-MM-dd` |
|
|
184
|
+
| `-df` | `--datefrom` | start / anchor date `yyyy-MM-dd`; omitted with `-dr`/`-mr` ⇒ today (system date) |
|
|
182
185
|
| `-dt` | `--dateto` | end date `yyyy-MM-dd` (`-m date`) |
|
|
183
186
|
| `-dr` | `--daysrelative` | days back from `-df` (`-m relativedate`) |
|
|
184
187
|
| `-mr` | `--monthsrelative` | months back from `-df` (`-m monthbydate`) |
|
|
185
188
|
| `-rm` | `--removeexisting` | `Yes`: clear the output directory before exporting |
|
|
186
189
|
| `-j` | `--job` | run one job.ini section — see section 5 |
|
|
187
190
|
| `-jf` | `--jobfile` | job file path (default `./job.ini`) |
|
|
188
|
-
| `-
|
|
191
|
+
| `-p` | `--parallel` | run ALL job sections in parallel with N workers (default: CPU count); `-pl` still works as a legacy alias |
|
|
189
192
|
| `-n` | `--name` | job name shown in logs and the default log filename |
|
|
190
193
|
| `-cf` | `--configfile` | config file path (default `./config.ini`) |
|
|
191
194
|
| `-lf` | `--logfile` | log file path |
|
|
@@ -225,7 +228,8 @@ daily/
|
|
|
225
228
|
└── sales_2026-01-05.csv
|
|
226
229
|
```
|
|
227
230
|
|
|
228
|
-
**`relativedate` — N days back from an anchor date, anchor included
|
|
231
|
+
**`relativedate` — N days back from an anchor date, anchor included
|
|
232
|
+
(omit `-df` to anchor on today):**
|
|
229
233
|
|
|
230
234
|
```bash
|
|
231
235
|
ping-dataexport -s DB01 -q "SELECT * FROM sales" -m relativedate -col txn_date \
|
|
@@ -240,7 +244,7 @@ rel/
|
|
|
240
244
|
```
|
|
241
245
|
|
|
242
246
|
**`monthbydate` — N months back plus the anchor month (the anchor month stops
|
|
243
|
-
at the anchor date):**
|
|
247
|
+
at the anchor date; omit `-df` to anchor on today):**
|
|
244
248
|
|
|
245
249
|
```bash
|
|
246
250
|
ping-dataexport -s DB01 -q "SELECT * FROM sales" -m monthbydate -col txn_date \
|
|
@@ -295,7 +299,7 @@ file — see *Output and logs* below):
|
|
|
295
299
|
|
|
296
300
|
Put recurring exports in a job file so you never retype long commands. Each
|
|
297
301
|
`[Section]` is **one job**: run one with `-j SectionName`, or all of them at
|
|
298
|
-
once with `-
|
|
302
|
+
once with `-p`. Every key is simply a CLI option written as a config key:
|
|
299
303
|
|
|
300
304
|
```ini
|
|
301
305
|
[DailySales]
|
|
@@ -319,7 +323,7 @@ Output=out/full_dump.parquet
|
|
|
319
323
|
```bash
|
|
320
324
|
ping-dataexport -j DailySales # one section (job.ini by default, -jf elsewhere)
|
|
321
325
|
ping-dataexport -j DailySales -od other_dir # CLI options override the section
|
|
322
|
-
ping-dataexport -
|
|
326
|
+
ping-dataexport -p 4 # ALL sections in parallel, 4 workers
|
|
323
327
|
```
|
|
324
328
|
|
|
325
329
|
Every job.ini key and the CLI option it mirrors (keys are case-insensitive):
|
|
@@ -381,7 +385,7 @@ only, no metadata lookups.
|
|
|
381
385
|
- Every run logs structured lines to stdout and to a log file:
|
|
382
386
|
`-lf path` > `LogFile=` in config.ini > default
|
|
383
387
|
`{ExportFolder}/logs/log_{jobname}.txt`.
|
|
384
|
-
- CLI exit codes: `0` success, `1` failure (in `-
|
|
388
|
+
- CLI exit codes: `0` success, `1` failure (in `-p` parallel mode: `1` if any
|
|
385
389
|
job failed).
|
|
386
390
|
|
|
387
391
|
## ODBC prerequisites (ODBC sources only)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{ping_dataexport-0.2.0 → ping_dataexport-0.2.2}/src/ping_dataexport.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|