csvpath 0.0.534__tar.gz → 0.0.536__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.
- {csvpath-0.0.534 → csvpath-0.0.536}/PKG-INFO +1 -1
- {csvpath-0.0.534 → csvpath-0.0.536/assets}/config/config.ini +11 -0
- csvpath-0.0.534/assets/config/jenkins-local-filesystem.ini → csvpath-0.0.536/assets/config/jenkins-local-filesystem-mysql.ini +14 -43
- csvpath-0.0.534/assets/config/jenkins-local-filesystem-mysql.ini → csvpath-0.0.536/assets/config/jenkins-local-filesystem.ini +1 -5
- {csvpath-0.0.534 → csvpath-0.0.536}/assets/config/jenkins-windows-azure.ini +2 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/assets/config/jenkins-windows-local.ini +10 -38
- {csvpath-0.0.534 → csvpath-0.0.536}/assets/config/jenkins-windows-sftp.ini +2 -0
- {csvpath-0.0.534/assets → csvpath-0.0.536}/config/config.ini +11 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/csvpaths.py +323 -181
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/files/file_manager.py +269 -64
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/files/file_metadata.py +1 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/files/file_registrar.py +17 -11
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/files/files_listener.py +2 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/ol/job.py +0 -1
- csvpath-0.0.536/csvpath/managers/integrations/scripts/scripts_results_listener.py +115 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/sftp/sftp_sender.py +3 -1
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/sftpplus/sftpplus_listener.py +0 -3
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/sftpplus/transfer_creator.py +2 -2
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/slack/sender.py +2 -1
- csvpath-0.0.536/csvpath/managers/integrations/sql/engine.py +31 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/sql/sql_file_listener.py +13 -3
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/sql/sql_listener.py +1 -8
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/sql/sql_paths_listener.py +11 -3
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/sql/sql_result_listener.py +1 -3
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/sql/sql_results_listener.py +1 -3
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/sql/tables.py +2 -0
- csvpath-0.0.536/csvpath/managers/integrations/sql/updates.py +29 -0
- csvpath-0.0.536/csvpath/managers/integrations/sqlite/sqlite_result_listener.py +85 -0
- csvpath-0.0.536/csvpath/managers/integrations/sqlite/sqlite_results_listener.py +116 -0
- csvpath-0.0.536/csvpath/managers/integrations/webhook/webhook_listener.py +83 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/paths/paths_manager.py +294 -32
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/paths/paths_metadata.py +1 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/paths/paths_registrar.py +3 -17
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/results/result.py +16 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/results/result_metadata.py +4 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/results/result_registrar.py +13 -12
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/results/result_serializer.py +0 -60
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/results/results_manager.py +214 -229
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/results/results_metadata.py +4 -1
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/results/results_registrar.py +2 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/args_helper.py +0 -87
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/headers/collect.py +2 -2
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/stats/minf.py +0 -1
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/productions/reference.py +5 -3
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/azure/azure_nos.py +68 -16
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/box.py +6 -1
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/cache.py +5 -1
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/config.py +12 -4
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/file_writers.py +1 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/gcs/gcs_nos.py +71 -28
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/hasher.py +3 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/http/http_data_reader.py +1 -1
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/intermediary.py +0 -3
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/log_utility.py +18 -4
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/nos.py +62 -7
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/pandas_data_reader.py +1 -1
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/path_util.py +29 -15
- csvpath-0.0.536/csvpath/util/references/files_reference_finder.py +530 -0
- csvpath-0.0.536/csvpath/util/references/ref_utils.py +141 -0
- {csvpath-0.0.534/csvpath/util → csvpath-0.0.536/csvpath/util/references}/reference_parser.py +76 -7
- csvpath-0.0.536/csvpath/util/references/results_reference_finder.py +242 -0
- csvpath-0.0.536/csvpath/util/run_home_maker.py +248 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/s3/s3_data_writer.py +3 -4
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/s3/s3_nos.py +75 -29
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/s3/s3_utils.py +10 -3
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/sftp/sftp_config.py +33 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/sftp/sftp_nos.py +65 -34
- csvpath-0.0.536/csvpath/util/sftp/sftp_walk.py +37 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/sqliter.py +1 -2
- csvpath-0.0.536/csvpath/util/template_util.py +112 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/var_utility.py +10 -7
- {csvpath-0.0.534 → csvpath-0.0.536}/pyproject.toml +1 -1
- csvpath-0.0.534/csvpath/managers/integrations/sql/engine.py +0 -24
- csvpath-0.0.534/csvpath/managers/integrations/sqlite/sqlite_result_listener.py +0 -83
- csvpath-0.0.534/csvpath/managers/integrations/sqlite/sqlite_results_listener.py +0 -114
- csvpath-0.0.534/csvpath/util/reference_finder.py +0 -292
- {csvpath-0.0.534 → csvpath-0.0.536}/LICENSE +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/README.md +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/assets/config/function.imports +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/assets/config/jenkins-local-azure.ini +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/assets/config/jenkins-local-gcs.ini +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/assets/config/jenkins-local-sftp.ini +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/assets/config/jenkins-s3.ini +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/assets/config/local-localhost-sftp.ini +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/assets/integrations/sftpplus/handle_auto_arrival.bat +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/assets/integrations/sftpplus/handle_auto_arrival.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/assets/integrations/sftpplus/handle_auto_arrival.sh +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/assets/integrations/sftpplus/handle_mailbox_arrival.bat +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/assets/integrations/sftpplus/handle_mailbox_arrival.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/assets/integrations/sftpplus/handle_mailbox_arrival.sh +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/assets/integrations/sqlite/csvpath +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/assets/integrations/sqlite/schema.sql +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/__init__.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/cli/__init__.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/cli/asker.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/cli/cli.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/cli/const.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/cli/debug_config.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/cli/drill_down.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/cli/function_describer.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/cli/function_lister.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/cli/selecter.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/csvpath.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/__init__.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/errors/error.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/errors/error_collector.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/errors/error_comms.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/errors/error_manager.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/files/lines_and_headers_cacher.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/ckan/ckan.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/ckan/ckan_listener.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/ckan/datafile.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/ckan/dataset.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/ol/event.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/ol/event_result.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/ol/file_listener_ol.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/ol/ol_listener.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/ol/paths_listener_ol.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/ol/result_listener_ol.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/ol/results_listener_ol.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/ol/run.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/ol/run_listener_ol.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/ol/run_state.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/ol/sender.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/otlp/error_metrics.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/otlp/metrics.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/otlp/otlp_error_listener.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/otlp/otlp_listener.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/otlp/otlp_result_listener.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/otlp/otlp_results_listener.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/sftpplus/arrival_handler.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/sftpplus/rpc.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/sftpplus/transfers.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/slack/event.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/integrations/sqlite/schema.sql +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/listener.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/metadata.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/paths/paths_listener.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/registrar.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/results/readers/file_errors_reader.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/results/readers/file_lines_reader.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/results/readers/file_printouts_reader.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/results/readers/file_unmatched_reader.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/results/readers/readers.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/results/result_file_reader.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/run/run_listener_stdout.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/run/run_metadata.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/managers/run/run_registrar.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/__init__.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/__init__.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/args.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/boolean/all.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/boolean/andf.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/boolean/any.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/boolean/between.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/boolean/empty.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/boolean/exists.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/boolean/inf.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/boolean/no.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/boolean/notf.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/boolean/orf.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/boolean/yes.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/counting/count.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/counting/count_bytes.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/counting/count_headers.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/counting/count_lines.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/counting/count_scans.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/counting/counter.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/counting/every.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/counting/has_matches.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/counting/increment.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/counting/tally.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/counting/total_lines.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/dates/now.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/function.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/function_factory.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/function_finder.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/function_focus.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/headers/append.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/headers/empty_stack.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/headers/end.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/headers/header_name.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/headers/header_names_mismatch.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/headers/headers.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/headers/insert.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/headers/mismatch.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/headers/replace.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/headers/reset_headers.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/lines/advance.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/lines/after_blank.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/lines/dups.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/lines/first.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/lines/first_line.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/lines/last.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/lines/stop.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/math/above.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/math/add.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/math/divide.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/math/equals.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/math/intf.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/math/mod.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/math/multiply.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/math/odd.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/math/round.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/math/subtotal.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/math/subtract.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/math/sum.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/misc/fingerprint.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/misc/importf.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/misc/random.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/print/jinjaf.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/print/print_line.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/print/print_queue.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/print/printf.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/print/table.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/stats/percent.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/stats/percent_unique.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/stats/stdev.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/strings/alter.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/strings/caps.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/strings/concat.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/strings/contains.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/strings/length.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/strings/lower.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/strings/metaphone.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/strings/regex.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/strings/starts_with.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/strings/strip.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/strings/substring.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/strings/upper.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/testing/debug.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/types/__init__.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/types/boolean.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/types/datef.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/types/decimal.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/types/email.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/types/nonef.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/types/string.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/types/type.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/types/url.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/validity/fail.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/validity/failed.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/validity/line.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/variables/get.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/variables/pushpop.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/variables/put.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/variables/track.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/functions/variables/variables.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/lark_parser.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/lark_transformer.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/matcher.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/productions/__init__.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/productions/equality.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/productions/expression.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/productions/header.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/productions/matchable.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/productions/qualified.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/productions/term.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/productions/variable.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/util/exceptions.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/util/expression_encoder.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/util/expression_utility.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/util/lark_print_parser.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/util/print_parser.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/matching/util/runtime_data_collector.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/modes/error_mode.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/modes/explain_mode.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/modes/files_mode.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/modes/logic_mode.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/modes/mode_controller.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/modes/print_mode.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/modes/return_mode.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/modes/run_mode.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/modes/source_mode.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/modes/transfer_mode.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/modes/unmatched_mode.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/modes/validation_mode.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/scanning/__init__.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/scanning/exceptions.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/scanning/parser.out +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/scanning/parsetab.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/scanning/scanner.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/scanning/scanning_lexer.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/azure/azure_data_reader.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/azure/azure_data_writer.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/azure/azure_fingerprinter.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/azure/azure_utils.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/azure/azure_xlsx_data_reader.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/caser.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/class_loader.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/code.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/config_exception.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/exceptions.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/file_info.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/file_readers.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/gcs/gcs_data_reader.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/gcs/gcs_data_writer.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/gcs/gcs_fingerprinter.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/gcs/gcs_utils.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/gcs/gcs_xlsx_data_reader.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/last_line_stats.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/line_counter.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/line_monitor.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/line_spooler.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/metadata_parser.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/printer.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/s3/s3_data_reader.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/s3/s3_fingerprinter.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/s3/s3_xlsx_data_reader.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/sftp/sftp_data_reader.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/sftp/sftp_data_writer.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/sftp/sftp_fingerprinter.py +0 -0
- {csvpath-0.0.534 → csvpath-0.0.536}/csvpath/util/sftp/sftp_xlsx_data_reader.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: csvpath
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.536
|
|
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
|
|
@@ -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
|
|
@@ -46,6 +48,9 @@ on_unmatched_file_fingerprints = halt
|
|
|
46
48
|
groups =
|
|
47
49
|
#slack, marquez, ckan, sftp, sftpplus, otlp, default, sqlite
|
|
48
50
|
|
|
51
|
+
# add a listener to exec scripts at the end of named-paths group runs
|
|
52
|
+
scripts.results = from csvpath.managers.integrations.scripts.scripts_results_listener import ScriptsResultsListener
|
|
53
|
+
|
|
49
54
|
# add sql to capture staging, loads, and results in mysql, postgres, ms sql server, or sqlite
|
|
50
55
|
sql.file = from csvpath.managers.integrations.sql.sql_file_listener import SqlFileListener
|
|
51
56
|
sql.paths = from csvpath.managers.integrations.sql.sql_paths_listener import SqlPathsListener
|
|
@@ -109,6 +114,9 @@ db = archive/csvpath.db
|
|
|
109
114
|
# sqlite, mysql, postgres, or sql_server
|
|
110
115
|
dialect = sqlite
|
|
111
116
|
connection_string = sqlite:///archive/csvpath-sqlite.db
|
|
117
|
+
#dialect = mysql
|
|
118
|
+
#connection_string = mysql://csvpath:hangzhou@127.0.0.1/csvpath
|
|
119
|
+
|
|
112
120
|
|
|
113
121
|
[sftpplus]
|
|
114
122
|
# these are only needed by the csvpath writer
|
|
@@ -140,4 +148,7 @@ verify = False
|
|
|
140
148
|
# on-invalid-slack: webhook-minus-'https://'
|
|
141
149
|
webhook_url =
|
|
142
150
|
|
|
151
|
+
[scripts]
|
|
152
|
+
run_scripts = yes
|
|
153
|
+
shell = /bin/bash
|
|
143
154
|
|
|
@@ -5,8 +5,8 @@ extensions = txt, csvpath, csvpaths
|
|
|
5
5
|
extensions = txt, csv, tsv, dat, tab, psv, ssv
|
|
6
6
|
|
|
7
7
|
[errors]
|
|
8
|
-
csvpath = raise, collect,
|
|
9
|
-
csvpaths = raise, collect
|
|
8
|
+
csvpath = raise, collect, print
|
|
9
|
+
csvpaths = raise, collect, print
|
|
10
10
|
use_format = full
|
|
11
11
|
pattern = {time}:{file}:{line}:{paths}:{instance}:{chain}: {message}
|
|
12
12
|
|
|
@@ -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-filesystem.ini
|
|
21
|
+
path = assets/config/jenkins-local-filesystem-mysql.ini
|
|
22
22
|
|
|
23
23
|
[cache]
|
|
24
24
|
path = cache
|
|
@@ -35,78 +35,53 @@ files = inputs/named_files
|
|
|
35
35
|
csvpaths = inputs/named_paths
|
|
36
36
|
on_unmatched_file_fingerprints = halt
|
|
37
37
|
|
|
38
|
-
#
|
|
39
|
-
# integrations activation
|
|
40
|
-
#
|
|
41
|
-
|
|
42
38
|
[listeners]
|
|
43
|
-
groups =
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
|
47
44
|
sqlite.result = from csvpath.managers.integrations.sqlite.sqlite_result_listener import SqliteResultListener
|
|
48
45
|
sqlite.results = from csvpath.managers.integrations.sqlite.sqlite_results_listener import SqliteResultsListener
|
|
49
|
-
|
|
50
|
-
# these simple default listeners track all files staged and all paths loaded in
|
|
51
|
-
# central manifests. unlike other manifest writers, if they have multiple
|
|
52
|
-
# concurrent users they have potential a race condition. users that do not
|
|
53
|
-
# share inputs directories do not need to worry about this. you should vet
|
|
54
|
-
# using them against your use case; potential utility vs. the modest but non-0
|
|
55
|
-
# risk of lost updates. they can be disabled with little loss of function.
|
|
56
|
-
# alternatively a database-backed version may be more suitable.
|
|
57
46
|
default.file = from csvpath.managers.files.files_listener import FilesListener
|
|
58
47
|
default.paths = from csvpath.managers.paths.paths_listener import PathsListener
|
|
59
|
-
|
|
60
|
-
# add otlp to support any OpenTelemetry backend
|
|
61
48
|
otlp.result = from csvpath.managers.integrations.otlp.otlp_result_listener import OpenTelemetryResultListener
|
|
62
49
|
otlp.results = from csvpath.managers.integrations.otlp.otlp_results_listener import OpenTelemetryResultsListener
|
|
63
50
|
otlp.errors = from csvpath.managers.integrations.otlp.otlp_error_listener import OpenTelemetryErrorListener
|
|
64
|
-
|
|
65
|
-
# add sftpplus to the list of groups above to automate registration and named-paths group runs on file arrival at an SFTPPlus server
|
|
66
51
|
sftpplus.paths = from csvpath.managers.integrations.sftpplus.sftpplus_listener import SftpPlusListener
|
|
67
|
-
|
|
68
|
-
# add sftp to the list of groups above to push results to an sftp account
|
|
69
52
|
sftp.results = from csvpath.managers.integrations.sftp.sftp_listener import SftpListener
|
|
70
|
-
|
|
71
|
-
# add ckan to the list of groups above for alerts to slack webhooks
|
|
72
53
|
ckan.results = from csvpath.managers.integrations.ckan.ckan_listener import CkanListener
|
|
73
|
-
|
|
74
|
-
#add marquez to the list of groups above for OpenLineage events to a Marquez server
|
|
75
54
|
marquez.file = from csvpath.managers.integrations.ol.file_listener_ol import OpenLineageFileListener
|
|
76
55
|
marquez.paths = from csvpath.managers.integrations.ol.paths_listener_ol import OpenLineagePathsListener
|
|
77
56
|
marquez.result = from csvpath.managers.integrations.ol.result_listener_ol import OpenLineageResultListener
|
|
78
57
|
marquez.results = from csvpath.managers.integrations.ol.results_listener_ol import OpenLineageResultsListener
|
|
79
|
-
|
|
80
|
-
# add slack to the list of groups above for alerts to slack webhooks
|
|
81
58
|
slack.file = from csvpath.managers.integrations.slack.sender import SlackSender
|
|
82
59
|
slack.paths = from csvpath.managers.integrations.slack.sender import SlackSender
|
|
83
60
|
slack.result = from csvpath.managers.integrations.slack.sender import SlackSender
|
|
84
61
|
slack.results = from csvpath.managers.integrations.slack.sender import SlackSender
|
|
85
62
|
|
|
86
|
-
#
|
|
87
|
-
# integrations setup
|
|
88
|
-
#
|
|
89
|
-
|
|
90
63
|
[sftp]
|
|
91
64
|
server = 192.168.67.2
|
|
92
65
|
port = 10022
|
|
93
66
|
username = tinpenny
|
|
94
67
|
password = tinpenny
|
|
95
68
|
|
|
69
|
+
[sql]
|
|
70
|
+
dialect = mysql
|
|
71
|
+
connection_string = mysql://csvpath:hangzhou@192.168.66.1/csvpath
|
|
72
|
+
|
|
96
73
|
[sqlite]
|
|
97
74
|
db = archive/csvpath.db
|
|
98
75
|
|
|
99
76
|
[sftpplus]
|
|
100
|
-
# these are only needed by the csvpath writer
|
|
101
77
|
mailbox_user = MAILBOX_USER
|
|
102
78
|
mailbox_password = MAILBOX_PASSWORD
|
|
103
79
|
server = SFTPPLUS_SERVER
|
|
104
80
|
port = SFTPPLUS_PORT
|
|
105
|
-
# these are only needed on the server
|
|
106
81
|
admin_username = SFTPPLUS_ADMIN_USERNAME
|
|
107
82
|
admin_password = SFTPPLUS_ADMIN_PASSWORD
|
|
108
83
|
api_url = https://localhost:10020/json
|
|
109
|
-
scripts_dir =
|
|
84
|
+
scripts_dir =
|
|
110
85
|
execute_timeout = 300
|
|
111
86
|
|
|
112
87
|
[ckan]
|
|
@@ -121,9 +96,5 @@ timeout = 5
|
|
|
121
96
|
verify = False
|
|
122
97
|
|
|
123
98
|
[slack]
|
|
124
|
-
|
|
125
|
-
# on-valid-slack: webhook-minus-'https://' and/or
|
|
126
|
-
# on-invalid-slack: webhook-minus-'https://'
|
|
127
|
-
webhook_url =
|
|
128
|
-
|
|
99
|
+
webhook_url =
|
|
129
100
|
|
|
@@ -40,7 +40,7 @@ on_unmatched_file_fingerprints = halt
|
|
|
40
40
|
#
|
|
41
41
|
|
|
42
42
|
[listeners]
|
|
43
|
-
groups =
|
|
43
|
+
groups =
|
|
44
44
|
#slack, marquez, ckan, sftp, sftpplus, otlp, default, sqlite
|
|
45
45
|
|
|
46
46
|
sql.file = from csvpath.managers.integrations.sql.sql_file_listener import SqlFileListener
|
|
@@ -98,10 +98,6 @@ port = 10022
|
|
|
98
98
|
username = tinpenny
|
|
99
99
|
password = tinpenny
|
|
100
100
|
|
|
101
|
-
[sql]
|
|
102
|
-
dialect = mysql
|
|
103
|
-
connection_string = mysql://csvpath:hangzhou@127.0.0.1/csvpath
|
|
104
|
-
|
|
105
101
|
[sqlite]
|
|
106
102
|
db = archive/csvpath.db
|
|
107
103
|
|
|
@@ -5,8 +5,8 @@ extensions = txt, csvpath, csvpaths
|
|
|
5
5
|
extensions = txt, csv, tsv, dat, tab, psv, ssv
|
|
6
6
|
|
|
7
7
|
[errors]
|
|
8
|
-
csvpath = raise, collect,
|
|
9
|
-
csvpaths = raise, collect
|
|
8
|
+
csvpath = raise, collect, print
|
|
9
|
+
csvpaths = raise, collect, print
|
|
10
10
|
use_format = full
|
|
11
11
|
pattern = {time}:{file}:{line}:{paths}:{instance}:{chain}: {message}
|
|
12
12
|
|
|
@@ -16,6 +16,7 @@ csvpaths = debug
|
|
|
16
16
|
log_file = logs\csvpath.log
|
|
17
17
|
log_files_to_keep = 100
|
|
18
18
|
log_file_size = 52428800
|
|
19
|
+
handler = file
|
|
19
20
|
|
|
20
21
|
[config]
|
|
21
22
|
path = assets\config\jenkins-windows-local.ini
|
|
@@ -35,58 +36,29 @@ files = inputs\named_files
|
|
|
35
36
|
csvpaths = inputs\named_paths
|
|
36
37
|
on_unmatched_file_fingerprints = halt
|
|
37
38
|
|
|
38
|
-
#
|
|
39
|
-
# integrations activation
|
|
40
|
-
#
|
|
41
|
-
|
|
42
39
|
[listeners]
|
|
43
|
-
groups =
|
|
44
|
-
|
|
40
|
+
groups = scripts
|
|
41
|
+
scripts.results = from csvpath.managers.integrations.scripts.scripts_results_listener import ScriptsResultsListener
|
|
45
42
|
|
|
46
|
-
# add sqlite to capture staging, loads, and results in a local sqlite db
|
|
47
43
|
sqlite.result = from csvpath.managers.integrations.sqlite.sqlite_result_listener import SqliteResultListener
|
|
48
44
|
sqlite.results = from csvpath.managers.integrations.sqlite.sqlite_results_listener import SqliteResultsListener
|
|
49
|
-
|
|
50
|
-
# these simple default listeners track all files staged and all paths loaded in
|
|
51
|
-
# central manifests. unlike other manifest writers, if they have multiple
|
|
52
|
-
# concurrent users they have potential a race condition. users that do not
|
|
53
|
-
# share inputs directories do not need to worry about this. you should vet
|
|
54
|
-
# using them against your use case; potential utility vs. the modest but non-0
|
|
55
|
-
# risk of lost updates. they can be disabled with little loss of function.
|
|
56
|
-
# alternatively a database-backed version may be more suitable.
|
|
57
45
|
default.file = from csvpath.managers.files.files_listener import FilesListener
|
|
58
46
|
default.paths = from csvpath.managers.paths.paths_listener import PathsListener
|
|
59
|
-
|
|
60
|
-
# add otlp to support any OpenTelemetry backend
|
|
61
47
|
otlp.result = from csvpath.managers.integrations.otlp.otlp_result_listener import OpenTelemetryResultListener
|
|
62
48
|
otlp.results = from csvpath.managers.integrations.otlp.otlp_results_listener import OpenTelemetryResultsListener
|
|
63
49
|
otlp.errors = from csvpath.managers.integrations.otlp.otlp_error_listener import OpenTelemetryErrorListener
|
|
64
|
-
|
|
65
|
-
# add sftpplus to the list of groups above to automate registration and named-paths group runs on file arrival at an SFTPPlus server
|
|
66
50
|
sftpplus.paths = from csvpath.managers.integrations.sftpplus.sftpplus_listener import SftpPlusListener
|
|
67
|
-
|
|
68
|
-
# add sftp to the list of groups above to push results to an sftp account
|
|
69
51
|
sftp.results = from csvpath.managers.integrations.sftp.sftp_listener import SftpListener
|
|
70
|
-
|
|
71
|
-
# add ckan to the list of groups above for alerts to slack webhooks
|
|
72
52
|
ckan.results = from csvpath.managers.integrations.ckan.ckan_listener import CkanListener
|
|
73
|
-
|
|
74
|
-
#add marquez to the list of groups above for OpenLineage events to a Marquez server
|
|
75
53
|
marquez.file = from csvpath.managers.integrations.ol.file_listener_ol import OpenLineageFileListener
|
|
76
54
|
marquez.paths = from csvpath.managers.integrations.ol.paths_listener_ol import OpenLineagePathsListener
|
|
77
55
|
marquez.result = from csvpath.managers.integrations.ol.result_listener_ol import OpenLineageResultListener
|
|
78
56
|
marquez.results = from csvpath.managers.integrations.ol.results_listener_ol import OpenLineageResultsListener
|
|
79
|
-
|
|
80
|
-
# add slack to the list of groups above for alerts to slack webhooks
|
|
81
57
|
slack.file = from csvpath.managers.integrations.slack.sender import SlackSender
|
|
82
58
|
slack.paths = from csvpath.managers.integrations.slack.sender import SlackSender
|
|
83
59
|
slack.result = from csvpath.managers.integrations.slack.sender import SlackSender
|
|
84
60
|
slack.results = from csvpath.managers.integrations.slack.sender import SlackSender
|
|
85
61
|
|
|
86
|
-
#
|
|
87
|
-
# integrations setup
|
|
88
|
-
#
|
|
89
|
-
|
|
90
62
|
[sftp]
|
|
91
63
|
server = 192.168.67.2
|
|
92
64
|
port = 10022
|
|
@@ -97,12 +69,10 @@ password = tinpenny
|
|
|
97
69
|
db = archive\csvpath.db
|
|
98
70
|
|
|
99
71
|
[sftpplus]
|
|
100
|
-
# these are only needed by the csvpath writer
|
|
101
72
|
mailbox_user = MAILBOX_USER
|
|
102
73
|
mailbox_password = MAILBOX_PASSWORD
|
|
103
74
|
server = SFTPPLUS_SERVER
|
|
104
75
|
port = SFTPPLUS_PORT
|
|
105
|
-
# these are only needed on the server
|
|
106
76
|
admin_username = SFTPPLUS_ADMIN_USERNAME
|
|
107
77
|
admin_password = SFTPPLUS_ADMIN_PASSWORD
|
|
108
78
|
api_url = https://localhost:10020/json
|
|
@@ -121,9 +91,11 @@ timeout = 5
|
|
|
121
91
|
verify = False
|
|
122
92
|
|
|
123
93
|
[slack]
|
|
124
|
-
# add your main webhook here. to set webhooks on a csvpath-by-csvpath basis add
|
|
125
|
-
# on-valid-slack: webhook-minus-'https://' and/or
|
|
126
|
-
# on-invalid-slack: webhook-minus-'https://'
|
|
127
94
|
webhook_url =
|
|
128
95
|
|
|
96
|
+
[scripts]
|
|
97
|
+
run_scripts = yes
|
|
98
|
+
shell = /bin/bash
|
|
99
|
+
|
|
100
|
+
|
|
129
101
|
|
|
@@ -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
|
|
@@ -46,6 +48,9 @@ on_unmatched_file_fingerprints = halt
|
|
|
46
48
|
groups =
|
|
47
49
|
#slack, marquez, ckan, sftp, sftpplus, otlp, default, sqlite
|
|
48
50
|
|
|
51
|
+
# add a listener to exec scripts at the end of named-paths group runs
|
|
52
|
+
scripts.results = from csvpath.managers.integrations.scripts.scripts_results_listener import ScriptsResultsListener
|
|
53
|
+
|
|
49
54
|
# add sql to capture staging, loads, and results in mysql, postgres, ms sql server, or sqlite
|
|
50
55
|
sql.file = from csvpath.managers.integrations.sql.sql_file_listener import SqlFileListener
|
|
51
56
|
sql.paths = from csvpath.managers.integrations.sql.sql_paths_listener import SqlPathsListener
|
|
@@ -109,6 +114,9 @@ db = archive/csvpath.db
|
|
|
109
114
|
# sqlite, mysql, postgres, or sql_server
|
|
110
115
|
dialect = sqlite
|
|
111
116
|
connection_string = sqlite:///archive/csvpath-sqlite.db
|
|
117
|
+
#dialect = mysql
|
|
118
|
+
#connection_string = mysql://csvpath:hangzhou@127.0.0.1/csvpath
|
|
119
|
+
|
|
112
120
|
|
|
113
121
|
[sftpplus]
|
|
114
122
|
# these are only needed by the csvpath writer
|
|
@@ -140,4 +148,7 @@ verify = False
|
|
|
140
148
|
# on-invalid-slack: webhook-minus-'https://'
|
|
141
149
|
webhook_url =
|
|
142
150
|
|
|
151
|
+
[scripts]
|
|
152
|
+
run_scripts = yes
|
|
153
|
+
shell = /bin/bash
|
|
143
154
|
|