csvpath 0.0.533__tar.gz → 0.0.535__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 (310) hide show
  1. {csvpath-0.0.533 → csvpath-0.0.535}/PKG-INFO +5 -2
  2. {csvpath-0.0.533 → csvpath-0.0.535/assets}/config/config.ini +18 -2
  3. csvpath-0.0.535/assets/config/jenkins-local-filesystem-mysql.ini +100 -0
  4. {csvpath-0.0.533 → csvpath-0.0.535}/assets/config/jenkins-local-filesystem.ini +5 -0
  5. {csvpath-0.0.533 → csvpath-0.0.535}/assets/config/jenkins-local-gcs.ini +1 -1
  6. {csvpath-0.0.533 → csvpath-0.0.535}/assets/config/jenkins-windows-azure.ini +2 -0
  7. {csvpath-0.0.533 → csvpath-0.0.535}/assets/config/jenkins-windows-local.ini +2 -0
  8. {csvpath-0.0.533 → csvpath-0.0.535}/assets/config/jenkins-windows-sftp.ini +2 -0
  9. {csvpath-0.0.533/assets → csvpath-0.0.535}/config/config.ini +18 -2
  10. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/csvpaths.py +292 -180
  11. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/files/file_manager.py +272 -64
  12. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/files/file_metadata.py +2 -0
  13. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/files/file_registrar.py +19 -9
  14. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/files/files_listener.py +2 -0
  15. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/ol/job.py +0 -1
  16. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/sftpplus/sftpplus_listener.py +0 -3
  17. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/sftpplus/transfer_creator.py +2 -2
  18. csvpath-0.0.535/csvpath/managers/integrations/sql/engine.py +31 -0
  19. csvpath-0.0.535/csvpath/managers/integrations/sql/sql_file_listener.py +95 -0
  20. csvpath-0.0.535/csvpath/managers/integrations/sql/sql_listener.py +22 -0
  21. csvpath-0.0.535/csvpath/managers/integrations/sql/sql_paths_listener.py +86 -0
  22. csvpath-0.0.535/csvpath/managers/integrations/sql/sql_result_listener.py +98 -0
  23. csvpath-0.0.535/csvpath/managers/integrations/sql/sql_results_listener.py +113 -0
  24. csvpath-0.0.535/csvpath/managers/integrations/sql/tables.py +187 -0
  25. csvpath-0.0.535/csvpath/managers/integrations/sql/updates.py +29 -0
  26. csvpath-0.0.535/csvpath/managers/integrations/sqlite/sqlite_result_listener.py +85 -0
  27. csvpath-0.0.535/csvpath/managers/integrations/sqlite/sqlite_results_listener.py +116 -0
  28. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/metadata.py +7 -4
  29. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/paths/paths_manager.py +151 -30
  30. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/paths/paths_metadata.py +1 -0
  31. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/paths/paths_registrar.py +3 -17
  32. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/results/result.py +9 -0
  33. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/results/result_metadata.py +4 -0
  34. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/results/result_registrar.py +7 -3
  35. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/results/result_serializer.py +0 -60
  36. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/results/results_manager.py +105 -230
  37. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/results/results_metadata.py +1 -0
  38. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/results/results_registrar.py +2 -0
  39. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/args_helper.py +0 -87
  40. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/headers/collect.py +2 -2
  41. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/stats/minf.py +0 -1
  42. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/productions/reference.py +5 -3
  43. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/azure/azure_nos.py +68 -16
  44. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/box.py +6 -1
  45. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/cache.py +5 -1
  46. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/config.py +16 -6
  47. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/file_writers.py +1 -0
  48. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/gcs/gcs_nos.py +71 -28
  49. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/hasher.py +3 -0
  50. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/http/http_data_reader.py +1 -1
  51. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/intermediary.py +0 -3
  52. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/log_utility.py +18 -4
  53. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/nos.py +62 -7
  54. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/pandas_data_reader.py +1 -1
  55. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/path_util.py +29 -15
  56. csvpath-0.0.535/csvpath/util/references/files_reference_finder.py +514 -0
  57. csvpath-0.0.535/csvpath/util/references/ref_utils.py +77 -0
  58. {csvpath-0.0.533/csvpath/util → csvpath-0.0.535/csvpath/util/references}/reference_parser.py +76 -7
  59. csvpath-0.0.535/csvpath/util/references/results_reference_finder.py +199 -0
  60. csvpath-0.0.535/csvpath/util/run_home_maker.py +248 -0
  61. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/s3/s3_data_writer.py +3 -4
  62. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/s3/s3_nos.py +75 -29
  63. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/s3/s3_utils.py +10 -3
  64. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/sftp/sftp_config.py +8 -0
  65. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/sftp/sftp_nos.py +65 -34
  66. csvpath-0.0.535/csvpath/util/sftp/sftp_walk.py +37 -0
  67. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/sqliter.py +1 -2
  68. csvpath-0.0.535/csvpath/util/template_util.py +112 -0
  69. {csvpath-0.0.533 → csvpath-0.0.535}/pyproject.toml +5 -2
  70. csvpath-0.0.533/csvpath/managers/integrations/sqlite/sqlite_result_listener.py +0 -83
  71. csvpath-0.0.533/csvpath/managers/integrations/sqlite/sqlite_results_listener.py +0 -114
  72. csvpath-0.0.533/csvpath/util/reference_finder.py +0 -292
  73. {csvpath-0.0.533 → csvpath-0.0.535}/LICENSE +0 -0
  74. {csvpath-0.0.533 → csvpath-0.0.535}/README.md +0 -0
  75. {csvpath-0.0.533 → csvpath-0.0.535}/assets/config/function.imports +0 -0
  76. {csvpath-0.0.533 → csvpath-0.0.535}/assets/config/jenkins-local-azure.ini +0 -0
  77. {csvpath-0.0.533 → csvpath-0.0.535}/assets/config/jenkins-local-sftp.ini +0 -0
  78. {csvpath-0.0.533 → csvpath-0.0.535}/assets/config/jenkins-s3.ini +0 -0
  79. {csvpath-0.0.533 → csvpath-0.0.535}/assets/config/local-localhost-sftp.ini +0 -0
  80. {csvpath-0.0.533 → csvpath-0.0.535}/assets/integrations/sftpplus/handle_auto_arrival.bat +0 -0
  81. {csvpath-0.0.533 → csvpath-0.0.535}/assets/integrations/sftpplus/handle_auto_arrival.py +0 -0
  82. {csvpath-0.0.533 → csvpath-0.0.535}/assets/integrations/sftpplus/handle_auto_arrival.sh +0 -0
  83. {csvpath-0.0.533 → csvpath-0.0.535}/assets/integrations/sftpplus/handle_mailbox_arrival.bat +0 -0
  84. {csvpath-0.0.533 → csvpath-0.0.535}/assets/integrations/sftpplus/handle_mailbox_arrival.py +0 -0
  85. {csvpath-0.0.533 → csvpath-0.0.535}/assets/integrations/sftpplus/handle_mailbox_arrival.sh +0 -0
  86. {csvpath-0.0.533 → csvpath-0.0.535}/assets/integrations/sqlite/csvpath +0 -0
  87. {csvpath-0.0.533 → csvpath-0.0.535}/assets/integrations/sqlite/schema.sql +0 -0
  88. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/__init__.py +0 -0
  89. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/cli/__init__.py +0 -0
  90. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/cli/asker.py +0 -0
  91. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/cli/cli.py +0 -0
  92. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/cli/const.py +0 -0
  93. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/cli/debug_config.py +0 -0
  94. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/cli/drill_down.py +0 -0
  95. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/cli/function_describer.py +0 -0
  96. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/cli/function_lister.py +0 -0
  97. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/cli/selecter.py +0 -0
  98. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/csvpath.py +0 -0
  99. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/__init__.py +0 -0
  100. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/errors/error.py +0 -0
  101. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/errors/error_collector.py +0 -0
  102. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/errors/error_comms.py +0 -0
  103. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/errors/error_manager.py +0 -0
  104. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/files/lines_and_headers_cacher.py +0 -0
  105. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/ckan/ckan.py +0 -0
  106. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/ckan/ckan_listener.py +0 -0
  107. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/ckan/datafile.py +0 -0
  108. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/ckan/dataset.py +0 -0
  109. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/ol/event.py +0 -0
  110. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/ol/event_result.py +0 -0
  111. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/ol/file_listener_ol.py +0 -0
  112. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/ol/ol_listener.py +0 -0
  113. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/ol/paths_listener_ol.py +0 -0
  114. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/ol/result_listener_ol.py +0 -0
  115. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/ol/results_listener_ol.py +0 -0
  116. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/ol/run.py +0 -0
  117. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/ol/run_listener_ol.py +0 -0
  118. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/ol/run_state.py +0 -0
  119. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/ol/sender.py +0 -0
  120. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/otlp/error_metrics.py +0 -0
  121. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/otlp/metrics.py +0 -0
  122. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/otlp/otlp_error_listener.py +0 -0
  123. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/otlp/otlp_listener.py +0 -0
  124. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/otlp/otlp_result_listener.py +0 -0
  125. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/otlp/otlp_results_listener.py +0 -0
  126. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/sftp/sftp_sender.py +0 -0
  127. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/sftpplus/arrival_handler.py +0 -0
  128. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/sftpplus/rpc.py +0 -0
  129. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/sftpplus/transfers.py +0 -0
  130. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/slack/event.py +0 -0
  131. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/slack/sender.py +0 -0
  132. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/integrations/sqlite/schema.sql +0 -0
  133. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/listener.py +0 -0
  134. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/paths/paths_listener.py +0 -0
  135. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/registrar.py +0 -0
  136. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/results/readers/file_errors_reader.py +0 -0
  137. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/results/readers/file_lines_reader.py +0 -0
  138. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/results/readers/file_printouts_reader.py +0 -0
  139. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/results/readers/file_unmatched_reader.py +0 -0
  140. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/results/readers/readers.py +0 -0
  141. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/results/result_file_reader.py +0 -0
  142. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/run/run_listener_stdout.py +0 -0
  143. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/run/run_metadata.py +0 -0
  144. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/managers/run/run_registrar.py +0 -0
  145. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/__init__.py +0 -0
  146. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/__init__.py +0 -0
  147. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/args.py +0 -0
  148. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/boolean/all.py +0 -0
  149. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/boolean/andf.py +0 -0
  150. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/boolean/any.py +0 -0
  151. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/boolean/between.py +0 -0
  152. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/boolean/empty.py +0 -0
  153. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/boolean/exists.py +0 -0
  154. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/boolean/inf.py +0 -0
  155. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/boolean/no.py +0 -0
  156. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/boolean/notf.py +0 -0
  157. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/boolean/orf.py +0 -0
  158. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/boolean/yes.py +0 -0
  159. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/counting/count.py +0 -0
  160. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/counting/count_bytes.py +0 -0
  161. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/counting/count_headers.py +0 -0
  162. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/counting/count_lines.py +0 -0
  163. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/counting/count_scans.py +0 -0
  164. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/counting/counter.py +0 -0
  165. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/counting/every.py +0 -0
  166. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/counting/has_matches.py +0 -0
  167. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/counting/increment.py +0 -0
  168. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/counting/tally.py +0 -0
  169. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/counting/total_lines.py +0 -0
  170. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/dates/now.py +0 -0
  171. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/function.py +0 -0
  172. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/function_factory.py +0 -0
  173. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/function_finder.py +0 -0
  174. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/function_focus.py +0 -0
  175. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/headers/append.py +0 -0
  176. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/headers/empty_stack.py +0 -0
  177. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/headers/end.py +0 -0
  178. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/headers/header_name.py +0 -0
  179. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/headers/header_names_mismatch.py +0 -0
  180. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/headers/headers.py +0 -0
  181. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/headers/insert.py +0 -0
  182. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/headers/mismatch.py +0 -0
  183. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/headers/replace.py +0 -0
  184. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/headers/reset_headers.py +0 -0
  185. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/lines/advance.py +0 -0
  186. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/lines/after_blank.py +0 -0
  187. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/lines/dups.py +0 -0
  188. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/lines/first.py +0 -0
  189. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/lines/first_line.py +0 -0
  190. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/lines/last.py +0 -0
  191. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/lines/stop.py +0 -0
  192. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/math/above.py +0 -0
  193. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/math/add.py +0 -0
  194. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/math/divide.py +0 -0
  195. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/math/equals.py +0 -0
  196. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/math/intf.py +0 -0
  197. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/math/mod.py +0 -0
  198. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/math/multiply.py +0 -0
  199. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/math/odd.py +0 -0
  200. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/math/round.py +0 -0
  201. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/math/subtotal.py +0 -0
  202. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/math/subtract.py +0 -0
  203. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/math/sum.py +0 -0
  204. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/misc/fingerprint.py +0 -0
  205. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/misc/importf.py +0 -0
  206. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/misc/random.py +0 -0
  207. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/print/jinjaf.py +0 -0
  208. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/print/print_line.py +0 -0
  209. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/print/print_queue.py +0 -0
  210. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/print/printf.py +0 -0
  211. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/print/table.py +0 -0
  212. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/stats/percent.py +0 -0
  213. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/stats/percent_unique.py +0 -0
  214. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/stats/stdev.py +0 -0
  215. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/strings/alter.py +0 -0
  216. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/strings/caps.py +0 -0
  217. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/strings/concat.py +0 -0
  218. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/strings/contains.py +0 -0
  219. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/strings/length.py +0 -0
  220. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/strings/lower.py +0 -0
  221. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/strings/metaphone.py +0 -0
  222. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/strings/regex.py +0 -0
  223. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/strings/starts_with.py +0 -0
  224. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/strings/strip.py +0 -0
  225. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/strings/substring.py +0 -0
  226. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/strings/upper.py +0 -0
  227. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/testing/debug.py +0 -0
  228. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/types/__init__.py +0 -0
  229. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/types/boolean.py +0 -0
  230. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/types/datef.py +0 -0
  231. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/types/decimal.py +0 -0
  232. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/types/email.py +0 -0
  233. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/types/nonef.py +0 -0
  234. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/types/string.py +0 -0
  235. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/types/type.py +0 -0
  236. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/types/url.py +0 -0
  237. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/validity/fail.py +0 -0
  238. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/validity/failed.py +0 -0
  239. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/validity/line.py +0 -0
  240. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/variables/get.py +0 -0
  241. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/variables/pushpop.py +0 -0
  242. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/variables/put.py +0 -0
  243. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/variables/track.py +0 -0
  244. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/functions/variables/variables.py +0 -0
  245. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/lark_parser.py +0 -0
  246. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/lark_transformer.py +0 -0
  247. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/matcher.py +0 -0
  248. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/productions/__init__.py +0 -0
  249. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/productions/equality.py +0 -0
  250. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/productions/expression.py +0 -0
  251. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/productions/header.py +0 -0
  252. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/productions/matchable.py +0 -0
  253. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/productions/qualified.py +0 -0
  254. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/productions/term.py +0 -0
  255. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/productions/variable.py +0 -0
  256. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/util/exceptions.py +0 -0
  257. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/util/expression_encoder.py +0 -0
  258. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/util/expression_utility.py +0 -0
  259. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/util/lark_print_parser.py +0 -0
  260. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/util/print_parser.py +0 -0
  261. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/matching/util/runtime_data_collector.py +0 -0
  262. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/modes/error_mode.py +0 -0
  263. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/modes/explain_mode.py +0 -0
  264. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/modes/files_mode.py +0 -0
  265. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/modes/logic_mode.py +0 -0
  266. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/modes/mode_controller.py +0 -0
  267. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/modes/print_mode.py +0 -0
  268. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/modes/return_mode.py +0 -0
  269. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/modes/run_mode.py +0 -0
  270. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/modes/source_mode.py +0 -0
  271. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/modes/transfer_mode.py +0 -0
  272. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/modes/unmatched_mode.py +0 -0
  273. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/modes/validation_mode.py +0 -0
  274. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/scanning/__init__.py +0 -0
  275. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/scanning/exceptions.py +0 -0
  276. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/scanning/parser.out +0 -0
  277. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/scanning/parsetab.py +0 -0
  278. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/scanning/scanner.py +0 -0
  279. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/scanning/scanning_lexer.py +0 -0
  280. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/azure/azure_data_reader.py +0 -0
  281. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/azure/azure_data_writer.py +0 -0
  282. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/azure/azure_fingerprinter.py +0 -0
  283. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/azure/azure_utils.py +0 -0
  284. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/azure/azure_xlsx_data_reader.py +0 -0
  285. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/caser.py +0 -0
  286. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/class_loader.py +0 -0
  287. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/code.py +0 -0
  288. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/config_exception.py +0 -0
  289. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/exceptions.py +0 -0
  290. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/file_info.py +0 -0
  291. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/file_readers.py +0 -0
  292. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/gcs/gcs_data_reader.py +0 -0
  293. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/gcs/gcs_data_writer.py +0 -0
  294. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/gcs/gcs_fingerprinter.py +0 -0
  295. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/gcs/gcs_utils.py +0 -0
  296. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/gcs/gcs_xlsx_data_reader.py +0 -0
  297. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/last_line_stats.py +0 -0
  298. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/line_counter.py +0 -0
  299. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/line_monitor.py +0 -0
  300. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/line_spooler.py +0 -0
  301. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/metadata_parser.py +0 -0
  302. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/printer.py +0 -0
  303. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/s3/s3_data_reader.py +0 -0
  304. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/s3/s3_fingerprinter.py +0 -0
  305. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/s3/s3_xlsx_data_reader.py +0 -0
  306. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/sftp/sftp_data_reader.py +0 -0
  307. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/sftp/sftp_data_writer.py +0 -0
  308. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/sftp/sftp_fingerprinter.py +0 -0
  309. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/sftp/sftp_xlsx_data_reader.py +0 -0
  310. {csvpath-0.0.533 → csvpath-0.0.535}/csvpath/util/var_utility.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: csvpath
