etlplus 0.9.0__tar.gz → 0.9.1__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.
Files changed (150) hide show
  1. {etlplus-0.9.0/etlplus.egg-info → etlplus-0.9.1}/PKG-INFO +1 -1
  2. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/cli/commands.py +18 -18
  3. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/enums.py +51 -1
  4. {etlplus-0.9.0 → etlplus-0.9.1/etlplus.egg-info}/PKG-INFO +1 -1
  5. {etlplus-0.9.0 → etlplus-0.9.1}/.coveragerc +0 -0
  6. {etlplus-0.9.0 → etlplus-0.9.1}/.editorconfig +0 -0
  7. {etlplus-0.9.0 → etlplus-0.9.1}/.gitattributes +0 -0
  8. {etlplus-0.9.0 → etlplus-0.9.1}/.github/actions/python-bootstrap/action.yml +0 -0
  9. {etlplus-0.9.0 → etlplus-0.9.1}/.github/workflows/ci.yml +0 -0
  10. {etlplus-0.9.0 → etlplus-0.9.1}/.gitignore +0 -0
  11. {etlplus-0.9.0 → etlplus-0.9.1}/.pre-commit-config.yaml +0 -0
  12. {etlplus-0.9.0 → etlplus-0.9.1}/.ruff.toml +0 -0
  13. {etlplus-0.9.0 → etlplus-0.9.1}/CODE_OF_CONDUCT.md +0 -0
  14. {etlplus-0.9.0 → etlplus-0.9.1}/CONTRIBUTING.md +0 -0
  15. {etlplus-0.9.0 → etlplus-0.9.1}/DEMO.md +0 -0
  16. {etlplus-0.9.0 → etlplus-0.9.1}/LICENSE +0 -0
  17. {etlplus-0.9.0 → etlplus-0.9.1}/MANIFEST.in +0 -0
  18. {etlplus-0.9.0 → etlplus-0.9.1}/Makefile +0 -0
  19. {etlplus-0.9.0 → etlplus-0.9.1}/README.md +0 -0
  20. {etlplus-0.9.0 → etlplus-0.9.1}/REFERENCES.md +0 -0
  21. {etlplus-0.9.0 → etlplus-0.9.1}/docs/README.md +0 -0
  22. {etlplus-0.9.0 → etlplus-0.9.1}/docs/pipeline-guide.md +0 -0
  23. {etlplus-0.9.0 → etlplus-0.9.1}/docs/snippets/installation_version.md +0 -0
  24. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/__init__.py +0 -0
  25. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/__main__.py +0 -0
  26. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/__version__.py +0 -0
  27. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/README.md +0 -0
  28. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/__init__.py +0 -0
  29. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/auth.py +0 -0
  30. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/config.py +0 -0
  31. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/endpoint_client.py +0 -0
  32. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/errors.py +0 -0
  33. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/pagination/__init__.py +0 -0
  34. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/pagination/client.py +0 -0
  35. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/pagination/config.py +0 -0
  36. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/pagination/paginator.py +0 -0
  37. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/rate_limiting/__init__.py +0 -0
  38. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/rate_limiting/config.py +0 -0
  39. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/rate_limiting/rate_limiter.py +0 -0
  40. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/request_manager.py +0 -0
  41. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/retry_manager.py +0 -0
  42. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/transport.py +0 -0
  43. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/types.py +0 -0
  44. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/cli/__init__.py +0 -0
  45. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/cli/constants.py +0 -0
  46. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/cli/handlers.py +0 -0
  47. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/cli/io.py +0 -0
  48. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/cli/main.py +0 -0
  49. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/cli/options.py +0 -0
  50. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/cli/state.py +0 -0
  51. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/cli/types.py +0 -0
  52. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/config/__init__.py +0 -0
  53. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/config/connector.py +0 -0
  54. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/config/jobs.py +0 -0
  55. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/config/pipeline.py +0 -0
  56. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/config/profile.py +0 -0
  57. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/config/types.py +0 -0
  58. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/config/utils.py +0 -0
  59. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/database/__init__.py +0 -0
  60. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/database/ddl.py +0 -0
  61. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/database/engine.py +0 -0
  62. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/database/orm.py +0 -0
  63. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/database/schema.py +0 -0
  64. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/database/types.py +0 -0
  65. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/extract.py +0 -0
  66. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/file.py +0 -0
  67. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/load.py +0 -0
  68. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/mixins.py +0 -0
  69. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/py.typed +0 -0
  70. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/run.py +0 -0
  71. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/run_helpers.py +0 -0
  72. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/templates/__init__.py +0 -0
  73. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/templates/ddl.sql.j2 +0 -0
  74. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/templates/view.sql.j2 +0 -0
  75. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/transform.py +0 -0
  76. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/types.py +0 -0
  77. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/utils.py +0 -0
  78. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/validate.py +0 -0
  79. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/validation/__init__.py +0 -0
  80. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/validation/utils.py +0 -0
  81. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus.egg-info/SOURCES.txt +0 -0
  82. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus.egg-info/dependency_links.txt +0 -0
  83. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus.egg-info/entry_points.txt +0 -0
  84. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus.egg-info/requires.txt +0 -0
  85. {etlplus-0.9.0 → etlplus-0.9.1}/etlplus.egg-info/top_level.txt +0 -0
  86. {etlplus-0.9.0 → etlplus-0.9.1}/examples/README.md +0 -0
  87. {etlplus-0.9.0 → etlplus-0.9.1}/examples/configs/ddl_spec.yml +0 -0
  88. {etlplus-0.9.0 → etlplus-0.9.1}/examples/configs/pipeline.yml +0 -0
  89. {etlplus-0.9.0 → etlplus-0.9.1}/examples/data/sample.csv +0 -0
  90. {etlplus-0.9.0 → etlplus-0.9.1}/examples/data/sample.json +0 -0
  91. {etlplus-0.9.0 → etlplus-0.9.1}/examples/data/sample.xml +0 -0
  92. {etlplus-0.9.0 → etlplus-0.9.1}/examples/data/sample.xsd +0 -0
  93. {etlplus-0.9.0 → etlplus-0.9.1}/examples/data/sample.yaml +0 -0
  94. {etlplus-0.9.0 → etlplus-0.9.1}/examples/quickstart_python.py +0 -0
  95. {etlplus-0.9.0 → etlplus-0.9.1}/pyproject.toml +0 -0
  96. {etlplus-0.9.0 → etlplus-0.9.1}/pytest.ini +0 -0
  97. {etlplus-0.9.0 → etlplus-0.9.1}/setup.cfg +0 -0
  98. {etlplus-0.9.0 → etlplus-0.9.1}/setup.py +0 -0
  99. {etlplus-0.9.0 → etlplus-0.9.1}/tests/__init__.py +0 -0
  100. {etlplus-0.9.0 → etlplus-0.9.1}/tests/conftest.py +0 -0
  101. {etlplus-0.9.0 → etlplus-0.9.1}/tests/integration/conftest.py +0 -0
  102. {etlplus-0.9.0 → etlplus-0.9.1}/tests/integration/test_i_cli.py +0 -0
  103. {etlplus-0.9.0 → etlplus-0.9.1}/tests/integration/test_i_examples_data_parity.py +0 -0
  104. {etlplus-0.9.0 → etlplus-0.9.1}/tests/integration/test_i_pagination_strategy.py +0 -0
  105. {etlplus-0.9.0 → etlplus-0.9.1}/tests/integration/test_i_pipeline_smoke.py +0 -0
  106. {etlplus-0.9.0 → etlplus-0.9.1}/tests/integration/test_i_pipeline_yaml_load.py +0 -0
  107. {etlplus-0.9.0 → etlplus-0.9.1}/tests/integration/test_i_run.py +0 -0
  108. {etlplus-0.9.0 → etlplus-0.9.1}/tests/integration/test_i_run_profile_pagination_defaults.py +0 -0
  109. {etlplus-0.9.0 → etlplus-0.9.1}/tests/integration/test_i_run_profile_rate_limit_defaults.py +0 -0
  110. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/conftest.py +0 -0
  111. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_auth.py +0 -0
  112. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_config.py +0 -0
  113. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_endpoint_client.py +0 -0
  114. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_mocks.py +0 -0
  115. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_pagination_client.py +0 -0
  116. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_pagination_config.py +0 -0
  117. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_paginator.py +0 -0
  118. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_rate_limit_config.py +0 -0
  119. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_rate_limiter.py +0 -0
  120. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_request_manager.py +0 -0
  121. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_retry_manager.py +0 -0
  122. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_transport.py +0 -0
  123. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_types.py +0 -0
  124. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/cli/conftest.py +0 -0
  125. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/cli/test_u_cli_handlers.py +0 -0
  126. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/cli/test_u_cli_main.py +0 -0
  127. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/cli/test_u_cli_state.py +0 -0
  128. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/config/test_u_config_utils.py +0 -0
  129. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/config/test_u_connector.py +0 -0
  130. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/config/test_u_jobs.py +0 -0
  131. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/config/test_u_pipeline.py +0 -0
  132. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/conftest.py +0 -0
  133. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/database/test_u_database_ddl.py +0 -0
  134. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/database/test_u_database_engine.py +0 -0
  135. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/database/test_u_database_orm.py +0 -0
  136. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/database/test_u_database_schema.py +0 -0
  137. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_enums.py +0 -0
  138. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_extract.py +0 -0
  139. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_file.py +0 -0
  140. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_load.py +0 -0
  141. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_main.py +0 -0
  142. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_mixins.py +0 -0
  143. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_run.py +0 -0
  144. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_run_helpers.py +0 -0
  145. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_transform.py +0 -0
  146. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_utils.py +0 -0
  147. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_validate.py +0 -0
  148. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_version.py +0 -0
  149. {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/validation/test_u_validation_utils.py +0 -0
  150. {etlplus-0.9.0 → etlplus-0.9.1}/tools/update_demo_snippets.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: etlplus
3
- Version: 0.9.0
3
+ Version: 0.9.1
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
@@ -443,9 +443,9 @@ def extract_cmd(
443
443
  Source (JSON payload, file/folder path, URL/URI, or - for STDIN)
444
444
  from which to extract data. Default is ``-``.
445
445
  source_format : SourceFormatOption, optional
446
- Source data format. Overrides the inferred format (``csv``, ``json``,
447
- ``parquet``, ``xml``) based on filename extension or STDIN content.
448
- Default is ``None``.
446
+ Data source format. Overrides the inferred format (``csv``, ``json``,
447
+ etc.) based on filename extension or STDIN content. Default is
448
+ ``None``.
449
449
  source_type : SourceTypeOption, optional
450
450
  Data source type. Overrides the inferred type (``api``, ``database``,
451
451
  ``file``, ``folder``) based on URI/URL schema. Default is ``None``.
@@ -523,15 +523,15 @@ def load_cmd(
523
523
  ctx : typer.Context
524
524
  The Typer context.
525
525
  source_format : SourceFormatOption, optional
526
- Source data format. Overrides the inferred format (``csv``, ``json``,
527
- ``parquet``, ``xml``) based on STDIN content. Default is ``None``.
526
+ Data source format. Overrides the inferred format (``csv``, ``json``,
527
+ etc.) based on filename extension or STDIN content. Default is
528
+ ``None``.
528
529
  target : TargetArg, optional
529
530
  Target (file/folder path, URL/URI, or - for STDOUT) into which to load
530
531
  data. Default is ``-``.
531
532
  target_format : TargetFormatOption, optional
532
- Format of the target data. Overrides the inferred format (``csv``,
533
- ``json``, ``parquet``, ``xml``) based on filename extension. Default is
534
- ``None``.
533
+ Target data format. Overrides the inferred format (``csv``, ``json``,
534
+ etc.) based on filename extension. Default is ``None``.
535
535
  target_type : TargetTypeOption, optional
536
536
  Data target type. Overrides the inferred type (``api``, ``database``,
537
537
  ``file``, ``folder``) based on URI/URL schema. Default is ``None``.
@@ -760,9 +760,9 @@ def transform_cmd(
760
760
  Source (JSON payload, file/folder path, URL/URI, or - for STDIN) from
761
761
  which to extract data. Default is ``-``.
762
762
  source_format : SourceFormatOption, optional
763
- Source data format. Overrides the inferred format (``csv``, ``json``,
764
- ``parquet``, ``xml``) based on filename extension or STDIN content.
765
- Default is ``None``.
763
+ Data source format. Overrides the inferred format (``csv``, ``json``,
764
+ etc.) based on filename extension or STDIN content. Default is
765
+ ``None``.
766
766
  source_type : SourceTypeOption, optional
767
767
  Data source type. Overrides the inferred type (``api``, ``database``,
768
768
  ``file``, ``folder``) based on URI/URL schema. Default is ``None``.
@@ -770,9 +770,8 @@ def transform_cmd(
770
770
  Target (file/folder path, URL/URI, or - for STDOUT) into which to load
771
771
  data. Default is ``-``.
772
772
  target_format : TargetFormatOption, optional
773
- Format of the target data. Overrides the inferred format (``csv``,
774
- ``json``, ``parquet``, ``xml``) based on filename extension. Default is
775
- ``None``.
773
+ Target data format. Overrides the inferred format (``csv``, ``json``,
774
+ etc.) based on filename extension. Default is ``None``.
776
775
  target_type : TargetTypeOption, optional
777
776
  Data target type. Overrides the inferred type (``api``, ``database``,
778
777
  ``file``, ``folder``) based on URI/URL schema. Default is ``None``.
@@ -876,11 +875,12 @@ def validate_cmd(
876
875
  source : SourceArg
877
876
  Data source to validate (path, JSON payload, or - for STDIN).
878
877
  source_format : SourceFormatOption, optional
879
- Format of the source. Overrides filename-based inference when provided.
880
- Default is ``None``.
881
- source_type : SourceTypeOption, optional
882
- Override the inferred source type (file, database, api). Default is
878
+ Data source format. Overrides the inferred format (``csv``, ``json``,
879
+ etc.) based on filename extension or STDIN content. Default is
883
880
  ``None``.
881
+ source_type : SourceTypeOption, optional
882
+ Data source type. Overrides the inferred type (``api``, ``database``,
883
+ ``file``, ``folder``) based on URI/URL schema. Default is ``None``.
884
884
  output : OutputOption, optional
885
885
  Output file for validated output (- for STDOUT). Default is ``None``.
886
886
 
@@ -208,8 +208,19 @@ class FileFormat(CoercibleStrEnum):
208
208
 
209
209
  # -- Constants -- #
210
210
 
211
+ AVRO = 'avro'
211
212
  CSV = 'csv'
213
+ FEATHER = 'feather'
214
+ GZ = 'gz'
212
215
  JSON = 'json'
216
+ NDJSON = 'ndjson'
217
+ ORC = 'orc'
218
+ PARQUET = 'parquet'
219
+ TSV = 'tsv'
220
+ TXT = 'txt'
221
+ XLS = 'xls'
222
+ XLSX = 'xlsx'
223
+ ZIP = 'zip'
213
224
  XML = 'xml'
214
225
  YAML = 'yaml'
215
226
 
@@ -227,11 +238,50 @@ class FileFormat(CoercibleStrEnum):
227
238
  """
228
239
  return {
229
240
  # Common shorthand
241
+ 'parq': 'parquet',
230
242
  'yml': 'yaml',
243
+ # File extensions
244
+ '.avro': 'avro',
245
+ '.csv': 'csv',
246
+ '.feather': 'feather',
247
+ '.gz': 'gz',
248
+ '.json': 'json',
249
+ '.jsonl': 'ndjson',
250
+ '.ndjson': 'ndjson',
251
+ '.orc': 'orc',
252
+ '.parquet': 'parquet',
253
+ '.pq': 'parquet',
254
+ '.tsv': 'tsv',
255
+ '.txt': 'txt',
256
+ '.xls': 'xls',
257
+ '.xlsx': 'xlsx',
258
+ '.zip': 'zip',
259
+ '.xml': 'xml',
260
+ '.yaml': 'yaml',
261
+ '.yml': 'yaml',
231
262
  # MIME types
232
- 'text/csv': 'csv',
263
+ 'application/avro': 'avro',
264
+ 'application/feather': 'feather',
265
+ 'application/gzip': 'gz',
233
266
  'application/json': 'json',
267
+ 'application/jsonlines': 'ndjson',
268
+ 'application/ndjson': 'ndjson',
269
+ 'application/orc': 'orc',
270
+ 'application/vnd.apache.arrow.file': 'feather',
271
+ 'application/vnd.apache.orc': 'orc',
272
+ 'application/vnd.ms-excel': 'xls',
273
+ (
274
+ 'application/vnd.openxmlformats-'
275
+ 'officedocument.spreadsheetml.sheet'
276
+ ): 'xlsx',
277
+ 'application/x-avro': 'avro',
278
+ 'application/x-ndjson': 'ndjson',
279
+ 'application/x-parquet': 'parquet',
234
280
  'application/xml': 'xml',
281
+ 'application/zip': 'zip',
282
+ 'text/csv': 'csv',
283
+ 'text/plain': 'txt',
284
+ 'text/tab-separated-values': 'tsv',
235
285
  }
236
286
 
237
287
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: etlplus
3
- Version: 0.9.0
3
+ Version: 0.9.1
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes