etlplus 0.16.0__py3-none-any.whl → 0.16.7__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.
- etlplus/README.md +24 -2
- etlplus/__init__.py +2 -0
- etlplus/api/__init__.py +14 -14
- etlplus/api/auth.py +9 -6
- etlplus/api/config.py +6 -6
- etlplus/api/endpoint_client.py +16 -16
- etlplus/api/enums.py +2 -2
- etlplus/api/errors.py +4 -4
- etlplus/api/pagination/__init__.py +6 -6
- etlplus/api/pagination/config.py +11 -9
- etlplus/api/rate_limiting/__init__.py +2 -2
- etlplus/api/rate_limiting/config.py +10 -10
- etlplus/api/rate_limiting/rate_limiter.py +2 -2
- etlplus/api/request_manager.py +4 -4
- etlplus/api/retry_manager.py +6 -6
- etlplus/api/transport.py +10 -10
- etlplus/api/types.py +47 -26
- etlplus/api/utils.py +49 -49
- etlplus/cli/README.md +9 -7
- etlplus/cli/commands.py +22 -22
- etlplus/cli/handlers.py +12 -13
- etlplus/cli/main.py +1 -1
- etlplus/{workflow/pipeline.py → config.py} +54 -91
- etlplus/connector/__init__.py +6 -6
- etlplus/connector/api.py +7 -7
- etlplus/connector/database.py +3 -3
- etlplus/connector/file.py +3 -3
- etlplus/connector/types.py +2 -2
- etlplus/database/README.md +7 -7
- etlplus/enums.py +35 -167
- etlplus/file/README.md +7 -5
- etlplus/file/accdb.py +2 -1
- etlplus/file/arrow.py +2 -1
- etlplus/file/bson.py +2 -1
- etlplus/file/cbor.py +2 -1
- etlplus/file/cfg.py +1 -1
- etlplus/file/conf.py +1 -1
- etlplus/file/dat.py +1 -1
- etlplus/file/dta.py +1 -1
- etlplus/file/duckdb.py +2 -1
- etlplus/file/enums.py +1 -1
- etlplus/file/fwf.py +2 -1
- etlplus/file/hbs.py +2 -1
- etlplus/file/hdf5.py +2 -1
- etlplus/file/ini.py +2 -1
- etlplus/file/ion.py +1 -1
- etlplus/file/jinja2.py +2 -1
- etlplus/file/log.py +1 -1
- etlplus/file/mat.py +1 -1
- etlplus/file/mdb.py +2 -1
- etlplus/file/msgpack.py +2 -1
- etlplus/file/mustache.py +2 -1
- etlplus/file/nc.py +1 -1
- etlplus/file/numbers.py +2 -1
- etlplus/file/ods.py +2 -1
- etlplus/file/pb.py +2 -1
- etlplus/file/pbf.py +2 -1
- etlplus/file/properties.py +2 -1
- etlplus/file/proto.py +2 -1
- etlplus/file/psv.py +2 -1
- etlplus/file/rda.py +2 -1
- etlplus/file/rds.py +1 -1
- etlplus/file/sas7bdat.py +2 -1
- etlplus/file/sav.py +1 -1
- etlplus/file/sqlite.py +2 -1
- etlplus/file/sylk.py +2 -1
- etlplus/file/tab.py +2 -1
- etlplus/file/toml.py +2 -1
- etlplus/file/vm.py +2 -1
- etlplus/file/wks.py +2 -1
- etlplus/file/xls.py +1 -1
- etlplus/file/xlsm.py +2 -2
- etlplus/file/xpt.py +2 -1
- etlplus/file/zsav.py +2 -1
- etlplus/ops/README.md +10 -9
- etlplus/ops/__init__.py +1 -0
- etlplus/ops/enums.py +173 -0
- etlplus/ops/extract.py +209 -22
- etlplus/ops/load.py +140 -34
- etlplus/ops/run.py +88 -103
- etlplus/ops/transform.py +46 -27
- etlplus/ops/types.py +147 -0
- etlplus/ops/utils.py +5 -5
- etlplus/ops/validate.py +13 -13
- etlplus/templates/README.md +11 -9
- etlplus/types.py +5 -102
- etlplus/workflow/README.md +0 -24
- etlplus/workflow/__init__.py +2 -4
- etlplus/workflow/dag.py +23 -1
- etlplus/workflow/jobs.py +15 -28
- etlplus/workflow/profile.py +4 -2
- {etlplus-0.16.0.dist-info → etlplus-0.16.7.dist-info}/METADATA +32 -28
- etlplus-0.16.7.dist-info/RECORD +143 -0
- etlplus-0.16.0.dist-info/RECORD +0 -141
- {etlplus-0.16.0.dist-info → etlplus-0.16.7.dist-info}/WHEEL +0 -0
- {etlplus-0.16.0.dist-info → etlplus-0.16.7.dist-info}/entry_points.txt +0 -0
- {etlplus-0.16.0.dist-info → etlplus-0.16.7.dist-info}/licenses/LICENSE +0 -0
- {etlplus-0.16.0.dist-info → etlplus-0.16.7.dist-info}/top_level.txt +0 -0
etlplus/workflow/profile.py
CHANGED
|
@@ -18,6 +18,7 @@ from typing import Self
|
|
|
18
18
|
|
|
19
19
|
from ..types import StrAnyMap
|
|
20
20
|
from ..utils import cast_str_dict
|
|
21
|
+
from ..utils import maybe_mapping
|
|
21
22
|
|
|
22
23
|
# SECTION: EXPORTS ========================================================== #
|
|
23
24
|
|
|
@@ -56,7 +57,8 @@ class ProfileConfig:
|
|
|
56
57
|
cls,
|
|
57
58
|
obj: StrAnyMap | None,
|
|
58
59
|
) -> Self:
|
|
59
|
-
"""
|
|
60
|
+
"""
|
|
61
|
+
Parse a mapping into a :class:`ProfileConfig` instance.
|
|
60
62
|
|
|
61
63
|
Parameters
|
|
62
64
|
----------
|
|
@@ -73,7 +75,7 @@ class ProfileConfig:
|
|
|
73
75
|
return cls()
|
|
74
76
|
|
|
75
77
|
# Coerce all env values to strings using shared helper.
|
|
76
|
-
env = cast_str_dict(obj.get('env'))
|
|
78
|
+
env = cast_str_dict(maybe_mapping(obj.get('env')))
|
|
77
79
|
|
|
78
80
|
return cls(
|
|
79
81
|
default_target=obj.get('default_target'),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: etlplus
|
|
3
|
-
Version: 0.16.
|
|
3
|
+
Version: 0.16.7
|
|
4
4
|
Summary: A Swiss Army knife for simple ETL operations
|
|
5
5
|
Home-page: https://github.com/Dagitali/ETLPlus
|
|
6
6
|
Author: ETLPlus Team
|
|
@@ -141,7 +141,7 @@ ETLPlus supports Python 3.13 and above.
|
|
|
141
141
|
|
|
142
142
|
- **Extract** data from multiple sources:
|
|
143
143
|
- Files (CSV, JSON, XML, YAML)
|
|
144
|
-
- Databases (connection string support)
|
|
144
|
+
- Databases (connection string support; extract is a placeholder today)
|
|
145
145
|
- REST APIs (GET)
|
|
146
146
|
|
|
147
147
|
- **Validate** data with flexible rules:
|
|
@@ -161,7 +161,7 @@ ETLPlus supports Python 3.13 and above.
|
|
|
161
161
|
|
|
162
162
|
- **Load** data to multiple targets:
|
|
163
163
|
- Files (CSV, JSON, XML, YAML)
|
|
164
|
-
- Databases (connection string support)
|
|
164
|
+
- Databases (connection string support; load is a placeholder today)
|
|
165
165
|
- REST APIs (PATCH, POST, PUT)
|
|
166
166
|
|
|
167
167
|
## Installation
|
|
@@ -188,7 +188,7 @@ etlplus --help
|
|
|
188
188
|
etlplus --version
|
|
189
189
|
|
|
190
190
|
# One-liner: extract CSV, filter, select, and write JSON
|
|
191
|
-
etlplus extract
|
|
191
|
+
etlplus extract examples/data/sample.csv \
|
|
192
192
|
| etlplus transform --operations '{"filter": {"field": "age", "op": "gt", "value": 25}, "select": ["name", "email"]}' \
|
|
193
193
|
- temp/sample_output.json
|
|
194
194
|
```
|
|
@@ -218,8 +218,9 @@ include GET for extract and PATCH/POST/PUT for load.
|
|
|
218
218
|
|
|
219
219
|
### Databases (`database`)
|
|
220
220
|
|
|
221
|
-
Database connectors use connection strings for extraction and loading, and
|
|
222
|
-
|
|
221
|
+
Database connectors use connection strings for extraction and loading, and DDL can be rendered from
|
|
222
|
+
table specs for migrations or schema checks. Database extract/load operations are currently
|
|
223
|
+
placeholders; plan to integrate a database client in your runner.
|
|
223
224
|
|
|
224
225
|
### Files (`file`)
|
|
225
226
|
|
|
@@ -298,7 +299,7 @@ Recognized file formats are listed in the tables below. Support for reading to o
|
|
|
298
299
|
| `numbers` | N | N | Apple Numbers |
|
|
299
300
|
| `ods` | N | N | OpenDocument |
|
|
300
301
|
| `wks` | N | N | Lotus 1-2-3 |
|
|
301
|
-
| `xls` | Y |
|
|
302
|
+
| `xls` | Y | N | Microsoft Excel (BIFF; read-only) |
|
|
302
303
|
| `xlsm` | N | N | Microsoft Excel Macro-Enabled (Open XML) |
|
|
303
304
|
| `xlsx` | Y | Y | Microsoft Excel (Open XML) |
|
|
304
305
|
|
|
@@ -320,8 +321,8 @@ Recognized file formats are listed in the tables below. Support for reading to o
|
|
|
320
321
|
|
|
321
322
|
#### Logs and Event Streams
|
|
322
323
|
|
|
323
|
-
| Format |
|
|
324
|
-
| --- | --- | --- |
|
|
324
|
+
| Format | Read | Write | Description |
|
|
325
|
+
| --- | --- | --- | --- |
|
|
325
326
|
| `log` | N | N | Generic log file |
|
|
326
327
|
|
|
327
328
|
#### Data Archives
|
|
@@ -354,13 +355,15 @@ etlplus --help
|
|
|
354
355
|
etlplus --version
|
|
355
356
|
```
|
|
356
357
|
|
|
357
|
-
The CLI is implemented with Typer (Click-based).
|
|
358
|
-
on the documented commands/flags and run `etlplus <command>
|
|
358
|
+
The CLI is implemented with Typer (Click-based). The legacy argparse parser has been removed
|
|
359
|
+
(`create_parser` now raises), so rely on the documented commands/flags and run `etlplus <command>
|
|
360
|
+
--help` for current options.
|
|
359
361
|
|
|
360
362
|
**Example error messages:**
|
|
361
363
|
|
|
362
364
|
- If you omit a required argument: `Error: Missing required argument 'SOURCE'.`
|
|
363
|
-
- If you place an option before its argument: `Error: Option '--source-format' must follow the
|
|
365
|
+
- If you place an option before its argument: `Error: Option '--source-format' must follow the
|
|
366
|
+
'SOURCE' argument.`
|
|
364
367
|
|
|
365
368
|
#### Argument Order and Required Options
|
|
366
369
|
|
|
@@ -424,27 +427,27 @@ specific parser.
|
|
|
424
427
|
|
|
425
428
|
Extract from JSON file:
|
|
426
429
|
```bash
|
|
427
|
-
etlplus extract
|
|
430
|
+
etlplus extract examples/data/sample.json
|
|
428
431
|
```
|
|
429
432
|
|
|
430
433
|
Extract from CSV file:
|
|
431
434
|
```bash
|
|
432
|
-
etlplus extract
|
|
435
|
+
etlplus extract examples/data/sample.csv
|
|
433
436
|
```
|
|
434
437
|
|
|
435
438
|
Extract from XML file:
|
|
436
439
|
```bash
|
|
437
|
-
etlplus extract
|
|
440
|
+
etlplus extract examples/data/sample.xml
|
|
438
441
|
```
|
|
439
442
|
|
|
440
443
|
Extract from REST API:
|
|
441
444
|
```bash
|
|
442
|
-
etlplus extract
|
|
445
|
+
etlplus extract https://api.example.com/data
|
|
443
446
|
```
|
|
444
447
|
|
|
445
448
|
Save extracted data to file:
|
|
446
449
|
```bash
|
|
447
|
-
etlplus extract
|
|
450
|
+
etlplus extract examples/data/sample.csv > temp/sample_output.json
|
|
448
451
|
```
|
|
449
452
|
|
|
450
453
|
#### Validate Data
|
|
@@ -510,13 +513,13 @@ etlplus transform \
|
|
|
510
513
|
|
|
511
514
|
Load to JSON file:
|
|
512
515
|
```bash
|
|
513
|
-
etlplus extract
|
|
516
|
+
etlplus extract examples/data/sample.json \
|
|
514
517
|
| etlplus load temp/sample_output.json --target-type file
|
|
515
518
|
```
|
|
516
519
|
|
|
517
520
|
Load to CSV file:
|
|
518
521
|
```bash
|
|
519
|
-
etlplus extract
|
|
522
|
+
etlplus extract examples/data/sample.csv \
|
|
520
523
|
| etlplus load temp/sample_output.csv --target-type file
|
|
521
524
|
```
|
|
522
525
|
|
|
@@ -553,13 +556,13 @@ operations = {
|
|
|
553
556
|
transformed = transform(data, operations)
|
|
554
557
|
|
|
555
558
|
# Load data
|
|
556
|
-
load(transformed, "file", "temp/sample_output.json",
|
|
559
|
+
load(transformed, "file", "temp/sample_output.json", file_format="json")
|
|
557
560
|
```
|
|
558
561
|
|
|
559
562
|
For YAML-driven pipelines executed end-to-end (extract → validate → transform → load), see:
|
|
560
563
|
|
|
561
564
|
- Authoring: [`docs/pipeline-guide.md`](docs/pipeline-guide.md)
|
|
562
|
-
- Runner API and internals:
|
|
565
|
+
- Runner API and internals: see `etlplus.ops.run` docstrings and `docs/pipeline-guide.md`.
|
|
563
566
|
|
|
564
567
|
CLI quick reference for pipelines:
|
|
565
568
|
|
|
@@ -576,7 +579,7 @@ etlplus run --config examples/configs/pipeline.yml --job file_to_file_customers
|
|
|
576
579
|
|
|
577
580
|
```bash
|
|
578
581
|
# 1. Extract from CSV
|
|
579
|
-
etlplus extract
|
|
582
|
+
etlplus extract examples/data/sample.csv > temp/sample_extracted.json
|
|
580
583
|
|
|
581
584
|
# 2. Transform (filter and select fields)
|
|
582
585
|
etlplus transform \
|
|
@@ -611,7 +614,7 @@ etlplus load output.bin --target-type file --target-format csv < data.json
|
|
|
611
614
|
|
|
612
615
|
# Leave the flags off when extensions already match the desired format
|
|
613
616
|
etlplus extract data.csv --source-type file
|
|
614
|
-
etlplus load
|
|
617
|
+
etlplus load output.json --target-type file < data.json
|
|
615
618
|
```
|
|
616
619
|
|
|
617
620
|
## Transformation Operations
|
|
@@ -706,8 +709,9 @@ Looking for the HTTP client and pagination helpers? See the dedicated docs in
|
|
|
706
709
|
|
|
707
710
|
Curious how the pipeline runner composes API requests, pagination, and load calls?
|
|
708
711
|
|
|
709
|
-
- Runner overview and helpers:
|
|
710
|
-
-
|
|
712
|
+
- Runner overview and helpers: see `etlplus.ops.run` docstrings and
|
|
713
|
+
[`docs/pipeline-guide.md`](docs/pipeline-guide.md)
|
|
714
|
+
- Unified "connector" vocabulary (API/File/DB): `etlplus/connector`
|
|
711
715
|
- API/file targets reuse the same shapes as sources; API targets typically set a `method`.
|
|
712
716
|
|
|
713
717
|
### Running Tests
|
|
@@ -721,7 +725,7 @@ pytest tests/ -v
|
|
|
721
725
|
We split tests into two layers:
|
|
722
726
|
|
|
723
727
|
- **Unit (`tests/unit/`)**: single function or class, no real I/O, fast, uses stubs/monkeypatch
|
|
724
|
-
(e.g.
|
|
728
|
+
(e.g. small helpers in `etlplus.utils`, transform + validate helpers).
|
|
725
729
|
- **Integration (`tests/integration/`)**: end-to-end flows (CLI `main()`, pipeline `run()`,
|
|
726
730
|
pagination + rate limit defaults, file/API connector interactions) may touch temp files and use
|
|
727
731
|
fake clients.
|
|
@@ -808,7 +812,7 @@ Navigate to detailed documentation for each subpackage:
|
|
|
808
812
|
- [etlplus.cli](etlplus/cli/README.md): Command-line interface definitions for `etlplus`
|
|
809
813
|
- [etlplus.database](etlplus/database/README.md): Database engine, schema, and ORM helpers
|
|
810
814
|
- [etlplus.templates](etlplus/templates/README.md): SQL and DDL template helpers
|
|
811
|
-
- [etlplus.
|
|
815
|
+
- [etlplus.ops](etlplus/ops/README.md): Extract/validate/transform/load primitives
|
|
812
816
|
- [etlplus.workflow](etlplus/workflow/README.md): Helpers for data connectors, pipelines, jobs, and
|
|
813
817
|
profiles
|
|
814
818
|
|
|
@@ -824,7 +828,7 @@ Navigate to detailed documentation for each subpackage:
|
|
|
824
828
|
- API client docs: [`etlplus/api/README.md`](etlplus/api/README.md)
|
|
825
829
|
- Examples: [`examples/README.md`](examples/README.md)
|
|
826
830
|
- Pipeline authoring guide: [`docs/pipeline-guide.md`](docs/pipeline-guide.md)
|
|
827
|
-
- Runner internals: [`docs/
|
|
831
|
+
- Runner internals: see `etlplus.ops.run` docstrings and [`docs/pipeline-guide.md`](docs/pipeline-guide.md)
|
|
828
832
|
- Design notes (Mapping inputs, dict outputs): [`docs/pipeline-guide.md#design-notes-mapping-inputs-dict-outputs`](docs/pipeline-guide.md#design-notes-mapping-inputs-dict-outputs)
|
|
829
833
|
- Typing philosophy: [`CONTRIBUTING.md#typing-philosophy`](CONTRIBUTING.md#typing-philosophy)
|
|
830
834
|
- Demo and walkthrough: [`DEMO.md`](DEMO.md)
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
etlplus/README.md,sha256=0q3QrboL0YCP1idUVRTw5IKDV2XPBCh44lLb-JUZBFw,1852
|
|
2
|
+
etlplus/__init__.py,sha256=yHZt-sjjfPjB_CrNhcT9bcMlZCfwiul39ZhQ2VfxpRs,318
|
|
3
|
+
etlplus/__main__.py,sha256=btoROneNiigyfBU7BSzPKZ1R9gzBMpxcpsbPwmuHwTM,479
|
|
4
|
+
etlplus/__version__.py,sha256=1E0GMK_yUWCMQFKxXjTvyMwofi0qT2k4CDNiHWiymWE,327
|
|
5
|
+
etlplus/config.py,sha256=6BCI9hC1yWYAy5WclIHJlg90FYeWn5vAVrT1NWUTwpE,8817
|
|
6
|
+
etlplus/enums.py,sha256=MfQhy3XDpN7oqLrF7_WwZojl7n8cW3RAzsZGRnAbWgc,4073
|
|
7
|
+
etlplus/mixins.py,sha256=ifGpHwWv7U00yqGf-kN93vJax2IiK4jaGtTsPsO3Oak,1350
|
|
8
|
+
etlplus/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
+
etlplus/types.py,sha256=Op2H1dcmv0Srm9prFnBZjt7f1S4Mqrus7XrdsjoZkIM,3461
|
|
10
|
+
etlplus/utils.py,sha256=X-k_Y8i6oDjlE5aQu9sw3gPw7O2ikiSn4uoheVv_ERc,17091
|
|
11
|
+
etlplus/api/README.md,sha256=amxS_eIcsnNuVvD0x_w8nkyfedOTYbhlY0gGhaFg0DE,8705
|
|
12
|
+
etlplus/api/__init__.py,sha256=eIHkdNBZv6ViB_5MhW3f3vWMYJLFoF4Tr3Wnb3O7B4E,4647
|
|
13
|
+
etlplus/api/auth.py,sha256=PZEJIBwLwnUGfF76s32a5GnLcpDvu4ghEd-wEAHx4rU,12260
|
|
14
|
+
etlplus/api/config.py,sha256=WmH1GOQxoBAr3vUsmYIyMbXSt7kiyNbtKjyMS1dqt-A,17653
|
|
15
|
+
etlplus/api/endpoint_client.py,sha256=UtvK4h_-fxINM-5QcumkcLJsL0Uw4L0L_4RMxC024Yk,30737
|
|
16
|
+
etlplus/api/enums.py,sha256=YaeFbsmiP1uZIhRBxFjqFRyCDiVvE5KVWNtbWRUXkkQ,1142
|
|
17
|
+
etlplus/api/errors.py,sha256=8LuZfExUpZ67PPqPr6SdAmFA-wc0ocw4JHoBYyEcg0s,4664
|
|
18
|
+
etlplus/api/request_manager.py,sha256=K3tlRFflUM-_S-optnHzJx_AWcbd0ZQGVX_NytkN4zg,18690
|
|
19
|
+
etlplus/api/retry_manager.py,sha256=RV5xkmbExNHF_b-IN5RWx2wawiJzeklc9miGXPQb7U4,11326
|
|
20
|
+
etlplus/api/transport.py,sha256=f9hgtlnz5fFUsMYWdwAkSsdULJSv-276ekP8u_k3e4Y,9448
|
|
21
|
+
etlplus/api/types.py,sha256=gxwmgPDra7OfAPjJv2Mq45axd_s4TiGAqYtMCx167UM,8008
|
|
22
|
+
etlplus/api/utils.py,sha256=cxQYV0iAbhr65_yvhSii5jhfNcVQGgdwuwO86PJVD-s,26415
|
|
23
|
+
etlplus/api/pagination/__init__.py,sha256=K76nkMnMyM81wzbKTQynq1rRv81ndEUVEuF6cmPzvKQ,1401
|
|
24
|
+
etlplus/api/pagination/client.py,sha256=yMEpWqRxTCD4zRc9OYtEyUtShpGH5atiHFEAt95v2FE,5394
|
|
25
|
+
etlplus/api/pagination/config.py,sha256=pt4yAGr03Esr1gEZg3Nm6kfBOM1FpWwf_t6XTpvBd4s,13596
|
|
26
|
+
etlplus/api/pagination/paginator.py,sha256=B0OK_0FVmUz3-lCDeKgDOqYJOoEQtjO6I5eSmK58tbY,24433
|
|
27
|
+
etlplus/api/rate_limiting/__init__.py,sha256=8VIjkW2wGjTFJjjAqOBSFKcKsBFuYndS4o33PLSo_q8,1072
|
|
28
|
+
etlplus/api/rate_limiting/config.py,sha256=U8T8BxrX87uFR-ksTG1FkmxoVr-FTaLIa0wWeXIcZss,9775
|
|
29
|
+
etlplus/api/rate_limiting/rate_limiter.py,sha256=qmOf15qvhFk2htMsGcHfgzATqOBd2BdrG8ShadfOIgY,7035
|
|
30
|
+
etlplus/cli/README.md,sha256=FKZ5KV--khWolN0CZsmcq026HPoCkVjKHBsT2k8hBBI,1444
|
|
31
|
+
etlplus/cli/__init__.py,sha256=J97-Rv931IL1_b4AXnB7Fbbd7HKnHBpx18NQfC_kE6c,299
|
|
32
|
+
etlplus/cli/commands.py,sha256=Mbnu_YYUrOumbDjkul9x5VjP8VXW5u08xNi4nLF9Yyo,25048
|
|
33
|
+
etlplus/cli/constants.py,sha256=0F7dXIQKWUhhVu2Us527GJeknJIWpBqz7CK2e5OQgcE,1947
|
|
34
|
+
etlplus/cli/handlers.py,sha256=JdN7W7mqmQL9xyU7PkBtsQf7eu3j5-E2AhAQvbfy-4g,18470
|
|
35
|
+
etlplus/cli/io.py,sha256=tGGNQ4ecezqj-mD285fgBVrYdphdeqApsyV9VojOj1I,7836
|
|
36
|
+
etlplus/cli/main.py,sha256=TwIog4jZTft86D_FEYWsNQu8XiU-MtoQFL6DNmVS_w0,5236
|
|
37
|
+
etlplus/cli/options.py,sha256=vfXT3YLh7wG1iC-aTdSg6ItMC8l6n0Lozmy53XjqLbA,1199
|
|
38
|
+
etlplus/cli/state.py,sha256=3Dq5BKct0uAvRajtc2yHbsX7wqepZOwlAMKsyvQcnqk,7918
|
|
39
|
+
etlplus/cli/types.py,sha256=tclhKVJXDqHzlTQBYKARfqMgDOcuBJ-Zej2pvFy96WM,652
|
|
40
|
+
etlplus/connector/__init__.py,sha256=C1nMuEvCnYS07kpoP91aWEg1utV1D4bO603OzveF7s0,1012
|
|
41
|
+
etlplus/connector/api.py,sha256=uXoQvOGGnZEP96H0O19nMgu7uiBfTqEFNuFl0r9oBbQ,4531
|
|
42
|
+
etlplus/connector/connector.py,sha256=OQP4kK_1O6g9FnDBrE3L58LOSfImsK5EBHtKI4N71u8,574
|
|
43
|
+
etlplus/connector/core.py,sha256=0GeXjlZFnyS-4j7jR_AtclQtELE6x-vodHJ4rfjFLL8,2795
|
|
44
|
+
etlplus/connector/database.py,sha256=Y8fzcbzucIZW64g9zkqO-M_H02CiW5lB0IDk0RynWJo,3014
|
|
45
|
+
etlplus/connector/enums.py,sha256=43NziUOpol4YvBtM13WJJzY1EAQOjaWESxLl7J2ZT8U,1069
|
|
46
|
+
etlplus/connector/file.py,sha256=AsEXUHOokP2s5NQoTazF3Skz7qMj-1FNdvRZj9LfdbM,2858
|
|
47
|
+
etlplus/connector/types.py,sha256=51UPD4edtMRiRL35ZVfbmKTodhrLUiRP5P067SZGzms,953
|
|
48
|
+
etlplus/connector/utils.py,sha256=fS2hPAfuhKTg_L2xDxF5fJnsO1SuuDIiEWU7GuaJKUM,2933
|
|
49
|
+
etlplus/database/README.md,sha256=suWTTipq1pcswlhZT_qHaOnsgPeqMjttX3MV0w40jdY,1429
|
|
50
|
+
etlplus/database/__init__.py,sha256=AKJsDl2RHuRGPS-eXgNJeh4aSncJP5Y0yLApBF6i7i8,1052
|
|
51
|
+
etlplus/database/ddl.py,sha256=-7EAbyLkU8m3eYlHSNLFOQr1I4fPEbF0hTyByzjyvsU,7909
|
|
52
|
+
etlplus/database/engine.py,sha256=eDFnp4vzhoKuyLJSeHYpndHLUr27neS7CgdvMw8mNok,4384
|
|
53
|
+
etlplus/database/orm.py,sha256=ZCHkeVEUns2eievlFzmLyVKA3YVPea1xs6vrcUBZ7Jw,10010
|
|
54
|
+
etlplus/database/schema.py,sha256=813C0Dd3WE53KTYot4dgjAxctgKXLXx-8_Rk_4r2e28,7022
|
|
55
|
+
etlplus/database/types.py,sha256=_pkQyC14TzAlgyeIqZG4F5LWYknZbHw3TW68Auk7Ya0,795
|
|
56
|
+
etlplus/file/README.md,sha256=gjmreSBxq6MS8P5njTRskcQNk2RS5eMOngAUTh68VTI,3847
|
|
57
|
+
etlplus/file/__init__.py,sha256=X03bosSM-uSd6dh3ur0un6_ozFRw2Tm4PE6kVUjtXK8,475
|
|
58
|
+
etlplus/file/_imports.py,sha256=Cozv7d5G2P9PNgy2M4vrz0Wzo7hx9FTC0WcGcuVqga0,3193
|
|
59
|
+
etlplus/file/_io.py,sha256=Z3aTujy0rpbMKJHvO2UZ6bA1ohO-6ZiemyxF4GsayRc,3951
|
|
60
|
+
etlplus/file/accdb.py,sha256=6BiYRSlmJlEFyxktQk4pcEW9nWdKL59wQ6gH5YnWAfM,1718
|
|
61
|
+
etlplus/file/arrow.py,sha256=vQxcZQvQdPLw-WdrdPORqLrKaXwrX2sjJTND2Mbz5nE,1731
|
|
62
|
+
etlplus/file/avro.py,sha256=GR9GbDNcQ7TpaPKhcC6JL79XicSmNDIhH3cP0QDmLJg,4447
|
|
63
|
+
etlplus/file/bson.py,sha256=IpR0d1JkBox6yRP-6wlS-C1Oe9VxOyj52Oo6mGDSelA,1650
|
|
64
|
+
etlplus/file/cbor.py,sha256=-6UukC1OysWcgLxO5KxRPFIMa8JON3XiYsRBEn8zqBc,1704
|
|
65
|
+
etlplus/file/cfg.py,sha256=8StrkG4b_N2My9niqQ1J8eDmCafIyg-wiDINfDbXGwk,1747
|
|
66
|
+
etlplus/file/conf.py,sha256=7GatAdy0VGmCCYL92CKBcuqIkXrgwprvnXn7i36C5pQ,1805
|
|
67
|
+
etlplus/file/core.py,sha256=IzcG4pQLq3QCQhswbgdWKxHSvmzvWzYweBrz7t6HDDo,8888
|
|
68
|
+
etlplus/file/csv.py,sha256=FTdxlVs3vsaj_t7vGY-unNiCpJI2TWuiaf2_8dJan6M,1754
|
|
69
|
+
etlplus/file/dat.py,sha256=ceUDuhFjwqJiO3I_T0pm1WmCr8_WhOB6-0mL-h0wx3k,1679
|
|
70
|
+
etlplus/file/dta.py,sha256=tmbhF2F5wRCoJk3nMEj4dvXzWAD-tnuNOBQL9KxIB9o,1653
|
|
71
|
+
etlplus/file/duckdb.py,sha256=lzE3Ik9gk07-YkpxwB7XY7WAJhzeiOPtjAnviINs6Jo,1668
|
|
72
|
+
etlplus/file/enums.py,sha256=48Hb0Pgt-eDC29EQK5A9kCydQtJ1aZXD7g-q0WCiCfM,11086
|
|
73
|
+
etlplus/file/feather.py,sha256=joOdQf_oIu__i8hwy5X4eK6MSqh6O0kKnub2VWD_Clg,2679
|
|
74
|
+
etlplus/file/fwf.py,sha256=uI6mjpGL0wPyiYe39j--G_6HoXEbe1yWkbyk1jRCc0c,1626
|
|
75
|
+
etlplus/file/gz.py,sha256=NfiXiE37rS2YC7dk1YC1ELbbEpzJdypIy-no9cVoaco,2641
|
|
76
|
+
etlplus/file/hbs.py,sha256=gu9dffaEJDjXvNwkBNytYexf6YJB2THB0IySua6wX8o,1651
|
|
77
|
+
etlplus/file/hdf5.py,sha256=SliDFNhG14U0Bd6BlD2IkTO_PFwo7jxeauc_FNgyOy4,1661
|
|
78
|
+
etlplus/file/ini.py,sha256=qup40MuIXwcXisw4ODnzwqjvHRTaZofLhYtaZHgAaes,1738
|
|
79
|
+
etlplus/file/ion.py,sha256=LmfU1WKHDEQMShPVW1jZU5CKPRpD0qacznx_6N_ZnfE,1747
|
|
80
|
+
etlplus/file/jinja2.py,sha256=-BDMtFks3VhUQixydBM9cNqJrQZBOa_NCoYZ4xXwgdc,1667
|
|
81
|
+
etlplus/file/json.py,sha256=vY3UYjzQzmJUAY0avR2cm70hTTED4xEF38WEEj0DhDQ,2140
|
|
82
|
+
etlplus/file/log.py,sha256=1DkPzzI2GhtYwCCBLQbCmUELuQFKJaIHpGWPYGcCMhg,1718
|
|
83
|
+
etlplus/file/mat.py,sha256=BH8jdpNc-za5Ci30rLTl0DYnFhP5w-xL_V2i7k7_YvI,1691
|
|
84
|
+
etlplus/file/mdb.py,sha256=lFqkTHmcaWNlaNkwu_qqlc7XSq82yoOBxUz_YbArfV8,1694
|
|
85
|
+
etlplus/file/msgpack.py,sha256=YU6DhPtBPULiOMHto0r_ioHqt1ILZi1OEfLye5y64-o,1695
|
|
86
|
+
etlplus/file/mustache.py,sha256=nfrmN0EZbId-3rZSvustHw3VVVO9fz03K4PILOCSklQ,1684
|
|
87
|
+
etlplus/file/nc.py,sha256=EQYwR5053a_yKNShYQ-sAWTK69goDPTrgK6F_2Puf44,1707
|
|
88
|
+
etlplus/file/ndjson.py,sha256=jpZgLZL-Vy4a6tsm5cxy0G9kW-x-X5kFSbnUn-XjIJw,2442
|
|
89
|
+
etlplus/file/numbers.py,sha256=Fo58Kshl5c489H2yYsxIMWfS0Wp3e0viUyoZfVcEcQI,1647
|
|
90
|
+
etlplus/file/ods.py,sha256=DBDJh5_O19s3XEfSgfrfX5ze5-gsIqfkdvS42D91I5E,1837
|
|
91
|
+
etlplus/file/orc.py,sha256=RdK4IERoLWnGSgpBclfDmwMmtac8VYyet3Z9AFCyj2E,2612
|
|
92
|
+
etlplus/file/parquet.py,sha256=6klk-GgNnFBbsRU0J8LiGm5c67A6FcX1AEZNf-cNSPM,2768
|
|
93
|
+
etlplus/file/pb.py,sha256=1Yb9dmU9zKT0uCSrb7towV_0l9pPUv-HKfrQEtCkBLs,1652
|
|
94
|
+
etlplus/file/pbf.py,sha256=eOGQhxgqRZ39tHAgO1ZU9J6LLQoiT6kcokujczASWJI,1657
|
|
95
|
+
etlplus/file/properties.py,sha256=DLIJNBDVhNyDZTBAui2u6KtsjSfj9-NqJ21t6QjAUaU,1755
|
|
96
|
+
etlplus/file/proto.py,sha256=cVsztidiWEMRhseZ64ODIVaWaZZwoxQgmdqtezCrB_8,1705
|
|
97
|
+
etlplus/file/psv.py,sha256=Vf99_4QXPFBQJ1Itp3p7cT1YHlgu_4eT1HQUk9_BXU8,1763
|
|
98
|
+
etlplus/file/rda.py,sha256=WCqM3vgCZa8hJYvszCenPhaflg62SuskUMC4VK4gfqs,1705
|
|
99
|
+
etlplus/file/rds.py,sha256=fVkvggU67QZniQMZQXzi-obos9xyuHwz13e62OSMfLU,1662
|
|
100
|
+
etlplus/file/sas7bdat.py,sha256=VoqHQ4BH8WEjlgl0Za6g3hfQMhNQjVxYEP5BxBAqXqc,1743
|
|
101
|
+
etlplus/file/sav.py,sha256=anStccP9vInq_44_litvWMPCGoQm-yAU0sZ0PpKsr2g,1634
|
|
102
|
+
etlplus/file/sqlite.py,sha256=nrUHC7dqwiPHsNoxRMvo7DwTiqOXxAs6TPq7HQbwdCw,1689
|
|
103
|
+
etlplus/file/stub.py,sha256=4vlqjIo_bBy69dIU2y2iy5fqnezt_bOuS218zyijQfs,1749
|
|
104
|
+
etlplus/file/sylk.py,sha256=PCs_cA5lap6taf9bK5JY50seixomrsQE0wUrsFvXEmc,1694
|
|
105
|
+
etlplus/file/tab.py,sha256=Hz7YjKP68OXwwd7EVl_U0O3WvsoPwerOddGL63p3-7Q,2021
|
|
106
|
+
etlplus/file/toml.py,sha256=KGxqNX7V3ajsqSagU8aIBxwMrbxFPAleLKiljyAcqNA,1663
|
|
107
|
+
etlplus/file/tsv.py,sha256=SUe-UeL3zExX2idvpHiMWuRm5VQ8AyqqlNJckc9CDCU,1776
|
|
108
|
+
etlplus/file/txt.py,sha256=Ys7MmKBOiHQnRK0Bb3VuIIny2_1Ejr-V_YdPlUfOEjc,2321
|
|
109
|
+
etlplus/file/vm.py,sha256=psRbD1mH5QyLNlX1txpn4eghUawdIA30aIjf-wP0szQ,1626
|
|
110
|
+
etlplus/file/wks.py,sha256=BblAhTzAXn93LK1xdkdWcYypYfZa2PxqvgVCuC_sq6w,1692
|
|
111
|
+
etlplus/file/xls.py,sha256=OK0_MZYaPWFDWbAdp-suz2wSg89px1EWT4kY2e9R3pg,1799
|
|
112
|
+
etlplus/file/xlsm.py,sha256=BDux1Tm7iccmbvtKk_X5bPET0PpF0IW9c7ympIJroEo,1775
|
|
113
|
+
etlplus/file/xlsx.py,sha256=UOwz-IIeRU2GyAI8Upx2hn7v3KPZalpIaGO9hXuaOGo,2192
|
|
114
|
+
etlplus/file/xml.py,sha256=lor8KsclDSy1tdOExL1GmYpaQVcZGRNEwOd2liiPPbk,4389
|
|
115
|
+
etlplus/file/xpt.py,sha256=9lW8ievpqF4PKPFRWH0ZlmGe7BR8TP_ETRogNQ79TOA,1739
|
|
116
|
+
etlplus/file/yaml.py,sha256=b_SxDSEQPVXQv9a9Ih4wAcI940pE5Ksy5pQE6K6ckhw,2062
|
|
117
|
+
etlplus/file/zip.py,sha256=8wnmnGW_pGTx65736CzAG67XIi5y98KxucRT8sNDeuQ,4195
|
|
118
|
+
etlplus/file/zsav.py,sha256=WasYgfogIQAvm4LWkDWgeeeyYWvY4MSoh-SrScqqBOM,1701
|
|
119
|
+
etlplus/ops/README.md,sha256=SP1yW0aATvMp_HEslSjf2Hff-At96QDkfXxh3FcDbO0,1465
|
|
120
|
+
etlplus/ops/__init__.py,sha256=r5_-pPhSLCD1nq1EbN0rQrLOGpudueeIxCH_JvT2bt0,1718
|
|
121
|
+
etlplus/ops/enums.py,sha256=dC_8CfaTiB2i83Az-oG-2hkjMuAfDADNbcMF2f94UeU,4014
|
|
122
|
+
etlplus/ops/extract.py,sha256=fPk8LLjEmCZ5U59IUm15vG5aXTmduteCqtsVIlxvvxI,11022
|
|
123
|
+
etlplus/ops/load.py,sha256=yicciVwomUKkdbhuRqbavKBNpT2Hg813BnQzG6IgF4o,10811
|
|
124
|
+
etlplus/ops/run.py,sha256=4HWelMevW0pW_76lJkoMcbzeQMiThMbxzO09wx6yoHg,11278
|
|
125
|
+
etlplus/ops/transform.py,sha256=-41uw_pwOGsMTUYxtXaeYOmTF_fTkN-L4Q9KT1OFe78,25671
|
|
126
|
+
etlplus/ops/types.py,sha256=Cvp8AJzJhJ1iYjyHd7j9ZLioxE2NdK__3g6fOI0qq6Q,4198
|
|
127
|
+
etlplus/ops/utils.py,sha256=9UXym1W4qCMxBkcqCPUmI1QJ27yh1kOAbVnI1KsAGwE,10855
|
|
128
|
+
etlplus/ops/validate.py,sha256=VtMhrH6itd_PFH4IhBOndvJpxxOPI56OAJhnrSyT_6U,13323
|
|
129
|
+
etlplus/templates/README.md,sha256=hkeFypVEhxygSB4H40BuGJmZHzs8DbpPnhGt9mvgY_c,1478
|
|
130
|
+
etlplus/templates/__init__.py,sha256=tsniN7XJYs3NwYxJ6c2HD5upHP3CDkLx-bQCMt97UOM,106
|
|
131
|
+
etlplus/templates/ddl.sql.j2,sha256=s8fMWvcb4eaJVXkifuib1aQPljtZ8buuyB_uA-ZdU3Q,4734
|
|
132
|
+
etlplus/templates/view.sql.j2,sha256=Iy8DHfhq5yyvrUKDxqp_aHIEXY4Tm6j4wT7YDEFWAhk,2180
|
|
133
|
+
etlplus/workflow/README.md,sha256=QelyVFGX-sZM9mx3v6BXkzX36hv6MI1yK4eCPSOKNwI,1050
|
|
134
|
+
etlplus/workflow/__init__.py,sha256=XgCQr684om0rONrQZ61yQ0r4qqFQL0iLAAB2Mn2BRSE,594
|
|
135
|
+
etlplus/workflow/dag.py,sha256=-f1x8N1eb-PUuiOwEvFLmJwfR7JaMDJihlCHlhrFhgE,2937
|
|
136
|
+
etlplus/workflow/jobs.py,sha256=hLE9QJUzQaI0aOEon0P-xxxa6xHp997ANei4F310WRY,8711
|
|
137
|
+
etlplus/workflow/profile.py,sha256=FQU3bzBZ9_yjKC9kCXKN1FQDS9zjNUjtWB1r3UL95_Q,1993
|
|
138
|
+
etlplus-0.16.7.dist-info/licenses/LICENSE,sha256=MuNO63i6kWmgnV2pbP2SLqP54mk1BGmu7CmbtxMmT-U,1069
|
|
139
|
+
etlplus-0.16.7.dist-info/METADATA,sha256=F2JOWX7lBq84wFev4eeGCXXsnXuOpxulCkBMjsBoxnE,28401
|
|
140
|
+
etlplus-0.16.7.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
141
|
+
etlplus-0.16.7.dist-info/entry_points.txt,sha256=6w-2-jzuPa55spzK34h-UKh2JTEShh38adFRONNP9QE,45
|
|
142
|
+
etlplus-0.16.7.dist-info/top_level.txt,sha256=aWWF-udn_sLGuHTM6W6MLh99ArS9ROkUWO8Mi8y1_2U,8
|
|
143
|
+
etlplus-0.16.7.dist-info/RECORD,,
|
etlplus-0.16.0.dist-info/RECORD
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
etlplus/README.md,sha256=JaMSomnMsHrTruDnonHqe83Rv4K0-e7Wy46tMeVoleU,1468
|
|
2
|
-
etlplus/__init__.py,sha256=mgTP4PJmRmsEjTCAizzzdtzAmhuHtarmPzphzdjvLgM,277
|
|
3
|
-
etlplus/__main__.py,sha256=btoROneNiigyfBU7BSzPKZ1R9gzBMpxcpsbPwmuHwTM,479
|
|
4
|
-
etlplus/__version__.py,sha256=1E0GMK_yUWCMQFKxXjTvyMwofi0qT2k4CDNiHWiymWE,327
|
|
5
|
-
etlplus/enums.py,sha256=8-uUOKe68cPzlmUg-e7gavkC95kbTJXRpRzvXehIsRk,6841
|
|
6
|
-
etlplus/mixins.py,sha256=ifGpHwWv7U00yqGf-kN93vJax2IiK4jaGtTsPsO3Oak,1350
|
|
7
|
-
etlplus/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
-
etlplus/types.py,sha256=vB1Sh_5771eVv8-RClJatBQ7PcsScY6C2MvJqnI8IG8,6216
|
|
9
|
-
etlplus/utils.py,sha256=X-k_Y8i6oDjlE5aQu9sw3gPw7O2ikiSn4uoheVv_ERc,17091
|
|
10
|
-
etlplus/api/README.md,sha256=amxS_eIcsnNuVvD0x_w8nkyfedOTYbhlY0gGhaFg0DE,8705
|
|
11
|
-
etlplus/api/__init__.py,sha256=PK2lQv1FbsE7ZZS_ejevFZQSuOUHGApBc22YfHAzMqA,4615
|
|
12
|
-
etlplus/api/auth.py,sha256=wgNC9WDrb-5QjI81q5jl7pQHwNNHq7lVUF7uWw2jRP0,12154
|
|
13
|
-
etlplus/api/config.py,sha256=0Exfn208ijFep3gdww2KdqPxO4NKA4FG_rcn5x5dHM4,17635
|
|
14
|
-
etlplus/api/endpoint_client.py,sha256=Nekx-8mpU41EtbOyOcW4mjmch1jyPqtHu60_rfxF0Pw,30697
|
|
15
|
-
etlplus/api/enums.py,sha256=Tvkru6V8fzQh2JM2FDLcA_yaPENOKz5JgzxLhieqEvc,1141
|
|
16
|
-
etlplus/api/errors.py,sha256=XjI2xW-sypMUNUbqfc2S57-IGyWnH3oCDFhCmKYYI_Q,4648
|
|
17
|
-
etlplus/api/request_manager.py,sha256=fhzPV5x7DqpKqoLvfDR8GKhBX_QBMtvZsRXxVnQQElY,18674
|
|
18
|
-
etlplus/api/retry_manager.py,sha256=aq9iNCxt-Puy4rAgKNtNucxw2eP1yqAKZ2lfgMkzbCk,11302
|
|
19
|
-
etlplus/api/transport.py,sha256=abm-_WieBDSSbFanBwhmudBuVVm7LjYUb8vrlMXo7SA,9408
|
|
20
|
-
etlplus/api/types.py,sha256=Ng1b83RaJSHn4jl-M1f1dsTgjXizQtrW4yOXAYjwk_4,7377
|
|
21
|
-
etlplus/api/utils.py,sha256=lNBfJKz3fJ4RhvnnX3uxVZC__6-WKksYMSGGYi0RRqM,26247
|
|
22
|
-
etlplus/api/pagination/__init__.py,sha256=a4UX2J0AG8RMvmHt_CCofUm5vSmFo6GAfkb8XnSXypM,1395
|
|
23
|
-
etlplus/api/pagination/client.py,sha256=yMEpWqRxTCD4zRc9OYtEyUtShpGH5atiHFEAt95v2FE,5394
|
|
24
|
-
etlplus/api/pagination/config.py,sha256=u2hk8QmiQoIKe16sPUB6SvVqiLkuq9lUaY4Pl5-lejk,13577
|
|
25
|
-
etlplus/api/pagination/paginator.py,sha256=B0OK_0FVmUz3-lCDeKgDOqYJOoEQtjO6I5eSmK58tbY,24433
|
|
26
|
-
etlplus/api/rate_limiting/__init__.py,sha256=ZySB1dZettEDnWvI1EHf_TZ9L08M_kKsNR-Y_lbU6kI,1070
|
|
27
|
-
etlplus/api/rate_limiting/config.py,sha256=Byc_kmnwFmjjfDEFIdc_sHc7Wnjde1NGgsjPHgE9_xo,9765
|
|
28
|
-
etlplus/api/rate_limiting/rate_limiter.py,sha256=uYxn-l2qwLUKVclDQ3vJIIP3fozJx2JlHhz7_zyXVbA,7033
|
|
29
|
-
etlplus/cli/README.md,sha256=8H_G2d3HteYIU6ReX9K9DM485QjWDT5vHMQbGD_vv20,1237
|
|
30
|
-
etlplus/cli/__init__.py,sha256=J97-Rv931IL1_b4AXnB7Fbbd7HKnHBpx18NQfC_kE6c,299
|
|
31
|
-
etlplus/cli/commands.py,sha256=HFlg29tO6Jwv1NXWAHmvniLCyRSlboL55Arn9B8nZAM,25028
|
|
32
|
-
etlplus/cli/constants.py,sha256=0F7dXIQKWUhhVu2Us527GJeknJIWpBqz7CK2e5OQgcE,1947
|
|
33
|
-
etlplus/cli/handlers.py,sha256=uvbAyF6Ux8_5C-obCWZOrOP0QP0oiT-Km1hPhE8tDx0,18558
|
|
34
|
-
etlplus/cli/io.py,sha256=tGGNQ4ecezqj-mD285fgBVrYdphdeqApsyV9VojOj1I,7836
|
|
35
|
-
etlplus/cli/main.py,sha256=68_uJwmWajhOC9o4R_ns8IQloC9BFmAKC_9GlQOxKWg,5239
|
|
36
|
-
etlplus/cli/options.py,sha256=vfXT3YLh7wG1iC-aTdSg6ItMC8l6n0Lozmy53XjqLbA,1199
|
|
37
|
-
etlplus/cli/state.py,sha256=3Dq5BKct0uAvRajtc2yHbsX7wqepZOwlAMKsyvQcnqk,7918
|
|
38
|
-
etlplus/cli/types.py,sha256=tclhKVJXDqHzlTQBYKARfqMgDOcuBJ-Zej2pvFy96WM,652
|
|
39
|
-
etlplus/connector/__init__.py,sha256=KMBUPBFU1xA4aVkA2RxrdZ3IR6yWHr-F86GYK05wyKg,1006
|
|
40
|
-
etlplus/connector/api.py,sha256=vkeoqR94cVtEW4uKeVzuXKji08ojzd0fyqhtLSQ0V1k,4524
|
|
41
|
-
etlplus/connector/connector.py,sha256=OQP4kK_1O6g9FnDBrE3L58LOSfImsK5EBHtKI4N71u8,574
|
|
42
|
-
etlplus/connector/core.py,sha256=0GeXjlZFnyS-4j7jR_AtclQtELE6x-vodHJ4rfjFLL8,2795
|
|
43
|
-
etlplus/connector/database.py,sha256=fK_b4r5NsFTTUv0GHoEen7sVX45wVy1JLKds0qxfVM8,3011
|
|
44
|
-
etlplus/connector/enums.py,sha256=43NziUOpol4YvBtM13WJJzY1EAQOjaWESxLl7J2ZT8U,1069
|
|
45
|
-
etlplus/connector/file.py,sha256=c8zBKRYnrXXqLZRpB_FRBMFlel5BU6GFEDFdfX6uk9c,2855
|
|
46
|
-
etlplus/connector/types.py,sha256=j8eet-a701VC6VQa1pIYLt4HdDcQp8druXtOCb7UMLw,945
|
|
47
|
-
etlplus/connector/utils.py,sha256=fS2hPAfuhKTg_L2xDxF5fJnsO1SuuDIiEWU7GuaJKUM,2933
|
|
48
|
-
etlplus/database/README.md,sha256=3Af5BEGLkBmMoGOLtS1GQuj4wKPh_CwSp5NEPMf2uaY,1435
|
|
49
|
-
etlplus/database/__init__.py,sha256=AKJsDl2RHuRGPS-eXgNJeh4aSncJP5Y0yLApBF6i7i8,1052
|
|
50
|
-
etlplus/database/ddl.py,sha256=-7EAbyLkU8m3eYlHSNLFOQr1I4fPEbF0hTyByzjyvsU,7909
|
|
51
|
-
etlplus/database/engine.py,sha256=eDFnp4vzhoKuyLJSeHYpndHLUr27neS7CgdvMw8mNok,4384
|
|
52
|
-
etlplus/database/orm.py,sha256=ZCHkeVEUns2eievlFzmLyVKA3YVPea1xs6vrcUBZ7Jw,10010
|
|
53
|
-
etlplus/database/schema.py,sha256=813C0Dd3WE53KTYot4dgjAxctgKXLXx-8_Rk_4r2e28,7022
|
|
54
|
-
etlplus/database/types.py,sha256=_pkQyC14TzAlgyeIqZG4F5LWYknZbHw3TW68Auk7Ya0,795
|
|
55
|
-
etlplus/file/README.md,sha256=ivU8svVs1fktQiW5ozvh1N-IOSLCAQ3oM9bW8DUFwIw,3630
|
|
56
|
-
etlplus/file/__init__.py,sha256=X03bosSM-uSd6dh3ur0un6_ozFRw2Tm4PE6kVUjtXK8,475
|
|
57
|
-
etlplus/file/_imports.py,sha256=Cozv7d5G2P9PNgy2M4vrz0Wzo7hx9FTC0WcGcuVqga0,3193
|
|
58
|
-
etlplus/file/_io.py,sha256=Z3aTujy0rpbMKJHvO2UZ6bA1ohO-6ZiemyxF4GsayRc,3951
|
|
59
|
-
etlplus/file/accdb.py,sha256=mMwnNXd3rB0Z_1uN6wpiF0jL4flUmZbMBoiIS3Fq5mg,1691
|
|
60
|
-
etlplus/file/arrow.py,sha256=nkSXiDCFOSbEJX387h-c91WeYPFZehj2r3_iznVy5HE,1704
|
|
61
|
-
etlplus/file/avro.py,sha256=GR9GbDNcQ7TpaPKhcC6JL79XicSmNDIhH3cP0QDmLJg,4447
|
|
62
|
-
etlplus/file/bson.py,sha256=CYpA1PSPzyM9Dtv5ik3RG0GUwLjucJGbrhyo7THcVa0,1623
|
|
63
|
-
etlplus/file/cbor.py,sha256=NNQkCRenh9YOYdeR-w-AbUfK9sjGkwoA0Idtr-dclm4,1677
|
|
64
|
-
etlplus/file/cfg.py,sha256=HuGuxNIKPWyg14mIBlVB5Ch_npf9zObRt2mgoymzB_A,1720
|
|
65
|
-
etlplus/file/conf.py,sha256=x6OH9in-VKkTIPtlwbYEsYDJ703oFJjUFHVCoFULhvk,1778
|
|
66
|
-
etlplus/file/core.py,sha256=IzcG4pQLq3QCQhswbgdWKxHSvmzvWzYweBrz7t6HDDo,8888
|
|
67
|
-
etlplus/file/csv.py,sha256=FTdxlVs3vsaj_t7vGY-unNiCpJI2TWuiaf2_8dJan6M,1754
|
|
68
|
-
etlplus/file/dat.py,sha256=o4FN-6_HCVXuD-If3aYfIqU4QTZMvECNZ5Yx4wr15ew,1652
|
|
69
|
-
etlplus/file/dta.py,sha256=7DuvvKSgbpBoKZHm7CWJ7NKstRasp0fUEj1XF02YgsE,1626
|
|
70
|
-
etlplus/file/duckdb.py,sha256=kCFxNUEI9gEeeMWJuCHyfKVsqvhij4Q7LJVpZ3AMDYw,1641
|
|
71
|
-
etlplus/file/enums.py,sha256=5cwIfcoYGEjaX0AzaJzY0PjztKykzFTQ1HBnb2NTEXs,11065
|
|
72
|
-
etlplus/file/feather.py,sha256=joOdQf_oIu__i8hwy5X4eK6MSqh6O0kKnub2VWD_Clg,2679
|
|
73
|
-
etlplus/file/fwf.py,sha256=ktXIKatOPUs6YeB30K7BNvfwwB4BkXoYEomsvCjk_ss,1599
|
|
74
|
-
etlplus/file/gz.py,sha256=NfiXiE37rS2YC7dk1YC1ELbbEpzJdypIy-no9cVoaco,2641
|
|
75
|
-
etlplus/file/hbs.py,sha256=jxAPY10R_2vhP-1QWGBmANCI1dJ9vetaLo5Mp8kMa3Y,1624
|
|
76
|
-
etlplus/file/hdf5.py,sha256=hjpBUue5ss6R8ljZ-gYxDxpOLGBKgNvmAvn97uNmYAw,1634
|
|
77
|
-
etlplus/file/ini.py,sha256=ZL_0Wq5-yNcveyKF-minH2AFh-RmspM06myHquAobao,1711
|
|
78
|
-
etlplus/file/ion.py,sha256=ZK0g-47GQi9fCDT4EeXCgiVbWmmj7SU1WHwt-CrLwCU,1720
|
|
79
|
-
etlplus/file/jinja2.py,sha256=TV-ZIzsJIg4hJyvWI7TWaMRjqL2s18Dg3ig3Hs50_pE,1640
|
|
80
|
-
etlplus/file/json.py,sha256=vY3UYjzQzmJUAY0avR2cm70hTTED4xEF38WEEj0DhDQ,2140
|
|
81
|
-
etlplus/file/log.py,sha256=6Te617oy8RWrzCa6hC0O65ygPIpfzkLBcP-x9glwM9g,1691
|
|
82
|
-
etlplus/file/mat.py,sha256=JbZ7SziCqYZR8LljyLoSn05_-bPSzNH16KNB-wvzdpM,1664
|
|
83
|
-
etlplus/file/mdb.py,sha256=Xlxx9RZlnErOrzYRFnzzOZltc99FalhoUY-oAiiQpPg,1667
|
|
84
|
-
etlplus/file/msgpack.py,sha256=GOYfgxyK2N8Opy8kLsz4uDhVrT1vyOcVQ4eJvdhrNdA,1668
|
|
85
|
-
etlplus/file/mustache.py,sha256=qOddtbtZwDyoXzHzqxpnUoO_lWKf3NPyfp-V21o0cRw,1657
|
|
86
|
-
etlplus/file/nc.py,sha256=a1_er7Fco0FVw3GtDrd_OzZAI7U_sP9x-wi9qRgebaw,1680
|
|
87
|
-
etlplus/file/ndjson.py,sha256=jpZgLZL-Vy4a6tsm5cxy0G9kW-x-X5kFSbnUn-XjIJw,2442
|
|
88
|
-
etlplus/file/numbers.py,sha256=HkG3ISk35FZnorwECuciIiI4HZWFp9E-mRhOfhYclx8,1620
|
|
89
|
-
etlplus/file/ods.py,sha256=MVEM1E2uLFmnTyCnyhljsrgdBC8psUGSVUGLmiuZTLM,1810
|
|
90
|
-
etlplus/file/orc.py,sha256=RdK4IERoLWnGSgpBclfDmwMmtac8VYyet3Z9AFCyj2E,2612
|
|
91
|
-
etlplus/file/parquet.py,sha256=6klk-GgNnFBbsRU0J8LiGm5c67A6FcX1AEZNf-cNSPM,2768
|
|
92
|
-
etlplus/file/pb.py,sha256=0OOSmuFUfmB-DZILSA9FO2JgXfJmt9TnigH3E2gW4AI,1625
|
|
93
|
-
etlplus/file/pbf.py,sha256=89fF58WkXmOBJh8Jh2zcA0cKBkB5neXMWyz95toPnXo,1630
|
|
94
|
-
etlplus/file/properties.py,sha256=4KSRGWo_-fthVdOnJKXqUvHA2I6igcGWW9fnWJK7oLA,1728
|
|
95
|
-
etlplus/file/proto.py,sha256=LjHFWVYEIyADwpd9Lzzd1FAcM8pFXN1pwoptxEDOvfQ,1678
|
|
96
|
-
etlplus/file/psv.py,sha256=J-fPTMgTZFHZWJL6kLKaFgLXhtEtK66hJW59YLaWe9E,1736
|
|
97
|
-
etlplus/file/rda.py,sha256=dSrHwLl_qu8bhnltWIuYqxpguP3JLH39JLOVxHsHLhE,1678
|
|
98
|
-
etlplus/file/rds.py,sha256=o1IKY6CmLXSp-Iv7kBDFkT8X5QVTy5uVAZMm-7sUo4Y,1635
|
|
99
|
-
etlplus/file/sas7bdat.py,sha256=yyX7YrnmZ91EY9WeTB_eZAqjCSEgD_9WTLGpD4Sv5AY,1716
|
|
100
|
-
etlplus/file/sav.py,sha256=ij02gnYOevRV9e8dbDwi3plulkw-qEQoxccvydHXZK4,1607
|
|
101
|
-
etlplus/file/sqlite.py,sha256=NRb93RuIDlu1eRMZnYDjDBhFO88gkDT7tvpmfgA4hQE,1662
|
|
102
|
-
etlplus/file/stub.py,sha256=4vlqjIo_bBy69dIU2y2iy5fqnezt_bOuS218zyijQfs,1749
|
|
103
|
-
etlplus/file/sylk.py,sha256=QwciGJVWxEKz3TH4s7hshHHLAfKiCqBxyV4umg9EVQI,1667
|
|
104
|
-
etlplus/file/tab.py,sha256=Y9u5J-efoKIMIYnARhrPXA2KEF0pJ7deZF4zkz7ZID0,1994
|
|
105
|
-
etlplus/file/toml.py,sha256=0kGJEF2353kNQWFbYd8G4XWjuPHvdl7vPILCWglsyk0,1636
|
|
106
|
-
etlplus/file/tsv.py,sha256=SUe-UeL3zExX2idvpHiMWuRm5VQ8AyqqlNJckc9CDCU,1776
|
|
107
|
-
etlplus/file/txt.py,sha256=Ys7MmKBOiHQnRK0Bb3VuIIny2_1Ejr-V_YdPlUfOEjc,2321
|
|
108
|
-
etlplus/file/vm.py,sha256=K3EE-4TpXECcHxS1EEVmLOidkqj-MJeeztTRTRUaQ1o,1599
|
|
109
|
-
etlplus/file/wks.py,sha256=dZtf_6ObJVUj_m7XIUAzuTDQkmYk0mhA9LF3rVltatI,1665
|
|
110
|
-
etlplus/file/xls.py,sha256=dNfhaDSbSy-xQrE3qriCrmfXRQY7HqAtog91b-7RmpA,1782
|
|
111
|
-
etlplus/file/xlsm.py,sha256=pZHybknmipUHEwjQBHWiU4HfVMLkGG7Zxe3rxBrxPT0,1748
|
|
112
|
-
etlplus/file/xlsx.py,sha256=UOwz-IIeRU2GyAI8Upx2hn7v3KPZalpIaGO9hXuaOGo,2192
|
|
113
|
-
etlplus/file/xml.py,sha256=lor8KsclDSy1tdOExL1GmYpaQVcZGRNEwOd2liiPPbk,4389
|
|
114
|
-
etlplus/file/xpt.py,sha256=L70o8cIGWPeBdbfVJk-b9I9PE2MICtLkwhJjzqIeBgU,1712
|
|
115
|
-
etlplus/file/yaml.py,sha256=b_SxDSEQPVXQv9a9Ih4wAcI940pE5Ksy5pQE6K6ckhw,2062
|
|
116
|
-
etlplus/file/zip.py,sha256=8wnmnGW_pGTx65736CzAG67XIi5y98KxucRT8sNDeuQ,4195
|
|
117
|
-
etlplus/file/zsav.py,sha256=5hMuBjYeHw--UL2ZCCDn6TzJkr_YNhdQhvKI6nr3WW0,1674
|
|
118
|
-
etlplus/ops/README.md,sha256=8omi7DYZhelc26JKk8Cm8QR8I3OGwziysPj1ivx41iQ,1380
|
|
119
|
-
etlplus/ops/__init__.py,sha256=NIIr2f-AZj5B0piBt6gjv46Yn0SzGYxEe6BPoopRh38,1702
|
|
120
|
-
etlplus/ops/extract.py,sha256=xNHcKdx8LrnvIMWUFG-SmszpAlclz2jhvKFfX-sFGLI,5994
|
|
121
|
-
etlplus/ops/load.py,sha256=sxADrZ0CE4NfJ7T4Chwa6ckTkK3gSjYRdJW4qL-B61k,8536
|
|
122
|
-
etlplus/ops/run.py,sha256=x7bYrokpBE4XRfl6Rq7xeD3s-5A9P4HUVlufj_PxoTw,13526
|
|
123
|
-
etlplus/ops/transform.py,sha256=H9DxAA-c9kwklAnmiZK21w7FMJnHfu0bLcguXfIGE-k,25417
|
|
124
|
-
etlplus/ops/utils.py,sha256=lJmrO1KDob-xZU8Gc2SvZvMgdYLsVoaz-fTV42KkLVo,10835
|
|
125
|
-
etlplus/ops/validate.py,sha256=-OLAwQNNCmmDbmj0SB7zzYXDkJfcyBP_z9nTpqImLP0,13271
|
|
126
|
-
etlplus/templates/README.md,sha256=IfPXlj1TGVA-uFWosHJhE2rabFW-znxOlOMazO9Z5cE,1361
|
|
127
|
-
etlplus/templates/__init__.py,sha256=tsniN7XJYs3NwYxJ6c2HD5upHP3CDkLx-bQCMt97UOM,106
|
|
128
|
-
etlplus/templates/ddl.sql.j2,sha256=s8fMWvcb4eaJVXkifuib1aQPljtZ8buuyB_uA-ZdU3Q,4734
|
|
129
|
-
etlplus/templates/view.sql.j2,sha256=Iy8DHfhq5yyvrUKDxqp_aHIEXY4Tm6j4wT7YDEFWAhk,2180
|
|
130
|
-
etlplus/workflow/README.md,sha256=D1oloiJCOHiqpqgv3m3qpRSIUOMIQcWtIsOPv7KkNI0,1652
|
|
131
|
-
etlplus/workflow/__init__.py,sha256=PWWAv4Bb94hls8YDZXU5DY5aXMbtSYOLYHqGRThxoA4,668
|
|
132
|
-
etlplus/workflow/dag.py,sha256=kp31dORgk0GHbct_bipU5hu_0elwBtwLsXGjMWuhFHI,2503
|
|
133
|
-
etlplus/workflow/jobs.py,sha256=onvzsZpTpZUWIivIGR4SjbUPSZ1X0nXpxAW0O0VumhQ,8945
|
|
134
|
-
etlplus/workflow/pipeline.py,sha256=7bGvMywBu_H6XLsYjeNBS_NmVH7Bo7BmuzkWm-BAXMI,9633
|
|
135
|
-
etlplus/workflow/profile.py,sha256=dZ6P50k_ZqXnrbgrbODUqgVkymbchcEqfZR-ExjTd3M,1935
|
|
136
|
-
etlplus-0.16.0.dist-info/licenses/LICENSE,sha256=MuNO63i6kWmgnV2pbP2SLqP54mk1BGmu7CmbtxMmT-U,1069
|
|
137
|
-
etlplus-0.16.0.dist-info/METADATA,sha256=soyAK0MDUoH-U0-WQt40XS6zH8L8Q5dywyHtEO3cUGo,28114
|
|
138
|
-
etlplus-0.16.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
139
|
-
etlplus-0.16.0.dist-info/entry_points.txt,sha256=6w-2-jzuPa55spzK34h-UKh2JTEShh38adFRONNP9QE,45
|
|
140
|
-
etlplus-0.16.0.dist-info/top_level.txt,sha256=aWWF-udn_sLGuHTM6W6MLh99ArS9ROkUWO8Mi8y1_2U,8
|
|
141
|
-
etlplus-0.16.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|