3
- Version: 0.0.533
3
+ Version: 0.0.535
4
4
  Summary: A data preboarding framework for managing and validating CSV, Excel, and other tabular data files using a Collect, Store, Validate, Publish pattern to create a trusted publisher for downstream data consumers.
5
5
  Author: David Kershaw
6
6
  Author-email: dk107dk@hotmail.com
@@ -27,22 +27,25 @@ Requires-Dist: ckanapi (>=4.8,<5.0)
27
27
  Requires-Dist: email-validator (>=2.2.0,<3.0.0)
28
28
  Requires-Dist: google-cloud-storage (>=3.1.0,<4.0.0)
29
29
  Requires-Dist: inflect (>=7.4.0,<8.0.0)
30
- Requires-Dist: jinja2 (>=3.1.4,<4.0.0)
30
+ Requires-Dist: jinja2 (>=3.1.6,<4.0.0)
31
31
  Requires-Dist: lark (>=1.2.2,<2.0.0)
32
32
  Requires-Dist: marquez-python (>=0.50.0,<0.51.0)
33
33
  Requires-Dist: metaphone (>=0.6,<0.7)
34
+ Requires-Dist: mysqlclient (>=2.2.7,<3.0.0)
34
35
  Requires-Dist: openlineage-python (>=1.25.0,<2.0.0)
