etlplus 0.15.4__py3-none-any.whl → 0.15.5__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.
Files changed (92) hide show
  1. etlplus/api/auth.py +1 -1
  2. etlplus/api/config.py +2 -2
  3. etlplus/api/endpoint_client.py +4 -4
  4. etlplus/api/pagination/config.py +1 -1
  5. etlplus/api/pagination/paginator.py +6 -7
  6. etlplus/api/rate_limiting/config.py +4 -4
  7. etlplus/api/rate_limiting/rate_limiter.py +1 -1
  8. etlplus/api/retry_manager.py +2 -2
  9. etlplus/api/transport.py +1 -1
  10. etlplus/api/types.py +22 -12
  11. etlplus/api/utils.py +1 -1
  12. etlplus/cli/handlers.py +1 -1
  13. etlplus/cli/io.py +2 -2
  14. etlplus/cli/main.py +1 -1
  15. etlplus/database/ddl.py +2 -2
  16. etlplus/database/engine.py +1 -1
  17. etlplus/enums.py +1 -1
  18. etlplus/file/_imports.py +1 -0
  19. etlplus/file/_io.py +15 -6
  20. etlplus/file/accdb.py +3 -2
  21. etlplus/file/arrow.py +3 -2
  22. etlplus/file/avro.py +3 -2
  23. etlplus/file/bson.py +3 -2
  24. etlplus/file/cbor.py +3 -2
  25. etlplus/file/cfg.py +3 -2
  26. etlplus/file/conf.py +3 -2
  27. etlplus/file/core.py +11 -8
  28. etlplus/file/csv.py +3 -2
  29. etlplus/file/dat.py +3 -2
  30. etlplus/file/dta.py +3 -2
  31. etlplus/file/duckdb.py +3 -2
  32. etlplus/file/enums.py +1 -1
  33. etlplus/file/feather.py +3 -2
  34. etlplus/file/fwf.py +3 -2
  35. etlplus/file/gz.py +3 -2
  36. etlplus/file/hbs.py +3 -2
  37. etlplus/file/hdf5.py +3 -2
  38. etlplus/file/ini.py +3 -2
  39. etlplus/file/ion.py +3 -2
  40. etlplus/file/jinja2.py +3 -2
  41. etlplus/file/json.py +3 -2
  42. etlplus/file/log.py +3 -2
  43. etlplus/file/mat.py +3 -2
  44. etlplus/file/mdb.py +3 -2
  45. etlplus/file/msgpack.py +3 -2
  46. etlplus/file/mustache.py +3 -2
  47. etlplus/file/nc.py +3 -2
  48. etlplus/file/ndjson.py +3 -2
  49. etlplus/file/numbers.py +3 -2
  50. etlplus/file/ods.py +3 -2
  51. etlplus/file/orc.py +3 -2
  52. etlplus/file/parquet.py +3 -2
  53. etlplus/file/pb.py +3 -2
  54. etlplus/file/pbf.py +3 -2
  55. etlplus/file/properties.py +3 -2
  56. etlplus/file/proto.py +3 -2
  57. etlplus/file/psv.py +3 -2
  58. etlplus/file/rda.py +3 -2
  59. etlplus/file/rds.py +3 -2
  60. etlplus/file/sas7bdat.py +3 -2
  61. etlplus/file/sav.py +3 -2
  62. etlplus/file/sqlite.py +3 -2
  63. etlplus/file/stub.py +1 -0
  64. etlplus/file/sylk.py +3 -2
  65. etlplus/file/tab.py +3 -2
  66. etlplus/file/toml.py +3 -2
  67. etlplus/file/tsv.py +3 -2
  68. etlplus/file/txt.py +4 -3
  69. etlplus/file/vm.py +3 -2
  70. etlplus/file/wks.py +3 -2
  71. etlplus/file/xls.py +3 -2
  72. etlplus/file/xlsm.py +3 -2
  73. etlplus/file/xlsx.py +3 -2
  74. etlplus/file/xml.py +9 -3
  75. etlplus/file/xpt.py +3 -2
  76. etlplus/file/yaml.py +3 -2
  77. etlplus/file/zip.py +3 -2
  78. etlplus/file/zsav.py +3 -2
  79. etlplus/ops/extract.py +12 -0
  80. etlplus/ops/load.py +14 -1
  81. etlplus/ops/run.py +3 -3
  82. etlplus/ops/transform.py +2 -2
  83. etlplus/ops/utils.py +2 -2
  84. etlplus/utils.py +32 -32
  85. etlplus/workflow/jobs.py +1 -1
  86. {etlplus-0.15.4.dist-info → etlplus-0.15.5.dist-info}/METADATA +1 -1
  87. etlplus-0.15.5.dist-info/RECORD +134 -0
  88. {etlplus-0.15.4.dist-info → etlplus-0.15.5.dist-info}/WHEEL +1 -1
  89. etlplus-0.15.4.dist-info/RECORD +0 -134
  90. {etlplus-0.15.4.dist-info → etlplus-0.15.5.dist-info}/entry_points.txt +0 -0
  91. {etlplus-0.15.4.dist-info → etlplus-0.15.5.dist-info}/licenses/LICENSE +0 -0
  92. {etlplus-0.15.4.dist-info → etlplus-0.15.5.dist-info}/top_level.txt +0 -0
