etlplus 0.16.8__tar.gz → 0.16.9__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 (235) hide show
  1. {etlplus-0.16.8/etlplus.egg-info → etlplus-0.16.9}/PKG-INFO +3 -4
  2. {etlplus-0.16.8 → etlplus-0.16.9}/README.md +2 -3
  3. {etlplus-0.16.8 → etlplus-0.16.9}/docs/README.md +9 -4
  4. {etlplus-0.16.8 → etlplus-0.16.9}/docs/pipeline-guide.md +35 -11
  5. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/cli/main.py +1 -22
  6. {etlplus-0.16.8 → etlplus-0.16.9/etlplus.egg-info}/PKG-INFO +3 -4
  7. {etlplus-0.16.8 → etlplus-0.16.9}/.coveragerc +0 -0
  8. {etlplus-0.16.8 → etlplus-0.16.9}/.editorconfig +0 -0
  9. {etlplus-0.16.8 → etlplus-0.16.9}/.gitattributes +0 -0
  10. {etlplus-0.16.8 → etlplus-0.16.9}/.github/actions/python-bootstrap/action.yml +0 -0
  11. {etlplus-0.16.8 → etlplus-0.16.9}/.github/workflows/ci.yml +0 -0
  12. {etlplus-0.16.8 → etlplus-0.16.9}/.gitignore +0 -0
  13. {etlplus-0.16.8 → etlplus-0.16.9}/.pre-commit-config.yaml +0 -0
  14. {etlplus-0.16.8 → etlplus-0.16.9}/.ruff.toml +0 -0
  15. {etlplus-0.16.8 → etlplus-0.16.9}/CODE_OF_CONDUCT.md +0 -0
  16. {etlplus-0.16.8 → etlplus-0.16.9}/CONTRIBUTING.md +0 -0
  17. {etlplus-0.16.8 → etlplus-0.16.9}/DEMO.md +0 -0
  18. {etlplus-0.16.8 → etlplus-0.16.9}/LICENSE +0 -0
  19. {etlplus-0.16.8 → etlplus-0.16.9}/MANIFEST.in +0 -0
  20. {etlplus-0.16.8 → etlplus-0.16.9}/Makefile +0 -0
  21. {etlplus-0.16.8 → etlplus-0.16.9}/REFERENCES.md +0 -0
  22. {etlplus-0.16.8 → etlplus-0.16.9}/SECURITY.md +0 -0
  23. {etlplus-0.16.8 → etlplus-0.16.9}/SUPPORT.md +0 -0
  24. {etlplus-0.16.8 → etlplus-0.16.9}/docs/snippets/installation_version.md +0 -0
  25. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/README.md +0 -0
  26. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/__init__.py +0 -0
  27. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/__main__.py +0 -0
  28. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/__version__.py +0 -0
  29. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/README.md +0 -0
  30. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/__init__.py +0 -0
  31. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/auth.py +0 -0
  32. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/config.py +0 -0
  33. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/endpoint_client.py +0 -0
  34. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/enums.py +0 -0
  35. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/errors.py +0 -0
  36. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/pagination/__init__.py +0 -0
  37. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/pagination/client.py +0 -0
  38. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/pagination/config.py +0 -0
  39. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/pagination/paginator.py +0 -0
  40. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/rate_limiting/__init__.py +0 -0
  41. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/rate_limiting/config.py +0 -0
  42. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/rate_limiting/rate_limiter.py +0 -0
  43. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/request_manager.py +0 -0
  44. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/retry_manager.py +0 -0
  45. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/transport.py +0 -0
  46. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/types.py +0 -0
  47. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/api/utils.py +0 -0
  48. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/cli/README.md +0 -0
  49. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/cli/__init__.py +0 -0
  50. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/cli/commands.py +0 -0
  51. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/cli/constants.py +0 -0
  52. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/cli/handlers.py +0 -0
  53. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/cli/io.py +0 -0
  54. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/cli/options.py +0 -0
  55. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/cli/state.py +0 -0
  56. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/cli/types.py +0 -0
  57. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/config.py +0 -0
  58. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/connector/__init__.py +0 -0
  59. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/connector/api.py +0 -0
  60. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/connector/connector.py +0 -0
  61. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/connector/core.py +0 -0
  62. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/connector/database.py +0 -0
  63. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/connector/enums.py +0 -0
  64. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/connector/file.py +0 -0
  65. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/connector/types.py +0 -0
  66. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/connector/utils.py +0 -0
  67. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/database/README.md +0 -0
  68. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/database/__init__.py +0 -0
  69. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/database/ddl.py +0 -0
  70. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/database/engine.py +0 -0
  71. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/database/orm.py +0 -0
  72. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/database/schema.py +0 -0
  73. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/database/types.py +0 -0
  74. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/enums.py +0 -0
  75. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/README.md +0 -0
  76. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/__init__.py +0 -0
  77. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/_imports.py +0 -0
  78. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/_io.py +0 -0
  79. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/accdb.py +0 -0
  80. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/arrow.py +0 -0
  81. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/avro.py +0 -0
  82. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/bson.py +0 -0
  83. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/cbor.py +0 -0
  84. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/cfg.py +0 -0
  85. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/conf.py +0 -0
  86. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/core.py +0 -0
  87. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/csv.py +0 -0
  88. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/dat.py +0 -0
  89. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/dta.py +0 -0
  90. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/duckdb.py +0 -0
  91. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/enums.py +0 -0
  92. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/feather.py +0 -0
  93. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/fwf.py +0 -0
  94. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/gz.py +0 -0
  95. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/hbs.py +0 -0
  96. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/hdf5.py +0 -0
  97. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/ini.py +0 -0
  98. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/ion.py +0 -0
  99. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/jinja2.py +0 -0
  100. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/json.py +0 -0
  101. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/log.py +0 -0
  102. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/mat.py +0 -0
  103. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/mdb.py +0 -0
  104. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/msgpack.py +0 -0
  105. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/mustache.py +0 -0
  106. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/nc.py +0 -0
  107. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/ndjson.py +0 -0
  108. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/numbers.py +0 -0
  109. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/ods.py +0 -0
  110. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/orc.py +0 -0
  111. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/parquet.py +0 -0
  112. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/pb.py +0 -0
  113. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/pbf.py +0 -0
  114. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/properties.py +0 -0
  115. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/proto.py +0 -0
  116. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/psv.py +0 -0
  117. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/rda.py +0 -0
  118. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/rds.py +0 -0
  119. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/sas7bdat.py +0 -0
  120. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/sav.py +0 -0
  121. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/sqlite.py +0 -0
  122. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/stub.py +0 -0
  123. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/sylk.py +0 -0
  124. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/tab.py +0 -0
  125. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/toml.py +0 -0
  126. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/tsv.py +0 -0
  127. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/txt.py +0 -0
  128. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/vm.py +0 -0
  129. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/wks.py +0 -0
  130. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/xls.py +0 -0
  131. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/xlsm.py +0 -0
  132. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/xlsx.py +0 -0
  133. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/xml.py +0 -0
  134. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/xpt.py +0 -0
  135. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/yaml.py +0 -0
  136. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/zip.py +0 -0
  137. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/file/zsav.py +0 -0
  138. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/mixins.py +0 -0
  139. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/ops/README.md +0 -0
  140. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/ops/__init__.py +0 -0
  141. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/ops/enums.py +0 -0
  142. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/ops/extract.py +0 -0
  143. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/ops/load.py +0 -0
  144. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/ops/run.py +0 -0
  145. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/ops/transform.py +0 -0
  146. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/ops/types.py +0 -0
  147. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/ops/utils.py +0 -0
  148. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/ops/validate.py +0 -0
  149. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/py.typed +0 -0
  150. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/templates/README.md +0 -0
  151. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/templates/__init__.py +0 -0
  152. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/templates/ddl.sql.j2 +0 -0
  153. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/templates/view.sql.j2 +0 -0
  154. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/types.py +0 -0
  155. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/utils.py +0 -0
  156. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/workflow/README.md +0 -0
  157. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/workflow/__init__.py +0 -0
  158. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/workflow/dag.py +0 -0
  159. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/workflow/jobs.py +0 -0
  160. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus/workflow/profile.py +0 -0
  161. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus.egg-info/SOURCES.txt +0 -0
  162. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus.egg-info/dependency_links.txt +0 -0
  163. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus.egg-info/entry_points.txt +0 -0
  164. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus.egg-info/requires.txt +0 -0
  165. {etlplus-0.16.8 → etlplus-0.16.9}/etlplus.egg-info/top_level.txt +0 -0
  166. {etlplus-0.16.8 → etlplus-0.16.9}/examples/README.md +0 -0
  167. {etlplus-0.16.8 → etlplus-0.16.9}/examples/configs/ddl_spec.yml +0 -0
  168. {etlplus-0.16.8 → etlplus-0.16.9}/examples/configs/pipeline.yml +0 -0
  169. {etlplus-0.16.8 → etlplus-0.16.9}/examples/data/sample.csv +0 -0
  170. {etlplus-0.16.8 → etlplus-0.16.9}/examples/data/sample.json +0 -0
  171. {etlplus-0.16.8 → etlplus-0.16.9}/examples/data/sample.xml +0 -0
  172. {etlplus-0.16.8 → etlplus-0.16.9}/examples/data/sample.xsd +0 -0
  173. {etlplus-0.16.8 → etlplus-0.16.9}/examples/data/sample.yaml +0 -0
  174. {etlplus-0.16.8 → etlplus-0.16.9}/examples/quickstart.py +0 -0
  175. {etlplus-0.16.8 → etlplus-0.16.9}/pyproject.toml +0 -0
  176. {etlplus-0.16.8 → etlplus-0.16.9}/pytest.ini +0 -0
  177. {etlplus-0.16.8 → etlplus-0.16.9}/setup.cfg +0 -0
  178. {etlplus-0.16.8 → etlplus-0.16.9}/setup.py +0 -0
  179. {etlplus-0.16.8 → etlplus-0.16.9}/tests/README.md +0 -0
  180. {etlplus-0.16.8 → etlplus-0.16.9}/tests/__init__.py +0 -0
  181. {etlplus-0.16.8 → etlplus-0.16.9}/tests/conftest.py +0 -0
  182. {etlplus-0.16.8 → etlplus-0.16.9}/tests/integration/conftest.py +0 -0
  183. {etlplus-0.16.8 → etlplus-0.16.9}/tests/integration/test_i_cli.py +0 -0
  184. {etlplus-0.16.8 → etlplus-0.16.9}/tests/integration/test_i_config_load.py +0 -0
  185. {etlplus-0.16.8 → etlplus-0.16.9}/tests/integration/test_i_examples_data_parity.py +0 -0
  186. {etlplus-0.16.8 → etlplus-0.16.9}/tests/integration/test_i_pagination_strategy.py +0 -0
  187. {etlplus-0.16.8 → etlplus-0.16.9}/tests/integration/test_i_run.py +0 -0
  188. {etlplus-0.16.8 → etlplus-0.16.9}/tests/integration/test_i_run_profile_pagination_defaults.py +0 -0
  189. {etlplus-0.16.8 → etlplus-0.16.9}/tests/integration/test_i_run_profile_rate_limit_defaults.py +0 -0
  190. {etlplus-0.16.8 → etlplus-0.16.9}/tests/smoke/test_s_pipeline.py +0 -0
  191. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/api/conftest.py +0 -0
  192. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/api/test_u_api_auth.py +0 -0
  193. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/api/test_u_api_config.py +0 -0
  194. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/api/test_u_api_endpoint_client.py +0 -0
  195. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/api/test_u_api_enums.py +0 -0
  196. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/api/test_u_api_mocks.py +0 -0
  197. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/api/test_u_api_pagination_client.py +0 -0
  198. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/api/test_u_api_pagination_config.py +0 -0
  199. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/api/test_u_api_paginator.py +0 -0
  200. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/api/test_u_api_rate_limit_config.py +0 -0
  201. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/api/test_u_api_rate_limiter.py +0 -0
  202. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/api/test_u_api_request_manager.py +0 -0
  203. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/api/test_u_api_retry_manager.py +0 -0
  204. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/api/test_u_api_transport.py +0 -0
  205. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/api/test_u_api_types.py +0 -0
  206. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/api/test_u_api_utils.py +0 -0
  207. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/cli/conftest.py +0 -0
  208. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/cli/test_u_cli_handlers.py +0 -0
  209. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/cli/test_u_cli_io.py +0 -0
  210. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/cli/test_u_cli_main.py +0 -0
  211. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/cli/test_u_cli_state.py +0 -0
  212. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/conftest.py +0 -0
  213. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/connector/test_u_connector_enums.py +0 -0
  214. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/connector/test_u_connector_utils.py +0 -0
  215. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/database/test_u_database_ddl.py +0 -0
  216. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/database/test_u_database_engine.py +0 -0
  217. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/database/test_u_database_orm.py +0 -0
  218. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/database/test_u_database_schema.py +0 -0
  219. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/file/test_u_file_core.py +0 -0
  220. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/file/test_u_file_enums.py +0 -0
  221. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/file/test_u_file_yaml.py +0 -0
  222. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/ops/test_u_ops_enums.py +0 -0
  223. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/ops/test_u_ops_extract.py +0 -0
  224. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/ops/test_u_ops_load.py +0 -0
  225. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/ops/test_u_ops_run.py +0 -0
  226. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/ops/test_u_ops_transform.py +0 -0
  227. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/ops/test_u_ops_utils.py +0 -0
  228. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/ops/test_u_ops_validate.py +0 -0
  229. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/test_u_config.py +0 -0
  230. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/test_u_main.py +0 -0
  231. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/test_u_mixins.py +0 -0
  232. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/test_u_utils.py +0 -0
  233. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/test_u_version.py +0 -0
  234. {etlplus-0.16.8 → etlplus-0.16.9}/tests/unit/workflow/test_u_workflow_jobs.py +0 -0
  235. {etlplus-0.16.8 → etlplus-0.16.9}/tools/update_demo_snippets.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: etlplus