35
36
  Requires-Dist: opentelemetry-distro[otlp] (>=0.50b0,<0.51)
36
37
  Requires-Dist: paramiko (>=3.5.0,<4.0.0)
37
38
  Requires-Dist: pdoc (>=15.0.1,<16.0.0)
38
39
  Requires-Dist: ply (>=3.11,<4.0)
39
40
  Requires-Dist: prompt-toolkit (>=3.0.50,<4.0.0)
41
+ Requires-Dist: psycopg2-binary (>=2.9.10,<3.0.0)
40
42
  Requires-Dist: pylightxl (>=1.61,<2.0)
41
43
  Requires-Dist: pytest (>=8.3.3,<9.0.0)
42
44
  Requires-Dist: python-dateutil (>=2.9.0.post0,<3.0.0)
43
45
  Requires-Dist: pytz (>=2024.2,<2025.0)
44
46
  Requires-Dist: requests (>=2.32.3,<3.0.0)
45
47
  Requires-Dist: smart-open (>=7.1.0,<8.0.0)
48
+ Requires-Dist: sqlalchemy (>=2.0.38,<3.0.0)
46
49
  Requires-Dist: tabulate (>=0.9.0,<0.10.0)
47
50
  Requires-Dist: validators (>=0.34.0,<0.35.0)
