csvpath 0.0.608__tar.gz → 0.0.609__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 (404) hide show
  1. {csvpath-0.0.608 → csvpath-0.0.609}/PKG-INFO +1 -1
  2. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/webhook/webhook_listener.py +55 -28
  3. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/results_manager.py +16 -1
  4. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/config_env.py +10 -17
  5. {csvpath-0.0.608 → csvpath-0.0.609}/pyproject.toml +1 -1
  6. {csvpath-0.0.608 → csvpath-0.0.609}/LICENSE +0 -0
  7. {csvpath-0.0.608 → csvpath-0.0.609}/README.md +0 -0
  8. {csvpath-0.0.608 → csvpath-0.0.609}/assets/.DS_Store +0 -0
  9. {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/config.ini +0 -0
  10. {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/extra-functions.imports +0 -0
  11. {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/function.imports +0 -0
  12. {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-local-azure.ini +0 -0
  13. {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-local-filesystem-mysql.ini +0 -0
  14. {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-local-gcs.ini +0 -0
  15. {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-local-s3.ini +0 -0
  16. {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-local-sftp.ini +0 -0
  17. {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-windows-azure.ini +0 -0
  18. {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-windows-gcs.ini +0 -0
  19. {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-windows-local.ini +0 -0
  20. {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-windows-s3.ini +0 -0
  21. {csvpath-0.0.608 → csvpath-0.0.609}/assets/config/jenkins-windows-sftp.ini +0 -0
  22. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/.DS_Store +0 -0
  23. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/Mac.goenvironment.json +0 -0
  24. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/Windows.goenvironment.json +0 -0
  25. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/azure-pipeline.gopipeline.json +0 -0
  26. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/azure.sh +0 -0
  27. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/gcs.sh +0 -0
  28. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/google-pipeline.gopipeline.json +0 -0
  29. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/local-pipeline.gopipeline copy.json +0 -0
  30. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/local.sh +0 -0
  31. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/s3-pipeline.gopipeline.json +0 -0
  32. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/s3.sh +0 -0
  33. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/sftp-pipeline.gopipeline.json +0 -0
  34. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/mac/sftp.sh +0 -0
  35. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/azure.bat +0 -0
  36. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/gcs.bat +0 -0
  37. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/local.bat +0 -0
  38. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/s3.bat +0 -0
  39. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/sftp.bat +0 -0
  40. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/windows-azure.gopipeline.json +0 -0
  41. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/windows-gcs.gopipeline.json +0 -0
  42. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/windows-local.gopipeline.json +0 -0
  43. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/windows-s3.gopipeline.json +0 -0
  44. {csvpath-0.0.608 → csvpath-0.0.609}/assets/gocd/windows/windows-sftp.gopipeline.json +0 -0
  45. {csvpath-0.0.608 → csvpath-0.0.609}/assets/integrations/.DS_Store +0 -0
  46. {csvpath-0.0.608 → csvpath-0.0.609}/assets/integrations/sftpplus/handle_auto_arrival.bat +0 -0
  47. {csvpath-0.0.608 → csvpath-0.0.609}/assets/integrations/sftpplus/handle_auto_arrival.py +0 -0
  48. {csvpath-0.0.608 → csvpath-0.0.609}/assets/integrations/sftpplus/handle_auto_arrival.sh +0 -0
  49. {csvpath-0.0.608 → csvpath-0.0.609}/assets/integrations/sftpplus/handle_mailbox_arrival.bat +0 -0
  50. {csvpath-0.0.608 → csvpath-0.0.609}/assets/integrations/sftpplus/handle_mailbox_arrival.py +0 -0
  51. {csvpath-0.0.608 → csvpath-0.0.609}/assets/integrations/sftpplus/handle_mailbox_arrival.sh +0 -0
  52. {csvpath-0.0.608 → csvpath-0.0.609}/assets/integrations/sqlite/csvpath +0 -0
  53. {csvpath-0.0.608 → csvpath-0.0.609}/assets/integrations/sqlite/schema.sql +0 -0
  54. {csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.25-py3-none-any.whl +0 -0
  55. {csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.27-py3-none-any.whl +0 -0
  56. {csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.28-py3-none-any.whl +0 -0
  57. {csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.29-py3-none-any.whl +0 -0
  58. {csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.30.tar.gz +0 -0
  59. {csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.31.tar.gz +0 -0
  60. {csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.33.tar.gz +0 -0
  61. {csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.34.tar.gz +0 -0
  62. {csvpath-0.0.608 → csvpath-0.0.609}/assets/libs/release_candidate_maker-0.0.35.tar.gz +0 -0
  63. {csvpath-0.0.608 → csvpath-0.0.609}/config/config.ini +0 -0
  64. {csvpath-0.0.608 → csvpath-0.0.609}/config/env.json +0 -0
  65. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/__init__.py +0 -0
  66. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/cli/__init__.py +0 -0
  67. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/cli/asker.py +0 -0
  68. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/cli/cli.py +0 -0
  69. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/cli/const.py +0 -0
  70. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/cli/debug_config.py +0 -0
  71. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/cli/drill_down.py +0 -0
  72. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/cli/function_describer.py +0 -0
  73. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/cli/function_lister.py +0 -0
  74. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/cli/selecter.py +0 -0
  75. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/csvpath.py +0 -0
  76. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/csvpaths.py +0 -0
  77. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/__init__.py +0 -0
  78. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/errors/error.py +0 -0
  79. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/errors/error_collector.py +0 -0
  80. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/errors/error_comms.py +0 -0
  81. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/errors/error_manager.py +0 -0
  82. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/files/file_activator.py +0 -0
  83. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/files/file_describer.py +0 -0
  84. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/files/file_manager.py +0 -0
  85. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/files/file_metadata.py +0 -0
  86. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/files/file_registrar.py +0 -0
  87. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/files/files_activation_listener.py +0 -0
  88. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/files/files_listener.py +0 -0
  89. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/files/lines_and_headers_cacher.py +0 -0
  90. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ckan/ckan.py +0 -0
  91. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ckan/ckan_listener.py +0 -0
  92. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ckan/datafile.py +0 -0
  93. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ckan/dataset.py +0 -0
  94. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/event.py +0 -0
  95. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/event_result.py +0 -0
  96. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/file_listener_ol.py +0 -0
  97. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/job.py +0 -0
  98. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/ol_listener.py +0 -0
  99. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/paths_listener_ol.py +0 -0
  100. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/result_listener_ol.py +0 -0
  101. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/results_listener_ol.py +0 -0
  102. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/run.py +0 -0
  103. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/run_listener_ol.py +0 -0
  104. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/run_state.py +0 -0
  105. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/ol/sender.py +0 -0
  106. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/error_metrics.py +0 -0
  107. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/metrics.py +0 -0
  108. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/otlp_error_listener.py +0 -0
  109. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/otlp_file_listener.py +0 -0
  110. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/otlp_listener.py +0 -0
  111. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/otlp_paths_listener.py +0 -0
  112. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/otlp_result_listener.py +0 -0
  113. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/otlp/otlp_results_listener.py +0 -0
  114. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/scripts/scripts_results_listener.py +0 -0
  115. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sftp/sftp_sender.py +0 -0
  116. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sftpplus/arrival_handler.py +0 -0
  117. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sftpplus/rpc.py +0 -0
  118. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sftpplus/sftpplus_listener.py +0 -0
  119. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sftpplus/transfer_creator.py +0 -0
  120. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sftpplus/transfers.py +0 -0
  121. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/slack/event.py +0 -0
  122. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/slack/sender.py +0 -0
  123. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sql/engine.py +0 -0
  124. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sql/sql_file_listener.py +0 -0
  125. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sql/sql_listener.py +0 -0
  126. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sql/sql_paths_listener.py +0 -0
  127. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sql/sql_result_listener.py +0 -0
  128. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sql/sql_results_listener.py +0 -0
  129. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sql/tables.py +0 -0
  130. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sql/updates.py +0 -0
  131. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sqlite/schema.sql +0 -0
  132. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sqlite/sqlite_result_listener.py +0 -0
  133. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/sqlite/sqlite_results_listener.py +0 -0
  134. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/integrations/webhook/webhook_results_listener.py +0 -0
  135. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/listener.py +0 -0
  136. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/metadata.py +0 -0
  137. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/paths/paths_describer.py +0 -0
  138. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/paths/paths_listener.py +0 -0
  139. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/paths/paths_manager.py +0 -0
  140. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/paths/paths_metadata.py +0 -0
  141. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/paths/paths_registrar.py +0 -0
  142. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/registrar.py +0 -0
  143. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/readers/file_errors_reader.py +0 -0
  144. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/readers/file_lines_reader.py +0 -0
  145. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/readers/file_printouts_reader.py +0 -0
  146. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/readers/file_unmatched_reader.py +0 -0
  147. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/readers/readers.py +0 -0
  148. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/result.py +0 -0
  149. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/result_file_reader.py +0 -0
  150. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/result_metadata.py +0 -0
  151. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/result_registrar.py +0 -0
  152. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/result_serializer.py +0 -0
  153. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/results_metadata.py +0 -0
  154. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/results/results_registrar.py +0 -0
  155. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/run/run_listener_stdout.py +0 -0
  156. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/run/run_metadata.py +0 -0
  157. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/run/run_registrar.py +0 -0
  158. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/managers/test_listener.py +0 -0
  159. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/__init__.py +0 -0
  160. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/__init__.py +0 -0
  161. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/args.py +0 -0
  162. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/args_helper.py +0 -0
  163. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/all.py +0 -0
  164. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/andf.py +0 -0
  165. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/any.py +0 -0
  166. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/between.py +0 -0
  167. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/empty.py +0 -0
  168. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/exists.py +0 -0
  169. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/inf.py +0 -0
  170. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/no.py +0 -0
  171. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/notf.py +0 -0
  172. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/orf.py +0 -0
  173. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/boolean/yes.py +0 -0
  174. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/count.py +0 -0
  175. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/count_bytes.py +0 -0
  176. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/count_headers.py +0 -0
  177. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/count_lines.py +0 -0
  178. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/count_scans.py +0 -0
  179. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/counter.py +0 -0
  180. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/every.py +0 -0
  181. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/has_matches.py +0 -0
  182. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/increment.py +0 -0
  183. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/tally.py +0 -0
  184. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/counting/total_lines.py +0 -0
  185. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/dates/now.py +0 -0
  186. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/dates/part.py +0 -0
  187. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/dates/roll.py +0 -0
  188. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/function.py +0 -0
  189. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/function_factory.py +0 -0
  190. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/function_finder.py +0 -0
  191. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/function_focus.py +0 -0
  192. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/append.py +0 -0
  193. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/collect.py +0 -0
  194. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/empty_stack.py +0 -0
  195. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/end.py +0 -0
  196. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/header_name.py +0 -0
  197. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/header_names_mismatch.py +0 -0
  198. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/headers.py +0 -0
  199. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/headers_stack.py +0 -0
  200. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/insert.py +0 -0
  201. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/line_before.py +0 -0
  202. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/mismatch.py +0 -0
  203. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/remove.py +0 -0
  204. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/rename.py +0 -0
  205. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/replace.py +0 -0
  206. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/headers/reset_headers.py +0 -0
  207. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/json/jsonpath.py +0 -0
  208. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/lines/advance.py +0 -0
  209. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/lines/after_blank.py +0 -0
  210. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/lines/dups.py +0 -0
  211. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/lines/first.py +0 -0
  212. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/lines/first_line.py +0 -0
  213. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/lines/last.py +0 -0
  214. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/lines/stop.py +0 -0
  215. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/above.py +0 -0
  216. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/add.py +0 -0
  217. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/divide.py +0 -0
  218. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/equals.py +0 -0
  219. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/intf.py +0 -0
  220. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/mod.py +0 -0
  221. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/multiply.py +0 -0
  222. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/odd.py +0 -0
  223. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/round.py +0 -0
  224. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/subtotal.py +0 -0
  225. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/subtract.py +0 -0
  226. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/math/sum.py +0 -0
  227. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/misc/fingerprint.py +0 -0
  228. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/misc/importf.py +0 -0
  229. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/misc/parquet.py +0 -0
  230. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/misc/random.py +0 -0
  231. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/print/jinjaf.py +0 -0
  232. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/print/print_line.py +0 -0
  233. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/print/print_queue.py +0 -0
  234. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/print/printf.py +0 -0
  235. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/print/table.py +0 -0
  236. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/sql/sql_in.py +0 -0
  237. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/stats/minf.py +0 -0
  238. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/stats/nminmax.py +0 -0
  239. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/stats/percent.py +0 -0
  240. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/stats/percent_unique.py +0 -0
  241. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/stats/stdev.py +0 -0
  242. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/alter.py +0 -0
  243. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/caps.py +0 -0
  244. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/concat.py +0 -0
  245. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/contains.py +0 -0
  246. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/format.py +0 -0
  247. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/length.py +0 -0
  248. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/lower.py +0 -0
  249. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/metaphone.py +0 -0
  250. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/regex.py +0 -0
  251. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/starts_with.py +0 -0
  252. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/strip.py +0 -0
  253. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/substring.py +0 -0
  254. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/strings/upper.py +0 -0
  255. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/testing/debug.py +0 -0
  256. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/__init__.py +0 -0
  257. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/blank.py +0 -0
  258. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/boolean.py +0 -0
  259. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/datatype.py +0 -0
  260. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/datef.py +0 -0
  261. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/decimal.py +0 -0
  262. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/email.py +0 -0
  263. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/nonef.py +0 -0
  264. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/string.py +0 -0
  265. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/type.py +0 -0
  266. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/url.py +0 -0
  267. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/types/wildcard.py +0 -0
  268. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/validity/fail.py +0 -0
  269. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/validity/failed.py +0 -0
  270. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/validity/line.py +0 -0
  271. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/validity/matches.py +0 -0
  272. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/validity/percent_matching.py +0 -0
  273. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/variables/clear.py +0 -0
  274. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/variables/get.py +0 -0
  275. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/variables/index_of.py +0 -0
  276. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/variables/pushpop.py +0 -0
  277. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/variables/put.py +0 -0
  278. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/variables/slice.py +0 -0
  279. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/variables/sort.py +0 -0
  280. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/variables/track.py +0 -0
  281. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/variables/variables.py +0 -0
  282. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/functions/xml/xpath.py +0 -0
  283. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/lark_parser.py +0 -0
  284. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/lark_transformer.py +0 -0
  285. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/matcher.py +0 -0
  286. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/productions/__init__.py +0 -0
  287. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/productions/equality.py +0 -0
  288. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/productions/expression.py +0 -0
  289. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/productions/header.py +0 -0
  290. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/productions/matchable.py +0 -0
  291. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/productions/qualified.py +0 -0
  292. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/productions/reference.py +0 -0
  293. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/productions/term.py +0 -0
  294. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/productions/variable.py +0 -0
  295. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/util/exceptions.py +0 -0
  296. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/util/expression_encoder.py +0 -0
  297. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/util/expression_utility.py +0 -0
  298. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/util/lark_print_parser.py +0 -0
  299. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/util/parquet_utility.py +0 -0
  300. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/util/print_parser.py +0 -0
  301. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/matching/util/runtime_data_collector.py +0 -0
  302. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/error_mode.py +0 -0
  303. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/explain_mode.py +0 -0
  304. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/files_mode.py +0 -0
  305. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/logic_mode.py +0 -0
  306. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/mode_controller.py +0 -0
  307. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/print_mode.py +0 -0
  308. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/return_mode.py +0 -0
  309. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/run_mode.py +0 -0
  310. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/source_mode.py +0 -0
  311. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/transfer_mode.py +0 -0
  312. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/unmatched_mode.py +0 -0
  313. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/modes/validation_mode.py +0 -0
  314. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/scanning/__init__.py +0 -0
  315. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/scanning/scanner2.py +0 -0
  316. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/scanning/scanner2_parser.py +0 -0
  317. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/scanning/scanner2_transformer.py +0 -0
  318. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/azure/azure_data_reader.py +0 -0
  319. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/azure/azure_data_writer.py +0 -0
  320. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/azure/azure_fingerprinter.py +0 -0
  321. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/azure/azure_json_data_reader.py +0 -0
  322. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/azure/azure_nos.py +0 -0
  323. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/azure/azure_timing_policy.py +0 -0
  324. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/azure/azure_utils.py +0 -0
  325. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/azure/azure_xlsx_data_reader.py +0 -0
  326. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/backend_check.py +0 -0
  327. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/box.py +0 -0
  328. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/cache.py +0 -0
  329. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/caser.py +0 -0
  330. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/class_loader.py +0 -0
  331. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/code.py +0 -0
  332. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/config.py +0 -0
  333. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/config_exception.py +0 -0
  334. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/date_util.py +0 -0
  335. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/exceptions.py +0 -0
  336. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/file_info.py +0 -0
  337. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/file_readers.py +0 -0
  338. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/file_utility.py +0 -0
  339. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/file_writers.py +0 -0
  340. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/gcs/gcs_data_reader.py +0 -0
  341. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/gcs/gcs_data_writer.py +0 -0
  342. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/gcs/gcs_fingerprinter.py +0 -0
  343. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/gcs/gcs_json_data_reader.py +0 -0
  344. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/gcs/gcs_nos.py +0 -0
  345. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/gcs/gcs_utils.py +0 -0
  346. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/gcs/gcs_xlsx_data_reader.py +0 -0
  347. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/hasher.py +0 -0
  348. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/http/http_data_reader.py +0 -0
  349. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/intermediary.py +0 -0
  350. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/json/json_data_reader.py +0 -0
  351. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/json/json_reader_helper.py +0 -0
  352. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/last_line_stats.py +0 -0
  353. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/line_counter.py +0 -0
  354. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/line_monitor.py +0 -0
  355. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/line_spooler.py +0 -0
  356. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/log_utility.py +0 -0
  357. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/metadata_parser.py +0 -0
  358. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/nos.py +0 -0
  359. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/pandas_data_reader.py +0 -0
  360. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/path_util.py +0 -0
  361. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/printer.py +0 -0
  362. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/py_file_utility.py +0 -0
  363. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/files_reference_finder_2.py +0 -0
  364. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/files_tools/fingerprint_finder.py +0 -0
  365. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/files_tools/range_finder.py +0 -0
  366. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/ref_utils.py +0 -0
  367. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/reference_exceptions.py +0 -0
  368. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/reference_grammar.py +0 -0
  369. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/reference_manifest_entry_finder.py +0 -0
  370. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/reference_parser.py +0 -0
  371. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/reference_results.py +0 -0
  372. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/reference_transformer.py +0 -0
  373. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/results_reference_finder_2.py +0 -0
  374. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/results_tools/data_finder.py +0 -0
  375. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/results_tools/date_filter.py +0 -0
  376. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/results_tools/identity_finder.py +0 -0
  377. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/results_tools/path_filter.py +0 -0
  378. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/results_tools/resolve_possibles.py +0 -0
  379. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/results_tools/token_filters.py +0 -0
  380. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/results_tools/yesterday_or_today_translator.py +0 -0
  381. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/references/tools/date_completer.py +0 -0
  382. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/referrer_printer.py +0 -0
  383. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/run_home_maker.py +0 -0
  384. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/s3/s3_data_reader.py +0 -0
  385. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/s3/s3_data_writer.py +0 -0
  386. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/s3/s3_fingerprinter.py +0 -0
  387. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/s3/s3_json_data_reader.py +0 -0
  388. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/s3/s3_nos.py +0 -0
  389. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/s3/s3_utils.py +0 -0
  390. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/s3/s3_xlsx_data_reader.py +0 -0
  391. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/sftp/sftp_config.py +0 -0
  392. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/sftp/sftp_data_reader.py +0 -0
  393. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/sftp/sftp_data_writer.py +0 -0
  394. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/sftp/sftp_fingerprinter.py +0 -0
  395. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/sftp/sftp_json_data_reader.py +0 -0
  396. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/sftp/sftp_nos.py +0 -0
  397. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/sftp/sftp_walk.py +0 -0
  398. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/sftp/sftp_xlsx_data_reader.py +0 -0
  399. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/sqliter.py +0 -0
  400. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/stopwatch.py +0 -0
  401. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/template_util.py +0 -0
  402. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/var_utility.py +0 -0
  403. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/xlsx/xlsx_data_reader.py +0 -0
  404. {csvpath-0.0.608 → csvpath-0.0.609}/csvpath/util/xlsx/xlsx_reader_helper.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: csvpath
3
- Version: 0.0.608
3
+ Version: 0.0.609
4
4
  Summary: CsvPath Framework is a data preboarding automation library for receiving, validating, and tracking CSV, Excel, JSONL and other tabular data files before they can corrupt downstream data consumers.
5
5
  License-File: LICENSE
6
6
  Author: David Kershaw
@@ -1,9 +1,13 @@
1
1
  import requests
2
2
  import threading
3
+ import traceback
4
+ import json
3
5
 
4
6
  from csvpath.managers.metadata import Metadata
5
7
  from csvpath.managers.listener import Listener
6
8
  from csvpath.matching.util.expression_utility import ExpressionUtility
9
+ from csvpath.util.file_writers import DataFileWriter
10
+ from csvpath.util.nos import Nos
7
11
 
8
12
  #
9
13
  # ~
@@ -89,6 +93,7 @@ class WebhookListener(Listener, threading.Thread):
89
93
  try:
90
94
  self._do_hook_if(mdata=mdata, atype=t)
91
95
  except Exception as e:
96
+ print(traceback.format_exc())
92
97
  if isinstance(e, WebhookException):
93
98
  raise
94
99
  msg = f"WebhookListener could not call {t} webhook: {type(e)}: {e}"
@@ -105,31 +110,53 @@ class WebhookListener(Listener, threading.Thread):
105
110
  "Nothing to do for webhook url %s", WebhookListener.URLS[atype]
106
111
  )
107
112
  return
108
- payload = self._payload_for_type(mdata, atype)
109
- #
110
- # prep request
111
- #
112
- headers = {"Content-Type": "application/json"}
113
- headers = headers | self._headers_for_type(mdata, atype)
114
- #
115
- # send
116
- #
117
- x = requests.post(url, json=payload, headers=headers, timeout=self.timeout)
118
- if x and x.status_code != 200:
119
- if self.csvpaths is not None:
120
- self.csvpaths.logger.warning(
121
- "WebhookListener received status code %s from %s",
122
- x.status_code,
123
- "",
124
- )
125
- elif self.result is not None:
126
- self.result.csvpath.logger.warning(
127
- "WebhookListener received status code %s from %s",
128
- x.status_code,
129
- "",
130
- )
131
- else:
132
- msg = f"WebhookListener received status code {x.status_code} from {self.url}"
133
- self.csvpaths.logger.error(msg)
134
- if self.csvpaths.ecoms.do_i_raise():
135
- raise WebhookException(msg)
113
+ r = {"url": url}
114
+ try:
115
+ payload = self._payload_for_type(mdata, atype)
116
+ r["payload"] = payload
117
+ #
118
+ # prep request
119
+ #
120
+ headers = {"Content-Type": "application/json"}
121
+ headers = headers | self._headers_for_type(mdata, atype)
122
+ r["headers"] = headers
123
+ r["timeout"] = self.timeout
124
+ #
125
+ # send
126
+ #
127
+ x = requests.post(url, json=payload, headers=headers, timeout=self.timeout)
128
+ if x and x.status_code != 200:
129
+ if self.csvpaths is not None:
130
+ self.csvpaths.logger.warning(
131
+ "WebhookListener received status code %s from %s",
132
+ x.status_code,
133
+ "",
134
+ )
135
+ elif self.result is not None:
136
+ self.result.csvpath.logger.warning(
137
+ "WebhookListener received status code %s from %s",
138
+ x.status_code,
139
+ "",
140
+ )
141
+ else:
142
+ msg = f"WebhookListener received status code {x.status_code} from {self.url}"
143
+ self.csvpaths.logger.error(msg)
144
+ if self.csvpaths.ecoms.do_i_raise():
145
+ raise WebhookException(msg)
146
+ try:
147
+ r["response_json"] = x.json()
148
+ except requests.exceptions.JSONDecodeError:
149
+ ...
150
+ r["response"] = {"code": x.status_code, "text": x.text}
151
+ #
152
+ # save
153
+ #
154
+ nos = Nos(mdata.run_home)
155
+ path = nos.join(f"webhook-{atype}.json")
156
+ with DataFileWriter(path=path) as file:
157
+ file.write(json.dumps(r, indent=2))
158
+ except Exception:
159
+ print(traceback.format_exc())
160
+ raise
161
+ finally:
162
+ ...
@@ -870,12 +870,23 @@ class ResultsManager: # pylint: disable=C0115
870
870
  instances = Nos(path).listdir()
871
871
  rs = [None for inst in instances if inst != "manifest.json"]
872
872
  for inst in instances:
873
- if inst == "manifest.json":
873
+ if inst.endswith(".json"):
874
+ #
875
+ # exp ^^^^
876
+ #
877
+ # if inst == "manifest.json":
874
878
  continue
875
879
  r = self.get_named_result_for_instance(
876
880
  name=name, run_dir=path, run=run, instance=inst
877
881
  )
878
882
  rs[r.index] = r
883
+ #
884
+ # exp. works well, it seems. the problem is that we begin to have more json files
885
+ # we were avoiding manifest.json. when we added more we had to skip more leaving
886
+ # more nulls where an item was found, added to the array, but then passed over.
887
+ # other changes above were less effective than simply removing the nulls.
888
+ #
889
+ rs = [_ for _ in rs if _ is not None]
879
890
  return rs
880
891
 
881
892
  def get_named_result_for_instance(
@@ -892,6 +903,10 @@ class ResultsManager: # pylint: disable=C0115
892
903
  #
893
904
  _ = ""
894
905
 
906
+ print(
907
+ f"resman: get_named_result_for_instance: {name}, {run_dir}, {run}, {instance}"
908
+ )
909
+
895
910
  if run_dir.endswith(f"/{instance}") or run_dir.endswith(f"\\{instance}"):
896
911
  instance_dir = run_dir
897
912
  else:
@@ -35,14 +35,22 @@ class ConfigEnv:
35
35
  def var_sub_source(self) -> str:
36
36
  if self._var_sub_source is None:
37
37
  self._var_sub_source = self.config.get(
38
- section="config", name="var_sub_source", default="env", string_parse=False
38
+ section="config",
39
+ name="var_sub_source",
40
+ default="env",
41
+ string_parse=False,
39
42
  )
40
43
  return self._var_sub_source
41
44
 
42
45
  @property
43
46
  def allow_var_sub(self) -> bool:
44
47
  if self._allow is None:
45
- a = self.config.get(section="config", name="allow_var_sub", default=False, string_parse=False)
48
+ a = self.config.get(
49
+ section="config",
50
+ name="allow_var_sub",
51
+ default=False,
52
+ string_parse=False,
53
+ )
46
54
  self._allow = a and str(a).strip().lower() in ["true", "yes"]
47
55
  return self._allow
48
56
 
@@ -62,19 +70,6 @@ class ConfigEnv:
62
70
  try:
63
71
  if not self.nos(self.var_sub_source).exists():
64
72
  self.write_env_file({})
65
- """
66
- # cannot use DataFileWriter and DataFileReader because that would create a circular import.
67
- # with DataFileWriter(path=self.var_sub_source) as file:
68
- file = ClassLoader.load(
69
- "from csvpath.util.file_writers import DataFileWriter",
70
- [],
71
- {"path": self.var_sub_source},
72
- )
73
- file.__enter__()
74
- json.dump({}, file.sink, indent=4)
75
- file.__exit__(None, None, None)
76
- """
77
- # with DataFileReader(self.var_sub_source) as file:
78
73
  file = ClassLoader.load(
79
74
  "from csvpath.util.file_readers import DataFileReader",
80
75
  [self.var_sub_source],
@@ -87,8 +82,6 @@ class ConfigEnv:
87
82
  return self._env
88
83
 
89
84
  def write_env_file(self, j: dict) -> None:
90
- # cannot use DataFileWriter and DataFileReader because that would create a circular import.
91
- # with DataFileWriter(path=self.var_sub_source) as file:
92
85
  file = ClassLoader.load(
93
86
  "from csvpath.util.file_writers import DataFileWriter",
94
87
  [],
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "csvpath"
3
- version = "0.0.608"
3
+ version = "0.0.609"
4
4
  description = "CsvPath Framework is a data preboarding automation library for receiving, validating, and tracking CSV, Excel, JSONL and other tabular data files before they can corrupt downstream data consumers."
5
5
  authors = ["David Kershaw <info@csvpath.org>"]
6
6
  readme = "README.md"
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