3
- Version: 0.16.8
3
+ Version: 0.16.9
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
@@ -355,9 +355,8 @@ etlplus --help
355
355
  etlplus --version
356
356
  ```
357
357
 
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.
358
+ The CLI is implemented with Typer (Click-based). The legacy argparse parser has been removed, so
359
+ rely on the documented commands/flags and run `etlplus <command> --help` for current options.
361
360
 
362
361
  **Example error messages:**
363
362
 
@@ -305,9 +305,8 @@ etlplus --help
305
305
  etlplus --version
306
306
  ```
307
307
 
308
- The CLI is implemented with Typer (Click-based). The legacy argparse parser has been removed
309
- (`create_parser` now raises), so rely on the documented commands/flags and run `etlplus <command>
310
- --help` for current options.
308
+ The CLI is implemented with Typer (Click-based). The legacy argparse parser has been removed, so
309
+ rely on the documented commands/flags and run `etlplus <command> --help` for current options.
311
310
 
312
311
  **Example error messages:**
313
312
 
@@ -1,8 +1,12 @@
1
1
  # Documentation Notes
2
2
 
3
+ - [Documentation Notes](#documentation-notes)
4
+ - [CLI Parser Status](#cli-parser-status)
5
+ - [Migration Hints](#migration-hints)
6
+
3
7
  ## CLI Parser Status
4
- - The CLI is Typer/Click-only. The historical `argparse` parser has been removed; `create_parser`
5
- now raises to force migration.
8
+
9
+ - The CLI is Typer/Click-only. The historical `argparse` parser has been removed.
6
10
  - Downstream tools should invoke the Typer app exported at `etlplus.cli.commands.app` (e.g., `python
7
11
  -m etlplus` or `etlplus ...`).
8
12
  - Handler functions still accept keyword arguments; the legacy namespace shim is temporary and will
@@ -10,8 +14,9 @@
10
14
  handlers with explicit keyword arguments if you integrate programmatically.
11
15
 
12
16
  ## Migration Hints
13
- - Replace any imports of `etlplus.cli.main.create_parser` with Typer invocations (`etlplus` binary
14
- or `app` directly).
17
+
18
+ - Replace any `argparse`-based integrations with Typer invocations (`etlplus` binary or `app`
19
+ directly).
15
20
  - If you maintained custom subcommands around the old parser, port them to Typer by attaching to
16
21
  `app` or wrapping the `etlplus` executable.
17
22
  - Tests and examples now target the Typer surface; expect argparse-focused helpers (e.g., namespace
@@ -3,15 +3,39 @@
3
3
  This guide explains how to author an ETLPlus pipeline YAML, using the example at `in/pipeline.yml`
4
4
  as a reference.
5
5
 
6
+ - [Pipeline Authoring Guide](#pipeline-authoring-guide)
7
+ - [Overview](#overview)
8
+ - [Running a Pipeline from YAML (CLI)](#running-a-pipeline-from-yaml-cli)
9
+ - [Top-Level Structure](#top-level-structure)
10
+ - [APIs](#apis)
11
+ - [Profiles, base\_path, and auth](#profiles-base_path-and-auth)
12
+ - [Runner behavior with `base_path` (sources and targets)](#runner-behavior-with-base_path-sources-and-targets)
13
+ - [Databases](#databases)
14
+ - [File Systems](#file-systems)
15
+ - [Sources](#sources)
16
+ - [Validations](#validations)
17
+ - [Transforms](#transforms)
18
+ - [Targets](#targets)
19
+ - [Connector Parsing and Extension](#connector-parsing-and-extension)
20
+ - [Jobs](#jobs)
21
+ - [Running Pipelines (CLI and Python)](#running-pipelines-cli-and-python)
22
+ - [CLI: `etlplus check` (Inspect) and `etlplus run` (Execute)](#cli-etlplus-check-inspect-and-etlplus-run-execute)
23
+ - [Python: `etlplus.ops.run.run`](#python-etlplusopsrunrun)
24
+ - [Tips](#tips)
25
+ - [Design notes: Mapping inputs, dict outputs](#design-notes-mapping-inputs-dict-outputs)
26
+ - [Merge Semantics (Python 3.13)](#merge-semantics-python-313)
27
+ - [Extending Config Shapes](#extending-config-shapes)
28
+
29
+ ## Overview
30
+
6
31
  ETLPlus focuses on simple, JSON-first ETL. The pipeline file is a declarative description that your
7
32
  runner (a script, Makefile, CI job) can parse and execute using ETLPlus primitives: `extract`,
8
33
  `validate`, `transform`, and `load`.
9
34
 
10
- CLI note: ETLPlus uses Typer for command parsing. The legacy argparse parser has been removed
11
- (`create_parser` now raises). Use the documented `etlplus` commands and flags (check `etlplus
12
- --help`) when wiring your runner.
35
+ CLI note: ETLPlus uses Typer for command parsing. The legacy argparse parser has been removed. Use
36
+ the documented `etlplus` commands and flags (check `etlplus --help`) when wiring your runner.
13
37
 
14
- ## Running a pipeline from YAML (CLI)
38
+ ## Running a Pipeline from YAML (CLI)
15
39
 
16
40
  Use the built-in `etlplus run` command to execute jobs defined in a pipeline YAML. The command reads
17
41
  your config, resolves vars and env placeholders, then runs the requested job:
@@ -30,7 +54,7 @@ etlplus run --config examples/configs/pipeline.yml --job api_to_file_github_repo
30
54
  For scripted usage inside a larger Python project, prefer importing the Python API directly (e.g.,
31
55
  `extract`, `transform`, `validate`, `load`) instead of invoking the CLI subprocess.
32
56
 
33
- ## Top-level structure
57
+ ## Top-Level Structure
34
58
 
35
59
  A pipeline file typically includes:
36
60
 
@@ -205,7 +229,7 @@ databases:
205
229
  Note: Database extract/load in ETLPlus is minimal today; consider this a placeholder for
206
230
  orchestration that calls into DB clients.
207
231
 
208
- ## File systems
232
+ ## File Systems
209
233
 
210
234
  Point to local/cloud locations and logical folders:
211
235
 
@@ -362,7 +386,7 @@ targets:
362
386
  Content-Type: application/json
363
387
  ```
364
388
 
365
- ## Connector parsing and extension
389
+ ## Connector Parsing and Extension
366
390
 
367
391
  Under the hood, source and target entries are parsed via a single tolerant constructor that looks at
368
392
  the `type` field and builds a concrete connector dataclass:
@@ -405,12 +429,12 @@ Notes:
405
429
  - `depends_on` is optional and can be a string or list of job names.
406
430
  - Jobs without dependencies run first when ordered as a DAG.
407
431
 
408
- ## Running pipelines (CLI and Python)
432
+ ## Running Pipelines (CLI and Python)
409
433
 
410
434
  Once you have a pipeline YAML, you can run jobs either from the
411
435
  command line or directly from Python.
412
436
 
413
- ### CLI: `etlplus check` (inspect) and `etlplus run` (execute)
437
+ ### CLI: `etlplus check` (Inspect) and `etlplus run` (Execute)
414
438
 
415
439
  List jobs or show a summary from a pipeline file:
416
440
 
@@ -508,7 +532,7 @@ Any]` rather than `dict[str, Any]` for inputs. Why?
508
532
 
509
533
  Practically, you can pass a plain `dict` everywhere and it will work.
510
534
 
511
- ### Merge semantics (Python 3.13)
535
+ ### Merge Semantics (Python 3.13)
512
536
 
513
537
  We use the dict union operator for clarity:
514
538
 
@@ -521,7 +545,7 @@ Header precedence (lowest → highest):
521
545
  2. `profiles.<name>.headers`
522
546
  3. API top-level `headers`
523
547
 
524
- ### Extending config shapes
548
+ ### Extending Config Shapes
525
549
 
526
550
  When adding new config objects or fields:
527
551
 
@@ -3,15 +3,13 @@
3
3
 
4
4
  Entry point helpers for the Typer-powered ``etlplus`` CLI.
5
5
 
6
- This module exposes :func:`main` for the console script as well as
7
- :func:`create_parser`, which is kept for compatibility but now raises.
6
+ This module exposes :func:`main` for the console script.
8
7
  """
9
8
 
10
9
  from __future__ import annotations
11
10
 
12
11
  import contextlib
13
12
  import sys
14
- import warnings
15
13
 
16
14
  import click
17
15
  import typer
@@ -121,25 +119,6 @@ def _is_unknown_command_error(
121
119
  # SECTION: FUNCTIONS ======================================================== #
122
120
 
123
121
 
124
- def create_parser() -> object:
125
- """
126
- Deprecated legacy entrypoint.
127
-
128
- The argparse-based parser has been removed. Use the Typer-powered
129
- ``etlplus`` CLI instead (``etlplus.cli.commands.app``).
130
- """
131
- warnings.warn(
132
- 'create_parser is deprecated and no longer returns an argparse '
133
- 'parser. Use the Typer CLI entrypoint instead.',
134
- DeprecationWarning,
135
- stacklevel=2,
136
- )
137
- raise RuntimeError(
138
- 'The legacy argparse parser has been removed. Invoke the Typer-based '
139
- 'CLI via `etlplus` or import `etlplus.cli.commands.app`.',
140
- )
141
-
142
-
143
122
  def main(
144
123
  argv: list[str] | None = None,
145
124
  ) -> int:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: etlplus
3
- Version: 0.16.8
3
+ Version: 0.16.9
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
@@ -355,9 +355,8 @@ etlplus --help
355
355
  etlplus --version
356
356
  ```
357
357
 
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.
358
+ The CLI is implemented with Typer (Click-based). The legacy argparse parser has been removed, so
359
+ rely on the documented commands/flags and run `etlplus <command> --help` for current options.
361
360
 
362
361
  **Example error messages:**
363
362
 
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
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