48
51
  Project-URL: Csvpath.org, https://www.csvpath.org
@@ -16,6 +16,8 @@ csvpaths = info
16
16
  log_file = logs/csvpath.log
17
17
  log_files_to_keep = 100
18
18
  log_file_size = 52428800
19
+ # file or rotating
20
+ handler = file
19
21
 
20
22
  [config]
21
23
  path = config/config.ini
@@ -33,9 +35,9 @@ archive = archive
33
35
 
34
36
  [inputs]
35
37
  files = inputs/named_files
38
+ csvpaths = inputs/named_paths
36
39
  #csvpaths = s3://csvpath-example-1/inputs/named_paths
37
40
  #files = sftp://172.17.0.3:10022/inputs/named_files
38
-
39
41
  on_unmatched_file_fingerprints = halt
40
42
 
41
43
  #
@@ -46,7 +48,13 @@ on_unmatched_file_fingerprints = halt
46
48
  groups =
47
49
  #slack, marquez, ckan, sftp, sftpplus, otlp, default, sqlite
48
50
 
49
- # add sqlite to capture staging, loads, and results in a local sqlite db
51
+ # add sql to capture staging, loads, and results in mysql, postgres, ms sql server, or sqlite
52
+ sql.file = from csvpath.managers.integrations.sql.sql_file_listener import SqlFileListener
53
+ sql.paths = from csvpath.managers.integrations.sql.sql_paths_listener import SqlPathsListener
54
+ sql.result = from csvpath.managers.integrations.sql.sql_result_listener import SqlResultListener
55
+ sql.results = from csvpath.managers.integrations.sql.sql_results_listener import SqlResultsListener
56
+
57
+ # add sqlite to capture staging, loads, and results in a local sqlite file
50
58
  sqlite.result = from csvpath.managers.integrations.sqlite.sqlite_result_listener import SqliteResultListener
51
59
  sqlite.results = from csvpath.managers.integrations.sqlite.sqlite_results_listener import SqliteResultsListener
52
60
 
@@ -99,6 +107,14 @@ password = tinpenny
99
107
  [sqlite]
100
108
  db = archive/csvpath.db
101
109
 
110
+ [sql]
111
+ # sqlite, mysql, postgres, or sql_server
112
+ dialect = sqlite
113
+ connection_string = sqlite:///archive/csvpath-sqlite.db
114
+ #dialect = mysql
115
+ #connection_string = mysql://csvpath:hangzhou@127.0.0.1/csvpath
116
+
117
+
102
118
  [sftpplus]
103
119
  # these are only needed by the csvpath writer
104
120
  mailbox_user = MAILBOX_USER
@@ -0,0 +1,100 @@
1
+ [csvpath_files]
2
+ extensions = txt, csvpath, csvpaths
3
+
4
+ [csv_files]
5
+ extensions = txt, csv, tsv, dat, tab, psv, ssv
6
+
7
+ [errors]
8
+ csvpath = raise, collect, print
9
+ csvpaths = raise, collect, print
10
+ use_format = full
11
+ pattern = {time}:{file}:{line}:{paths}:{instance}:{chain}: {message}
12
+
13
+ [logging]
14
+ csvpath = debug
15
+ csvpaths = debug
16
+ log_file = logs/csvpath.log
17
+ log_files_to_keep = 100
18
+ log_file_size = 52428800
19
+
20
+ [config]
21
+ path = assets/config/jenkins-local-filesystem-mysql.ini
22
+
23
+ [cache]
24
+ path = cache
25
+ use_cache = no
26
+
27
+ [functions]
28
+ imports = config/functions.imports
29
+
30
+ [results]
31
+ archive = archive
32
+
33
+ [inputs]
34
+ files = inputs/named_files
35
+ csvpaths = inputs/named_paths
36
+ on_unmatched_file_fingerprints = halt
37
+
38
+ [listeners]
39
+ groups = default
40
+ sql.file = from csvpath.managers.integrations.sql.sql_file_listener import SqlFileListener
41
+ sql.paths = from csvpath.managers.integrations.sql.sql_paths_listener import SqlPathsListener
42
+ sql.result = from csvpath.managers.integrations.sql.sql_result_listener import SqlResultListener
43
+ sql.results = from csvpath.managers.integrations.sql.sql_results_listener import SqlResultsListener
44
+ sqlite.result = from csvpath.managers.integrations.sqlite.sqlite_result_listener import SqliteResultListener
45
+ sqlite.results = from csvpath.managers.integrations.sqlite.sqlite_results_listener import SqliteResultsListener
46
+ default.file = from csvpath.managers.files.files_listener import FilesListener
47
+ default.paths = from csvpath.managers.paths.paths_listener import PathsListener
48
+ otlp.result = from csvpath.managers.integrations.otlp.otlp_result_listener import OpenTelemetryResultListener
49
+ otlp.results = from csvpath.managers.integrations.otlp.otlp_results_listener import OpenTelemetryResultsListener
50
+ otlp.errors = from csvpath.managers.integrations.otlp.otlp_error_listener import OpenTelemetryErrorListener
51
+ sftpplus.paths = from csvpath.managers.integrations.sftpplus.sftpplus_listener import SftpPlusListener
52
+ sftp.results = from csvpath.managers.integrations.sftp.sftp_listener import SftpListener
53
+ ckan.results = from csvpath.managers.integrations.ckan.ckan_listener import CkanListener
54
+ marquez.file = from csvpath.managers.integrations.ol.file_listener_ol import OpenLineageFileListener
55
+ marquez.paths = from csvpath.managers.integrations.ol.paths_listener_ol import OpenLineagePathsListener
56
+ marquez.result = from csvpath.managers.integrations.ol.result_listener_ol import OpenLineageResultListener
57
+ marquez.results = from csvpath.managers.integrations.ol.results_listener_ol import OpenLineageResultsListener
58
+ slack.file = from csvpath.managers.integrations.slack.sender import SlackSender
59
+ slack.paths = from csvpath.managers.integrations.slack.sender import SlackSender
60
+ slack.result = from csvpath.managers.integrations.slack.sender import SlackSender
61
+ slack.results = from csvpath.managers.integrations.slack.sender import SlackSender
62
+
63
+ [sftp]
64
+ server = 192.168.67.2
65
+ port = 10022
66
+ username = tinpenny
67
+ password = tinpenny
68
+
69
+ [sql]
70
+ dialect = mysql
71
+ connection_string = mysql://csvpath:hangzhou@192.168.66.1/csvpath
72
+
73
+ [sqlite]
74
+ db = archive/csvpath.db
75
+
76
+ [sftpplus]
77
+ mailbox_user = MAILBOX_USER
78
+ mailbox_password = MAILBOX_PASSWORD
79
+ server = SFTPPLUS_SERVER
80
+ port = SFTPPLUS_PORT
81
+ admin_username = SFTPPLUS_ADMIN_USERNAME
82
+ admin_password = SFTPPLUS_ADMIN_PASSWORD
83
+ api_url = https://localhost:10020/json
84
+ scripts_dir =
85
+ execute_timeout = 300
86
+
87
+ [ckan]
88
+ server = http://localhost:80
89
+ api_token = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3akJwc1ZuSkVrZm1aNnBtVTJfTW5CNlJXZ211YjdOOHVXZ1l1cUFDa0Q4IiwiaWF0IjoxNzM0NzE4NDQ3fQ.QXWXoJoSxVES4NwXYBteYUD7enX9D5T2htmETLGFzrs
90
+
91
+ [marquez]
92
+ base_url = http://localhost:5000
93
+ endpoint = api/v1/lineage
94
+ api_key = "none"
95
+ timeout = 5
96
+ verify = False
97
+
98
+ [slack]
99
+ webhook_url =
100
+
@@ -43,6 +43,11 @@ on_unmatched_file_fingerprints = halt
43
43
  groups =