etlplus/ops/run.py CHANGED
@@ -94,7 +94,7 @@ def run(
94
94
  Run a pipeline job defined in a YAML configuration.
95
95
 
96
96
  By default it reads the configuration from ``in/pipeline.yml``, but callers
97
- can provide an explicit ``config_path`` to override this.
97
+ can provide an explicit *config_path* to override this.
98
98
 
99
99
  Parameters
100
100
  ----------
@@ -328,11 +328,11 @@ def run_pipeline(
328
328
  Parameters
329
329
  ----------
330
330
  source_type : DataConnectorType | str | None, optional
331
- Connector type for extraction. When ``None``, ``source`` is assumed
331
+ Connector type for extraction. When ``None``, *source* is assumed
332
332
  to be pre-loaded data and extraction is skipped.
333
333
  source : StrPath | JSONData | None, optional
334
334
  Data source for extraction or the pre-loaded payload when
335
- ``source_type`` is ``None``.
335
+ *source_type* is ``None``.
336
336
  operations : PipelineConfig | None, optional
337
337
  Transform configuration passed to :func:`etlplus.ops.transform`.
338
338
  target_type : DataConnectorType | str | None, optional
etlplus/ops/transform.py CHANGED
@@ -110,7 +110,7 @@ def _agg_count(
110
110
  present: int,
111
111
  ) -> int:
112
112
  """
113
- Return the provided presence count ``present``.
113
+ Return the provided presence count *present*.
114
114
 
115
115
  Parameters
116
116
  ----------
@@ -120,7 +120,7 @@ def _agg_count(
120
120
  Returns
121
121
  -------
122
122
  int
123
- The provided presence count ``present``.
123
+ The provided presence count *present*.
124
124
  """
125
125
  return present
126
126
 
etlplus/ops/utils.py CHANGED
@@ -205,14 +205,14 @@ def maybe_validate(
205
205
  Returns
206
206
  -------
207
207
  Any
208
- ``payload`` when validation is skipped or when severity is ``"warn"``
208
+ *payload* when validation is skipped or when severity is ``"warn"``
209
209
  and the validation fails. Returns the validator ``data`` payload when
210
210
  validation succeeds.
211
211
 
212
212
  Raises
213
213
  ------
214
214
  ValueError
215
- Raised when validation fails and ``severity`` is ``"error"``.
215
+ Raised when validation fails and *severity* is ``"error"``.
216
216
 
217
217
  Examples
218
218
  --------
etlplus/utils.py CHANGED
@@ -76,8 +76,8 @@ def deep_substitute(
76
76
  vars_map : StrAnyMap | None
77
77
  Mapping of variable names to replacement values (lower precedence).
78
78
  env_map : Mapping[str, str] | None
79
- Mapping of environment variables overriding ``vars_map`` values
80
- (higher precedence).
79
+ Mapping of environment variables overriding *vars_map* values (higher
80
+ precedence).
81
81
 
82
82
  Returns
83
83
  -------
@@ -130,7 +130,7 @@ def coerce_dict(
130
130
  value: Any,
131
131
  ) -> dict[str, Any]:
132
132
  """
133
- Return a ``dict`` copy when ``value`` is mapping-like.
133
+ Return a ``dict`` copy when *value* is mapping-like.
134
134
 
135
135
  Parameters
136
136
  ----------
@@ -140,7 +140,7 @@ def coerce_dict(
140
140
  Returns
141
141
  -------
142
142
  dict[str, Any]
143
- Shallow copy of ``value`` converted to a standard ``dict``.
143
+ Shallow copy of *value* converted to a standard ``dict``.
144
144
  """
145
145
  return dict(value) if isinstance(value, Mapping) else {}
146
146
 
@@ -170,7 +170,7 @@ def maybe_mapping(
170
170
  value: Any,
171
171
  ) -> StrAnyMap | None:
172
172
  """
173
- Return ``value`` when it is mapping-like; otherwise ``None``.
173
+ Return *value* when it is mapping-like; otherwise ``None``.
174
174
 
175
175
  Parameters
176
176
  ----------
@@ -189,7 +189,7 @@ def print_json(
189
189
  obj: Any,
190
190
  ) -> None:
191
191
  """
192
- Pretty-print ``obj`` as UTF-8 JSON without ASCII escaping.
192
+ Pretty-print *obj* as UTF-8 JSON without ASCII escaping.
193
193
 
194
194
  Parameters
195
195
  ----------
@@ -214,12 +214,12 @@ def to_float(
214
214
  maximum: float | None = None,
215
215
  ) -> float | None:
216
216
  """
217
- Coerce ``value`` to a float with optional fallback and bounds.
217
+ Coerce *value* to a float with optional fallback and bounds.
218
218
 
219
219
  Notes
220
220
  -----
221
221
  For strings, leading/trailing whitespace is ignored. Returns ``None``
222
- when coercion fails and no ``default`` is provided.
222
+ when coercion fails and no *default* is provided.
223
223
  """
224
224
  return _normalize_number(
225
225
  _coerce_float,
@@ -235,7 +235,7 @@ def to_maximum_float(
235
235
  default: float,
236
236
  ) -> float:
237
237
  """
238
- Return the greater of ``default`` and ``value`` after float coercion.
238
+ Return the greater of *default* and *value* after float coercion.
239
239
 
240
240
  Parameters
241
241
  ----------
@@ -247,7 +247,7 @@ def to_maximum_float(
247
247
  Returns
248
248
  -------
249
249
  float
250
- ``default`` if coercion fails; else ``max(coerced, default)``.
250
+ *default* if coercion fails; else ``max(coerced, default)``.
251
251
  """
252
252
  result = to_float(value, default)
253
253
  return max(_value_or_default(result, default), default)
@@ -258,7 +258,7 @@ def to_minimum_float(
258
258
  default: float,
259
259
  ) -> float:
260
260
  """
261
- Return the lesser of ``default`` and ``value`` after float coercion.
261
+ Return the lesser of *default* and *value* after float coercion.
262
262
 
263
263
  Parameters
264
264
  ----------
@@ -270,7 +270,7 @@ def to_minimum_float(
270
270
  Returns
271
271
  -------
272
272
  float
273
- ``default`` if coercion fails; else ``min(coerced, default)``.
273
+ *default* if coercion fails; else ``min(coerced, default)``.
274
274
  """
275
275
  result = to_float(value, default)
276
276
  return min(_value_or_default(result, default), default)
@@ -306,12 +306,12 @@ def to_int(
306
306
  maximum: int | None = None,
307
307
  ) -> int | None:
308
308
  """
309
- Coerce ``value`` to an integer with optional fallback and bounds.
309
+ Coerce *value* to an integer with optional fallback and bounds.
310
310
 
311
311
  Notes
312
312
  -----
313
313
  For strings, leading/trailing whitespace is ignored. Returns ``None``
314
- when coercion fails and no ``default`` is provided.
314
+ when coercion fails and no *default* is provided.
315
315
  """
316
316
  return _normalize_number(
317
317
  _coerce_int,
@@ -327,7 +327,7 @@ def to_maximum_int(
327
327
  default: int,
328
328
  ) -> int:
329
329
  """
330
- Return the greater of ``default`` and ``value`` after integer coercion.
330
+ Return the greater of *default* and *value* after integer coercion.
331
331
 
332
332
  Parameters
333
333
  ----------
@@ -339,7 +339,7 @@ def to_maximum_int(
339
339
  Returns
340
340
  -------
341
341
  int
342
- ``default`` if coercion fails; else ``max(coerced, default)``.
342
+ *default* if coercion fails; else ``max(coerced, default)``.
343
343
  """
344
344
  result = to_int(value, default)
345
345
  return max(_value_or_default(result, default), default)
@@ -350,7 +350,7 @@ def to_minimum_int(
350
350
  default: int,
351
351
  ) -> int:
352
352
  """
353
- Return the lesser of ``default`` and ``value`` after integer coercion.
353
+ Return the lesser of *default* and *value* after integer coercion.
354
354
 
355
355
  Parameters
356
356
  ----------
@@ -362,7 +362,7 @@ def to_minimum_int(
362
362
  Returns
363
363
  -------
364
364
  int
365
- ``default`` if coercion fails; else ``min(coerced, default)``.
365
+ *default* if coercion fails; else ``min(coerced, default)``.
366
366
  """
367
367
  result = to_int(value, default)
368
368
  return min(_value_or_default(result, default), default)
@@ -375,21 +375,21 @@ def to_positive_int(
375
375
  minimum: int = 1,
376
376
  ) -> int:
377
377
  """
378
- Return a positive integer, falling back to ``minimum`` when needed.
378
+ Return a positive integer, falling back to *minimum* when needed.
379
379
 
380
380
  Parameters
381
381
  ----------
382
382
  value : Any
383
383
  Candidate input coerced with :func:`to_int`.
384
384
  default : int
385
- Fallback value when coercion fails; clamped by ``minimum``.
385
+ Fallback value when coercion fails; clamped by *minimum*.
386
386
  minimum : int
387
387
  Inclusive lower bound for the result. Defaults to ``1``.
388
388
 
389
389
  Returns
390
390
  -------
391
391
  int
392
- Positive integer respecting ``minimum``.
392
+ Positive integer respecting *minimum*.
393
393
  """
394
394
  result = to_int(value, default, minimum=minimum)
395
395
  return _value_or_default(result, minimum)
@@ -402,7 +402,7 @@ def to_number(
402
402
  value: object,
403
403
  ) -> float | None:
404
404
  """
405
- Coerce ``value`` to a ``float`` using the internal float coercer.
405
+ Coerce *value* to a ``float`` using the internal float coercer.
406
406
 
407
407
  Parameters
408
408
  ----------
@@ -466,7 +466,7 @@ def normalize_choice(
466
466
  Returns
467
467
  -------
468
468
  str
469
- Normalized mapped value or ``default``.
469
+ Normalized mapped value or *default*.
470
470
  """
471
471
  return mapping.get(normalize(value), default)
472
472
 
@@ -480,7 +480,7 @@ def _clamp(
480
480
  maximum: Num | None,
481
481
  ) -> Num:
482
482
  """
483
- Return ``value`` constrained to the interval ``[minimum, maximum]``.
483
+ Return *value* constrained to the interval ``[minimum, maximum]``.
484
484
 
485
485
  Parameters
486
486
  ----------
@@ -516,7 +516,7 @@ def _prepare_substitutions(
516
516
  vars_map : StrAnyMap | None
517
517
  Mapping of variable names to replacement values (lower precedence).
518
518
  env_map : Mapping[str, Any] | None
519
- Environment-backed values that override entries from ``vars_map``.
519
+ Environment-backed values that override entries from *vars_map*.
520
520
 
521
521
  Returns
522
522
  -------
@@ -535,7 +535,7 @@ def _replace_tokens(
535
535
  substitutions: Iterable[tuple[str, Any]],
536
536
  ) -> str:
537
537
  """
538
- Replace ``${VAR}`` tokens in ``text`` using ``substitutions``.
538
+ Replace ``${VAR}`` tokens in *text* using *substitutions*.
539
539
 
540
540
  Parameters
541
541
  ----------
@@ -636,7 +636,7 @@ def _integral_from_float(
636
636
  candidate: float | None,
637
637
  ) -> int | None:
638
638
  """
639
- Return ``int(candidate)`` when ``candidate`` is integral.
639
+ Return ``int(candidate)`` when *candidate* is integral.
640
640
 
641
641
  Parameters
642
642
  ----------
@@ -646,7 +646,7 @@ def _integral_from_float(
646
646
  Returns
647
647
  -------
648
648
  int | None
649
- Integer form of ``candidate``; else ``None`` if not integral.
649
+ Integer form of *candidate*; else ``None`` if not integral.
650
650
  """
651
651
  if candidate is None or not candidate.is_integer():
652
652
  return None
@@ -662,7 +662,7 @@ def _normalize_number(
662
662
  maximum: Num | None = None,
663
663
  ) -> Num | None:
664
664
  """
665
- Coerce ``value`` with ``coercer`` and optionally clamp it.
665
+ Coerce *value* with *coercer* and optionally clamp it.
666
666
 
667
667
  Parameters
668
668
  ----------
@@ -695,7 +695,7 @@ def _validate_bounds(
695
695
  maximum: Num | None,
696
696
  ) -> tuple[Num | None, Num | None]:
697
697
  """
698
- Ensure ``minimum`` does not exceed ``maximum``.
698
+ Ensure *minimum* does not exceed *maximum*.
699
699
 
700
700
  Parameters
701
701
  ----------
@@ -724,7 +724,7 @@ def _value_or_default(
724
724
  default: Num,
725
725
  ) -> Num:
726
726
  """
727
- Return ``value`` if not ``None``; else ``default``.
727
+ Return *value* if not ``None``; else *default*.
728
728
 
729
729
  Parameters
730
730
  ----------
@@ -736,6 +736,6 @@ def _value_or_default(
736
736
  Returns
737
737
  -------
738
738
  Num
739
- ``value`` or ``default``.
739
+ *value* or *default*.
740
740
  """
741
741
  return default if value is None else value
etlplus/workflow/jobs.py CHANGED
@@ -51,7 +51,7 @@ def _coerce_optional_str(value: Any) -> str | None:
51
51
  Returns
52
52
  -------
53
53
  str | None
54
- ``None`` when ``value`` is ``None``; otherwise a string value.
54
+ ``None`` when *value* is ``None``; otherwise a string value.
55
55
  """
56
56
  if value is None:
57
57
  return None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: etlplus
3
- Version: 0.15.4
3
+ Version: 0.15.5
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
@@ -0,0 +1,134 @@
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=__i7UfaZJwxrrQboaqiuWTHtDAOL_qCdHVNTN-o-w8k,7539
6
+ etlplus/mixins.py,sha256=ifGpHwWv7U00yqGf-kN93vJax2IiK4jaGtTsPsO3Oak,1350
7
+ etlplus/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
+ etlplus/types.py,sha256=-knM5bWRq49k4o-KlW-GRsENcj2P-h6oPnEmuz3EJso,6214
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=E6Uy4WauLa_0zkzxqImXh-bb1gKdb9sBZQVc8QOzr2Q,1943
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/database/README.md,sha256=3Af5BEGLkBmMoGOLtS1GQuj4wKPh_CwSp5NEPMf2uaY,1435
40
+ etlplus/database/__init__.py,sha256=AKJsDl2RHuRGPS-eXgNJeh4aSncJP5Y0yLApBF6i7i8,1052
41
+ etlplus/database/ddl.py,sha256=-7EAbyLkU8m3eYlHSNLFOQr1I4fPEbF0hTyByzjyvsU,7909
42
+ etlplus/database/engine.py,sha256=eDFnp4vzhoKuyLJSeHYpndHLUr27neS7CgdvMw8mNok,4384
43
+ etlplus/database/orm.py,sha256=ZCHkeVEUns2eievlFzmLyVKA3YVPea1xs6vrcUBZ7Jw,10010
44
+ etlplus/database/schema.py,sha256=813C0Dd3WE53KTYot4dgjAxctgKXLXx-8_Rk_4r2e28,7022
45
+ etlplus/database/types.py,sha256=_pkQyC14TzAlgyeIqZG4F5LWYknZbHw3TW68Auk7Ya0,795
46
+ etlplus/file/README.md,sha256=ivU8svVs1fktQiW5ozvh1N-IOSLCAQ3oM9bW8DUFwIw,3630
47
+ etlplus/file/__init__.py,sha256=X03bosSM-uSd6dh3ur0un6_ozFRw2Tm4PE6kVUjtXK8,475
48
+ etlplus/file/_imports.py,sha256=Cozv7d5G2P9PNgy2M4vrz0Wzo7hx9FTC0WcGcuVqga0,3193
49
+ etlplus/file/_io.py,sha256=Z3aTujy0rpbMKJHvO2UZ6bA1ohO-6ZiemyxF4GsayRc,3951
50
+ etlplus/file/accdb.py,sha256=mMwnNXd3rB0Z_1uN6wpiF0jL4flUmZbMBoiIS3Fq5mg,1691
51
+ etlplus/file/arrow.py,sha256=nkSXiDCFOSbEJX387h-c91WeYPFZehj2r3_iznVy5HE,1704
52
+ etlplus/file/avro.py,sha256=GR9GbDNcQ7TpaPKhcC6JL79XicSmNDIhH3cP0QDmLJg,4447
53
+ etlplus/file/bson.py,sha256=CYpA1PSPzyM9Dtv5ik3RG0GUwLjucJGbrhyo7THcVa0,1623
54
+ etlplus/file/cbor.py,sha256=NNQkCRenh9YOYdeR-w-AbUfK9sjGkwoA0Idtr-dclm4,1677
55
+ etlplus/file/cfg.py,sha256=HuGuxNIKPWyg14mIBlVB5Ch_npf9zObRt2mgoymzB_A,1720
56
+ etlplus/file/conf.py,sha256=x6OH9in-VKkTIPtlwbYEsYDJ703oFJjUFHVCoFULhvk,1778
57
+ etlplus/file/core.py,sha256=IzcG4pQLq3QCQhswbgdWKxHSvmzvWzYweBrz7t6HDDo,8888
58
+ etlplus/file/csv.py,sha256=FTdxlVs3vsaj_t7vGY-unNiCpJI2TWuiaf2_8dJan6M,1754
59
+ etlplus/file/dat.py,sha256=o4FN-6_HCVXuD-If3aYfIqU4QTZMvECNZ5Yx4wr15ew,1652
60
+ etlplus/file/dta.py,sha256=7DuvvKSgbpBoKZHm7CWJ7NKstRasp0fUEj1XF02YgsE,1626
61
+ etlplus/file/duckdb.py,sha256=kCFxNUEI9gEeeMWJuCHyfKVsqvhij4Q7LJVpZ3AMDYw,1641
62
+ etlplus/file/enums.py,sha256=5cwIfcoYGEjaX0AzaJzY0PjztKykzFTQ1HBnb2NTEXs,11065
63
+ etlplus/file/feather.py,sha256=joOdQf_oIu__i8hwy5X4eK6MSqh6O0kKnub2VWD_Clg,2679
64
+ etlplus/file/fwf.py,sha256=ktXIKatOPUs6YeB30K7BNvfwwB4BkXoYEomsvCjk_ss,1599
65
+ etlplus/file/gz.py,sha256=NfiXiE37rS2YC7dk1YC1ELbbEpzJdypIy-no9cVoaco,2641
66
+ etlplus/file/hbs.py,sha256=jxAPY10R_2vhP-1QWGBmANCI1dJ9vetaLo5Mp8kMa3Y,1624
67
+ etlplus/file/hdf5.py,sha256=hjpBUue5ss6R8ljZ-gYxDxpOLGBKgNvmAvn97uNmYAw,1634
68
+ etlplus/file/ini.py,sha256=ZL_0Wq5-yNcveyKF-minH2AFh-RmspM06myHquAobao,1711
69
+ etlplus/file/ion.py,sha256=ZK0g-47GQi9fCDT4EeXCgiVbWmmj7SU1WHwt-CrLwCU,1720
70
+ etlplus/file/jinja2.py,sha256=TV-ZIzsJIg4hJyvWI7TWaMRjqL2s18Dg3ig3Hs50_pE,1640
71
+ etlplus/file/json.py,sha256=vY3UYjzQzmJUAY0avR2cm70hTTED4xEF38WEEj0DhDQ,2140
72
+ etlplus/file/log.py,sha256=6Te617oy8RWrzCa6hC0O65ygPIpfzkLBcP-x9glwM9g,1691
73
+ etlplus/file/mat.py,sha256=JbZ7SziCqYZR8LljyLoSn05_-bPSzNH16KNB-wvzdpM,1664
74
+ etlplus/file/mdb.py,sha256=Xlxx9RZlnErOrzYRFnzzOZltc99FalhoUY-oAiiQpPg,1667
75
+ etlplus/file/msgpack.py,sha256=GOYfgxyK2N8Opy8kLsz4uDhVrT1vyOcVQ4eJvdhrNdA,1668
76
+ etlplus/file/mustache.py,sha256=qOddtbtZwDyoXzHzqxpnUoO_lWKf3NPyfp-V21o0cRw,1657
77
+ etlplus/file/nc.py,sha256=a1_er7Fco0FVw3GtDrd_OzZAI7U_sP9x-wi9qRgebaw,1680
78
+ etlplus/file/ndjson.py,sha256=jpZgLZL-Vy4a6tsm5cxy0G9kW-x-X5kFSbnUn-XjIJw,2442
79
+ etlplus/file/numbers.py,sha256=HkG3ISk35FZnorwECuciIiI4HZWFp9E-mRhOfhYclx8,1620
80
+ etlplus/file/ods.py,sha256=MVEM1E2uLFmnTyCnyhljsrgdBC8psUGSVUGLmiuZTLM,1810
81
+ etlplus/file/orc.py,sha256=RdK4IERoLWnGSgpBclfDmwMmtac8VYyet3Z9AFCyj2E,2612
82
+ etlplus/file/parquet.py,sha256=6klk-GgNnFBbsRU0J8LiGm5c67A6FcX1AEZNf-cNSPM,2768
83
+ etlplus/file/pb.py,sha256=0OOSmuFUfmB-DZILSA9FO2JgXfJmt9TnigH3E2gW4AI,1625
84
+ etlplus/file/pbf.py,sha256=89fF58WkXmOBJh8Jh2zcA0cKBkB5neXMWyz95toPnXo,1630
85
+ etlplus/file/properties.py,sha256=4KSRGWo_-fthVdOnJKXqUvHA2I6igcGWW9fnWJK7oLA,1728
86
+ etlplus/file/proto.py,sha256=LjHFWVYEIyADwpd9Lzzd1FAcM8pFXN1pwoptxEDOvfQ,1678
87
+ etlplus/file/psv.py,sha256=J-fPTMgTZFHZWJL6kLKaFgLXhtEtK66hJW59YLaWe9E,1736
88
+ etlplus/file/rda.py,sha256=dSrHwLl_qu8bhnltWIuYqxpguP3JLH39JLOVxHsHLhE,1678
89
+ etlplus/file/rds.py,sha256=o1IKY6CmLXSp-Iv7kBDFkT8X5QVTy5uVAZMm-7sUo4Y,1635
90
+ etlplus/file/sas7bdat.py,sha256=yyX7YrnmZ91EY9WeTB_eZAqjCSEgD_9WTLGpD4Sv5AY,1716
91
+ etlplus/file/sav.py,sha256=ij02gnYOevRV9e8dbDwi3plulkw-qEQoxccvydHXZK4,1607
92
+ etlplus/file/sqlite.py,sha256=NRb93RuIDlu1eRMZnYDjDBhFO88gkDT7tvpmfgA4hQE,1662
93
+ etlplus/file/stub.py,sha256=4vlqjIo_bBy69dIU2y2iy5fqnezt_bOuS218zyijQfs,1749
94
+ etlplus/file/sylk.py,sha256=QwciGJVWxEKz3TH4s7hshHHLAfKiCqBxyV4umg9EVQI,1667
95
+ etlplus/file/tab.py,sha256=Y9u5J-efoKIMIYnARhrPXA2KEF0pJ7deZF4zkz7ZID0,1994
96
+ etlplus/file/toml.py,sha256=0kGJEF2353kNQWFbYd8G4XWjuPHvdl7vPILCWglsyk0,1636
97
+ etlplus/file/tsv.py,sha256=SUe-UeL3zExX2idvpHiMWuRm5VQ8AyqqlNJckc9CDCU,1776
98
+ etlplus/file/txt.py,sha256=Ys7MmKBOiHQnRK0Bb3VuIIny2_1Ejr-V_YdPlUfOEjc,2321
99
+ etlplus/file/vm.py,sha256=K3EE-4TpXECcHxS1EEVmLOidkqj-MJeeztTRTRUaQ1o,1599
100
+ etlplus/file/wks.py,sha256=dZtf_6ObJVUj_m7XIUAzuTDQkmYk0mhA9LF3rVltatI,1665
101
+ etlplus/file/xls.py,sha256=dNfhaDSbSy-xQrE3qriCrmfXRQY7HqAtog91b-7RmpA,1782
102
+ etlplus/file/xlsm.py,sha256=pZHybknmipUHEwjQBHWiU4HfVMLkGG7Zxe3rxBrxPT0,1748
103
+ etlplus/file/xlsx.py,sha256=UOwz-IIeRU2GyAI8Upx2hn7v3KPZalpIaGO9hXuaOGo,2192
104
+ etlplus/file/xml.py,sha256=lor8KsclDSy1tdOExL1GmYpaQVcZGRNEwOd2liiPPbk,4389
105
+ etlplus/file/xpt.py,sha256=L70o8cIGWPeBdbfVJk-b9I9PE2MICtLkwhJjzqIeBgU,1712
106
+ etlplus/file/yaml.py,sha256=b_SxDSEQPVXQv9a9Ih4wAcI940pE5Ksy5pQE6K6ckhw,2062
107
+ etlplus/file/zip.py,sha256=8wnmnGW_pGTx65736CzAG67XIi5y98KxucRT8sNDeuQ,4195
108
+ etlplus/file/zsav.py,sha256=5hMuBjYeHw--UL2ZCCDn6TzJkr_YNhdQhvKI6nr3WW0,1674
109
+ etlplus/ops/README.md,sha256=8omi7DYZhelc26JKk8Cm8QR8I3OGwziysPj1ivx41iQ,1380
110
+ etlplus/ops/__init__.py,sha256=NIIr2f-AZj5B0piBt6gjv46Yn0SzGYxEe6BPoopRh38,1702
111
+ etlplus/ops/extract.py,sha256=Z3ZCQxeXhTP08YBzKwF0mUsyTGhoxt8WACAjW6jPwpw,5990
112
+ etlplus/ops/load.py,sha256=IHVqw4HhXo7k9MVnMRLKv74s-duUTGvGwPaOLZ1kS90,8532
113
+ etlplus/ops/run.py,sha256=QFD_Yqdpz3oRArF962fZhYtYKDvgnCBbiBvPV-q8RCU,13522
114
+ etlplus/ops/transform.py,sha256=H9DxAA-c9kwklAnmiZK21w7FMJnHfu0bLcguXfIGE-k,25417
115
+ etlplus/ops/utils.py,sha256=lJmrO1KDob-xZU8Gc2SvZvMgdYLsVoaz-fTV42KkLVo,10835
116
+ etlplus/ops/validate.py,sha256=-OLAwQNNCmmDbmj0SB7zzYXDkJfcyBP_z9nTpqImLP0,13271
117
+ etlplus/templates/README.md,sha256=IfPXlj1TGVA-uFWosHJhE2rabFW-znxOlOMazO9Z5cE,1361
118
+ etlplus/templates/__init__.py,sha256=tsniN7XJYs3NwYxJ6c2HD5upHP3CDkLx-bQCMt97UOM,106
119
+ etlplus/templates/ddl.sql.j2,sha256=s8fMWvcb4eaJVXkifuib1aQPljtZ8buuyB_uA-ZdU3Q,4734
120
+ etlplus/templates/view.sql.j2,sha256=Iy8DHfhq5yyvrUKDxqp_aHIEXY4Tm6j4wT7YDEFWAhk,2180
121
+ etlplus/workflow/README.md,sha256=D1oloiJCOHiqpqgv3m3qpRSIUOMIQcWtIsOPv7KkNI0,1652
122
+ etlplus/workflow/__init__.py,sha256=LxI9VGlDBUc9ADoK8JNn3oVsGeaz1Uhjonn4Y5KIJdM,967
123
+ etlplus/workflow/connector.py,sha256=vnzq9-qcU4ThWeI3ZJcL8iCoaKWrSEtZ9Jixn4il2KE,9995
124
+ etlplus/workflow/dag.py,sha256=kp31dORgk0GHbct_bipU5hu_0elwBtwLsXGjMWuhFHI,2503
125
+ etlplus/workflow/jobs.py,sha256=onvzsZpTpZUWIivIGR4SjbUPSZ1X0nXpxAW0O0VumhQ,8945
126
+ etlplus/workflow/pipeline.py,sha256=eF6OYMXZ_YdDPZ5FJC6OTCAM-zsb8HxhX3IHpbb_N8w,9631
127
+ etlplus/workflow/profile.py,sha256=dZ6P50k_ZqXnrbgrbODUqgVkymbchcEqfZR-ExjTd3M,1935
128
+ etlplus/workflow/types.py,sha256=Lv1MLyM45Ob5AsMQQBqzbUaD8g7HMVxu_HoQGPeiugU,2771
129
+ etlplus-0.15.5.dist-info/licenses/LICENSE,sha256=MuNO63i6kWmgnV2pbP2SLqP54mk1BGmu7CmbtxMmT-U,1069
130
+ etlplus-0.15.5.dist-info/METADATA,sha256=mbVvp8bhCzfXrKAhOsy-t_b_cnfIVo7xAwBtLv5nwPk,28114
131
+ etlplus-0.15.5.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
132
+ etlplus-0.15.5.dist-info/entry_points.txt,sha256=6w-2-jzuPa55spzK34h-UKh2JTEShh38adFRONNP9QE,45
133
+ etlplus-0.15.5.dist-info/top_level.txt,sha256=aWWF-udn_sLGuHTM6W6MLh99ArS9ROkUWO8Mi8y1_2U,8
134
+ etlplus-0.15.5.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.10.1)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,134 +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=ZxObavNilITJNT4Mf2hBy1s4kKtTFUTmrc8_whkxKNg,7541
6
- etlplus/mixins.py,sha256=ifGpHwWv7U00yqGf-kN93vJax2IiK4jaGtTsPsO3Oak,1350
7
- etlplus/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- etlplus/types.py,sha256=-knM5bWRq49k4o-KlW-GRsENcj2P-h6oPnEmuz3EJso,6214
9
- etlplus/utils.py,sha256=JVOBPyjIv1C9EZWZuYdqCISS-Dpa-PHrFvvruu1R0HA,17171
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=GOO5on-LoMS1GXTAhtK9rFcfpjbBcNeA6NE5UZwIq0g,12158
13
- etlplus/api/config.py,sha256=_8_iXpaHXQN6RQ1z0e3q0LTY936IYsc1SVcE6_sPT6E,17639
14
- etlplus/api/endpoint_client.py,sha256=OPAvw3NkpSzeITqgRP1reyqX9Nc_XC8lAj6Yp7nV4Tw,30705
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=0GDhJVyIlb1Ww35JUWlYoa8QYUPjKLBtxQeZj3TdLbY,11306
19
- etlplus/api/transport.py,sha256=DVWzWFZLfQQXaTJ60w-SzdXRxiOE8llPprpUB5CtSyg,9410
20
- etlplus/api/types.py,sha256=geuKmnf6C2P9_tpRpOF90Uu7J160OL3RQpQ_CgJsSrM,6695
21
- etlplus/api/utils.py,sha256=U39OXcrPiLD9m0Y03pACXIIOyuuDPO6RRKuTcwEayBE,26249
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=3dXDJ-nMbO9Zk6i344n4roBFbUlHsa294D1_plPmm6E,13579
25
- etlplus/api/pagination/paginator.py,sha256=wtdY_er4yfjx5yTUQJ1gPq-IuWmpLAHeG5buBQZJm54,24453
26
- etlplus/api/rate_limiting/__init__.py,sha256=ZySB1dZettEDnWvI1EHf_TZ9L08M_kKsNR-Y_lbU6kI,1070
27
- etlplus/api/rate_limiting/config.py,sha256=eB-dSOG-c5awYeEpnDsQJ5pO8BJtEpGYxOunBetWiB0,9775
28
- etlplus/api/rate_limiting/rate_limiter.py,sha256=heAasm1KLeBFmoJKPz6W-eQbNuahMgG1E9-z8zGEUro,7035
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=E6Uy4WauLa_0zkzxqImXh-bb1gKdb9sBZQVc8QOzr2Q,1943
33
- etlplus/cli/handlers.py,sha256=hXsgG3c6n8JDN4U3Svq6i2r21vetw5NcmXE1bGSwb9w,18560
34
- etlplus/cli/io.py,sha256=EFaBPYaBOyOllfMQWXgTjy-MPiGfNejicpD7ROrPyAE,7840
35
- etlplus/cli/main.py,sha256=d5yhCS6aNo_TKMvhdTS7qeJm4yb1S58gGBrUoBV7SCs,5241
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/database/README.md,sha256=3Af5BEGLkBmMoGOLtS1GQuj4wKPh_CwSp5NEPMf2uaY,1435
40
- etlplus/database/__init__.py,sha256=AKJsDl2RHuRGPS-eXgNJeh4aSncJP5Y0yLApBF6i7i8,1052
41
- etlplus/database/ddl.py,sha256=0dEM9SJMMabkhI_h-Fc0j9a1Sl5lSyZdI0bIeBVGm10,7913
42
- etlplus/database/engine.py,sha256=gWgTjGoo1HYHrBuYX5l2P8avAR3XithzAiqUOpLHP-8,4386
43
- etlplus/database/orm.py,sha256=ZCHkeVEUns2eievlFzmLyVKA3YVPea1xs6vrcUBZ7Jw,10010
44
- etlplus/database/schema.py,sha256=813C0Dd3WE53KTYot4dgjAxctgKXLXx-8_Rk_4r2e28,7022
45
- etlplus/database/types.py,sha256=_pkQyC14TzAlgyeIqZG4F5LWYknZbHw3TW68Auk7Ya0,795
46
- etlplus/file/README.md,sha256=ivU8svVs1fktQiW5ozvh1N-IOSLCAQ3oM9bW8DUFwIw,3630
47
- etlplus/file/__init__.py,sha256=X03bosSM-uSd6dh3ur0un6_ozFRw2Tm4PE6kVUjtXK8,475
48
- etlplus/file/_imports.py,sha256=9e8CWjyNIRcmiULEPuwtnJELUOXd4EvVv_vDnDYiB9c,3121
49
- etlplus/file/_io.py,sha256=2Dj7MH6r-yp_SsCe5GmuNN7Ta70qYzF_jKoMgnD3rME,3925
50
- etlplus/file/accdb.py,sha256=xdBLrXHDonVJ1Z6-qZRrLBXpUwqw5nZYxDuxYMJHzVs,1681
51
- etlplus/file/arrow.py,sha256=rYPqoCAI3cBHETYN3c0Xi7R5Nq7_prIdyESm3ll3Zos,1694
52
- etlplus/file/avro.py,sha256=yFQMnWPcvC0CbDCyagoB9SHRIuvl2SXIoQJTBIlw4dA,4437
53
- etlplus/file/bson.py,sha256=okCWQveCnaRxJ47Oy7-HpByEkiwmiSLSWc0a9eISuVg,1613
54
- etlplus/file/cbor.py,sha256=hpXTqQ-ei4jYKt6-zq3frDXy-SWRpx1ThQUce6b01xU,1667
55
- etlplus/file/cfg.py,sha256=cT2RKFgEMsAJaT9_EIPvYCzS4F9HdRJhEZTDMCVMZ4s,1710
56
- etlplus/file/conf.py,sha256=TKkiuGf_r4pNlxKEgxn8d1Pza-4oeWZiYjvlpMk-un4,1768
57
- etlplus/file/core.py,sha256=71AFsVwvAP6crsAphMkAmhqTwk_-TkEw9eByG6gwzpA,8862
58
- etlplus/file/csv.py,sha256=6zXt7OKXm_6k8MrDyw8DdEwpQQrmrxG6myrDplF87_E,1744
59
- etlplus/file/dat.py,sha256=j-GpY49SmkZtDUzZK6CbrHY9k6N83pyGcMqVGgJZ9cs,1642
60
- etlplus/file/dta.py,sha256=cEprcahuYEncDYEBZiEoHyg-1jgBsr9eCHPLdI-naXM,1616
61
- etlplus/file/duckdb.py,sha256=hQ8PWcvYILpkgPEtWeqbT_0yhQpJN9bJh1OwQQCcRD4,1631
62
- etlplus/file/enums.py,sha256=d3VGF1IbI2Vye3A9WLeMyo5dqlo2Q1TrUp9GaG7a62g,11067
63
- etlplus/file/feather.py,sha256=U19T5V_08ooK1STclE9nDvsnUFzu7nvQvi6J09iC-_0,2669
64
- etlplus/file/fwf.py,sha256=WLbvL94cyLCOYfhABJvoIQc1fljtz3yOuA7X4Fc4QGo,1589
65
- etlplus/file/gz.py,sha256=NKsvIV7TIWn8USbvuZmRH9hr6OrXh4TzTfDykHD41Kk,2631
66
- etlplus/file/hbs.py,sha256=iz0tIVNmsCYjTLnE5x-m3Smh5QKbfuQA-sgOHOZ_T3g,1614
67
- etlplus/file/hdf5.py,sha256=SZ-UbXTJGOYA82hdma7AFulWo9emH5Kih_RXC7f-Bfk,1624
68
- etlplus/file/ini.py,sha256=HlvQyQC00oBD8KFBfznPjBx9wF1ZwXH7Yo1JaXqCq8I,1701
69
- etlplus/file/ion.py,sha256=9q938jROTAcuUT5sRYvS1qIeoz9p8KkVWYDDS2-2A_4,1710
70
- etlplus/file/jinja2.py,sha256=FFqGQjBnRgPQ-oJ3WqiKspJMj6g_J0fDKGwsoOJAEzk,1630
71
- etlplus/file/json.py,sha256=m4eM8cPGHYAEppwLqBdq-t9gC2GtKPLptRTBeBfRimY,2130
72
- etlplus/file/log.py,sha256=OmsGijXZn1VhN7BUklF8saoktxkmHh1MPLI_BbGDLyc,1681
73
- etlplus/file/mat.py,sha256=u3jWMK8c4k9L0uVRiQSd7JgVQF-efoJj3QiKYtt1arA,1654
74
- etlplus/file/mdb.py,sha256=hSCaxBbc_b9dGTBpR-Gb0UTY2r3zYUxoEiKuwpnx0kI,1657
75
- etlplus/file/msgpack.py,sha256=9PTitVGnZM0yB2iiwsgLokai6DRmp2l2zfhyjEcajg8,1658
76
- etlplus/file/mustache.py,sha256=F-xVUH69evPQkunUx746B4rnOHxgAUP6KVpexK3zI_Q,1647
77
- etlplus/file/nc.py,sha256=3RFCl7OvCFAiwyVJJHF5_oa3UdGtDGsVU69OTMpiOdk,1670
78
- etlplus/file/ndjson.py,sha256=fSMAAdyucGIVl6zVqylWSBosOg899wgIpIWCGm2HOWU,2432
79
- etlplus/file/numbers.py,sha256=RSRC6sFYyWxmeTHWM7-D14MQQlDaz-FVehbSyG9u9Ds,1610
80
- etlplus/file/ods.py,sha256=6XsWkcrBsvQxzMdeMulqwExl3BjRe8gR-kNu0-hiRPE,1800
81
- etlplus/file/orc.py,sha256=fOO2jQwUr5FHbDve7ztmrE1Mb8uBMQtDo0yp-elVn8Q,2602
82
- etlplus/file/parquet.py,sha256=nzMrUNQux7Of8Nn0c4d2WYuIJQwZY_xQiO_AuVMCzrI,2758
83
- etlplus/file/pb.py,sha256=sg72vrjbp7azgEK_oRigmNdSqtEnsrBF24VjOohZhow,1615
84
- etlplus/file/pbf.py,sha256=lcdehGK_g2drs0VFqTAxZO9-sv65SAkW894ttmlBG8I,1620
85
- etlplus/file/properties.py,sha256=zsdaIWbSGGXH1bvlI8XPtc0eQCb-CeeA5CHJaqupNrE,1718
86
- etlplus/file/proto.py,sha256=QnZMGYHmr6jyiQ08W7hx_MHzNDrPEmMmnbttNRlY4Pg,1668
87
- etlplus/file/psv.py,sha256=-pfGvLSNOMWVl1mGoKJ_Rh5p5wDyCaxLEd09U23Iub0,1726
88
- etlplus/file/rda.py,sha256=oFbnf6SQrbgKdNDvQ94aeubwVlSEY0K_2BMIEqp22pY,1668
89
- etlplus/file/rds.py,sha256=9E2IfTaI6XRqfwdy-m-6laG7cTq9tlm8kMhldLJznPw,1625
90
- etlplus/file/sas7bdat.py,sha256=y_SOBwGPksIvMdO60PoYIVrmppWKvZQfhJSHMABDDlg,1706
91
- etlplus/file/sav.py,sha256=9cd1curI6gkhXNJPTQP30CUwXdH45qGmPau5JCNmxqg,1597
92
- etlplus/file/sqlite.py,sha256=3YRGMB5cRwdZeUVq3J_jSKauad7s8wWHWviqx7yfrUw,1652
93
- etlplus/file/stub.py,sha256=UPiKD_CYkz66X6bZtSqWX3ShBFrMlf-Se83z4qYnIR4,1733
94
- etlplus/file/sylk.py,sha256=ZqWNAuJenydVYG75a4atRtSQ1iPAscvx-v6lUqdDqvg,1657
95
- etlplus/file/tab.py,sha256=yIbgIM8jkbOmCmewYnDeL4751tHSjVszMIxNlm9C3q8,1984
96
- etlplus/file/toml.py,sha256=Z9UgUJ-PKdlA78osRyARK5AVN7AepSuq4dbUUXTGNAE,1626
97
- etlplus/file/tsv.py,sha256=hKlJd8Q7waZs9_jhRANhmb-fQdPsbvaVG46gYuNVtq0,1766
98
- etlplus/file/txt.py,sha256=46gSCxPn3SsixtR3RQ-kziaY5cnApHgRbW7UP__9ryE,2313
99
- etlplus/file/vm.py,sha256=_EiHtFOxcSwoLb5qegZ0sDr5z9TwKQPbB-MQolb6I2A,1589
100
- etlplus/file/wks.py,sha256=QwsjgcIpaYMZb-NEzgNSRKdBEqhahuoTeAVA5VEmsag,1655
101
- etlplus/file/xls.py,sha256=P94lEH8ZMex_G5x1hotidcj-dvGHAnUY7ouzvSYaV7o,1772
102
- etlplus/file/xlsm.py,sha256=6meoukAvpEIm_mvVomIo2oefPYfmHHXfE1XmFfeFpvY,1738
103
- etlplus/file/xlsx.py,sha256=vtiAS8Ng9FV1vCWYTd1YO2ORKIJG3HDfmqy3NkVpt0A,2182
104
- etlplus/file/xml.py,sha256=p5P60DiV6hyiz-t970d0d0ZXB41gVvAm3MT7dTMULa8,4360
105
- etlplus/file/xpt.py,sha256=JLqOkZ60awNsPXSqLKcPUwqZLPhPR05zk4EVRdEfvoU,1702
106
- etlplus/file/yaml.py,sha256=P9xzginPVVyvIPbFAp6MYWwARhK50GzgMbjZB7HwOrs,2052
107
- etlplus/file/zip.py,sha256=nd26V3S0edklriKnKOGDTLlO8RBXTda_zLLEQrJgKL4,4185
108
- etlplus/file/zsav.py,sha256=2WxjXamvzj0adDbWGMWM3-cj_LsCRjyZz4J907lNkPk,1664
109
- etlplus/ops/README.md,sha256=8omi7DYZhelc26JKk8Cm8QR8I3OGwziysPj1ivx41iQ,1380
110
- etlplus/ops/__init__.py,sha256=NIIr2f-AZj5B0piBt6gjv46Yn0SzGYxEe6BPoopRh38,1702
111
- etlplus/ops/extract.py,sha256=OJozX25qTjME7m9aTdVPJScT3GHHgopGM8uHo_rHm1Y,5783
112
- etlplus/ops/load.py,sha256=RgEKnVygRN2cPDpzihU8UsIhd4eVoj0cPe0jBuNC0u4,8328
113
- etlplus/ops/run.py,sha256=JOPQxrciRUQ67FJhUcZ-pW1aiYGZUdxHLwhzWLNCaDo,13528
114
- etlplus/ops/transform.py,sha256=1P43WYUaw872JDU86FhbbbkP8xnBWpgEPn2Q-z4ywls,25421
115
- etlplus/ops/utils.py,sha256=mNUcbnLl3M6rA_BPoUqG-IFPqT1zrp_EkQTs7uvzBIQ,10839
116
- etlplus/ops/validate.py,sha256=-OLAwQNNCmmDbmj0SB7zzYXDkJfcyBP_z9nTpqImLP0,13271
117
- etlplus/templates/README.md,sha256=IfPXlj1TGVA-uFWosHJhE2rabFW-znxOlOMazO9Z5cE,1361
118
- etlplus/templates/__init__.py,sha256=tsniN7XJYs3NwYxJ6c2HD5upHP3CDkLx-bQCMt97UOM,106
119
- etlplus/templates/ddl.sql.j2,sha256=s8fMWvcb4eaJVXkifuib1aQPljtZ8buuyB_uA-ZdU3Q,4734
120
- etlplus/templates/view.sql.j2,sha256=Iy8DHfhq5yyvrUKDxqp_aHIEXY4Tm6j4wT7YDEFWAhk,2180
121
- etlplus/workflow/README.md,sha256=D1oloiJCOHiqpqgv3m3qpRSIUOMIQcWtIsOPv7KkNI0,1652
122
- etlplus/workflow/__init__.py,sha256=LxI9VGlDBUc9ADoK8JNn3oVsGeaz1Uhjonn4Y5KIJdM,967
123
- etlplus/workflow/connector.py,sha256=vnzq9-qcU4ThWeI3ZJcL8iCoaKWrSEtZ9Jixn4il2KE,9995
124
- etlplus/workflow/dag.py,sha256=kp31dORgk0GHbct_bipU5hu_0elwBtwLsXGjMWuhFHI,2503
125
- etlplus/workflow/jobs.py,sha256=5_jhPoT2hCGTgsbK_lIPKrB94f7tzOEUJxtU3tpvTjg,8947
126
- etlplus/workflow/pipeline.py,sha256=eF6OYMXZ_YdDPZ5FJC6OTCAM-zsb8HxhX3IHpbb_N8w,9631
127
- etlplus/workflow/profile.py,sha256=dZ6P50k_ZqXnrbgrbODUqgVkymbchcEqfZR-ExjTd3M,1935
128
- etlplus/workflow/types.py,sha256=Lv1MLyM45Ob5AsMQQBqzbUaD8g7HMVxu_HoQGPeiugU,2771
129
- etlplus-0.15.4.dist-info/licenses/LICENSE,sha256=MuNO63i6kWmgnV2pbP2SLqP54mk1BGmu7CmbtxMmT-U,1069
130
- etlplus-0.15.4.dist-info/METADATA,sha256=B7LuY1d_eg8Dm4d3s2fAV9US4PiE66qBmwS7VH7MZOo,28114
131
- etlplus-0.15.4.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
132
- etlplus-0.15.4.dist-info/entry_points.txt,sha256=6w-2-jzuPa55spzK34h-UKh2JTEShh38adFRONNP9QE,45
133
- etlplus-0.15.4.dist-info/top_level.txt,sha256=aWWF-udn_sLGuHTM6W6MLh99ArS9ROkUWO8Mi8y1_2U,8
134
- etlplus-0.15.4.dist-info/RECORD,,