44
44
  #slack, marquez, ckan, sftp, sftpplus, otlp, default, sqlite
45
45
 
46
+ sql.file = from csvpath.managers.integrations.sql.sql_file_listener import SqlFileListener
47
+ sql.paths = from csvpath.managers.integrations.sql.sql_paths_listener import SqlPathsListener
48
+ sql.result = from csvpath.managers.integrations.sql.sql_result_listener import SqlResultListener
49
+ sql.results = from csvpath.managers.integrations.sql.sql_results_listener import SqlResultsListener
50
+
46
51
  # add sqlite to capture staging, loads, and results in a local sqlite db
47
52
  sqlite.result = from csvpath.managers.integrations.sqlite.sqlite_result_listener import SqliteResultListener
48
53
  sqlite.results = from csvpath.managers.integrations.sqlite.sqlite_results_listener import SqliteResultsListener
@@ -18,7 +18,7 @@ log_files_to_keep = 100
18
18
  log_file_size = 52428800
19
19
 
20
20
  [config]
21
- path = assets/config/jenkins-local-azure.ini
21
+ path = assets/config/jenkins-local-gcs.ini
22
22
 
23
23
  [cache]
24
24
  path = cache
@@ -16,6 +16,8 @@ csvpaths = debug
16
16
  log_file = logs\csvpath.log
17
17
  log_files_to_keep = 100
18
18
  log_file_size = 52428800
19
+ # file or rotating
20
+ handler = file
19
21
 
20
22
  [config]
21
23
  path = assets\config\jenkins-windows-azure.ini
@@ -16,6 +16,8 @@ csvpaths = debug
16
16
  log_file = logs\csvpath.log
17
17
  log_files_to_keep = 100
18
18
  log_file_size = 52428800
19
+ # file or rotating
20
+ handler = file
19
21
 
20
22
  [config]
21
23
  path = assets\config\jenkins-windows-local.ini
@@ -16,6 +16,8 @@ csvpaths = debug
16
16
  log_file = logs\csvpath.log
17
17
  log_files_to_keep = 100
18
18
  log_file_size = 52428800
19
+ # file or rotating
20
+ handler = file
19
21
 
20
22
  [config]
21
23
  path = assets\config\jenkins-windows-sftp.ini
@@ -16,6 +16,8 @@ csvpaths = info
16
16
  log_file = logs/csvpath.log
17
17
  log_files_to_keep = 100
18
18
  log_file_size = 52428800
19
+ # file or rotating
20
+ handler = file
19
21
 
20
22
  [config]
21
23
  path = config/config.ini
@@ -33,9 +35,9 @@ archive = archive
33
35
 
34
36
  [inputs]
35
37
  files = inputs/named_files
38
+ csvpaths = inputs/named_paths
36
39
  #csvpaths = s3://csvpath-example-1/inputs/named_paths
37
40
  #files = sftp://172.17.0.3:10022/inputs/named_files
38
-
39
41
  on_unmatched_file_fingerprints = halt
40
42
 
41
43
  #
@@ -46,7 +48,13 @@ on_unmatched_file_fingerprints = halt
46
48
  groups =
47
49
  #slack, marquez, ckan, sftp, sftpplus, otlp, default, sqlite
48
50
 
49
- # add sqlite to capture staging, loads, and results in a local sqlite db
51
+ # add sql to capture staging, loads, and results in mysql, postgres, ms sql server, or sqlite
52
+ sql.file = from csvpath.managers.integrations.sql.sql_file_listener import SqlFileListener
53
+ sql.paths = from csvpath.managers.integrations.sql.sql_paths_listener import SqlPathsListener
54
+ sql.result = from csvpath.managers.integrations.sql.sql_result_listener import SqlResultListener
55
+ sql.results = from csvpath.managers.integrations.sql.sql_results_listener import SqlResultsListener
56
+
57
+ # add sqlite to capture staging, loads, and results in a local sqlite file
50
58
  sqlite.result = from csvpath.managers.integrations.sqlite.sqlite_result_listener import SqliteResultListener
51
59
  sqlite.results = from csvpath.managers.integrations.sqlite.sqlite_results_listener import SqliteResultsListener
52
60
 
@@ -99,6 +107,14 @@ password = tinpenny
99
107
  [sqlite]
100
108
  db = archive/csvpath.db
101
109
 
110
+ [sql]
111
+ # sqlite, mysql, postgres, or sql_server
112
+ dialect = sqlite
113
+ connection_string = sqlite:///archive/csvpath-sqlite.db
114
+ #dialect = mysql
115
+ #connection_string = mysql://csvpath:hangzhou@127.0.0.1/csvpath
116
+
117
+
102
118
  [sftpplus]
103
119
  # these are only needed by the csvpath writer
104
120
  mailbox_user = MAILBOX_USER