csvpath 0.0.613__tar.gz → 0.0.615__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.613 → csvpath-0.0.615}/PKG-INFO +1 -1
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/config/jenkins-local-sftp.ini +3 -3
- csvpath-0.0.615/assets/libs/release_candidate_maker-0.0.36.tar.gz +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/config/config.ini +3 -3
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/files/file_manager.py +52 -19
- csvpath-0.0.615/csvpath/managers/files/files_activation_listener.py +46 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/pyproject.toml +1 -1
- csvpath-0.0.613/csvpath/managers/files/files_activation_listener.py +0 -31
- {csvpath-0.0.613 → csvpath-0.0.615}/LICENSE +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/README.md +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/.DS_Store +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/config/config.ini +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/config/extra-functions.imports +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/config/function.imports +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/config/jenkins-local-azure.ini +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/config/jenkins-local-filesystem-mysql.ini +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/config/jenkins-local-gcs.ini +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/config/jenkins-local-s3.ini +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/config/jenkins-windows-azure.ini +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/config/jenkins-windows-gcs.ini +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/config/jenkins-windows-local.ini +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/config/jenkins-windows-s3.ini +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/config/jenkins-windows-sftp.ini +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/.DS_Store +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/Mac.goenvironment.json +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/Windows.goenvironment.json +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/mac/azure-pipeline.gopipeline.json +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/mac/azure.sh +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/mac/gcs.sh +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/mac/google-pipeline.gopipeline.json +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/mac/local-pipeline.gopipeline copy.json +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/mac/local.sh +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/mac/s3-pipeline.gopipeline.json +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/mac/s3.sh +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/mac/sftp-pipeline.gopipeline.json +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/mac/sftp.sh +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/windows/azure.bat +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/windows/gcs.bat +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/windows/local.bat +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/windows/s3.bat +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/windows/sftp.bat +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/windows/windows-azure.gopipeline.json +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/windows/windows-gcs.gopipeline.json +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/windows/windows-local.gopipeline.json +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/windows/windows-s3.gopipeline.json +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/gocd/windows/windows-sftp.gopipeline.json +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/integrations/.DS_Store +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/integrations/sftpplus/handle_auto_arrival.bat +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/integrations/sftpplus/handle_auto_arrival.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/integrations/sftpplus/handle_auto_arrival.sh +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/integrations/sftpplus/handle_mailbox_arrival.bat +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/integrations/sftpplus/handle_mailbox_arrival.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/integrations/sftpplus/handle_mailbox_arrival.sh +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/integrations/sqlite/csvpath +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/integrations/sqlite/schema.sql +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/libs/release_candidate_maker-0.0.25-py3-none-any.whl +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/libs/release_candidate_maker-0.0.27-py3-none-any.whl +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/libs/release_candidate_maker-0.0.28-py3-none-any.whl +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/libs/release_candidate_maker-0.0.29-py3-none-any.whl +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/libs/release_candidate_maker-0.0.30.tar.gz +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/libs/release_candidate_maker-0.0.31.tar.gz +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/libs/release_candidate_maker-0.0.33.tar.gz +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/libs/release_candidate_maker-0.0.34.tar.gz +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/assets/libs/release_candidate_maker-0.0.35.tar.gz +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/config/env.json +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/__init__.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/cli/__init__.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/cli/asker.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/cli/cli.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/cli/const.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/cli/debug_config.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/cli/drill_down.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/cli/function_describer.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/cli/function_lister.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/cli/selecter.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/csvpath.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/csvpaths.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/__init__.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/errors/error.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/errors/error_collector.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/errors/error_comms.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/errors/error_manager.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/files/file_activator.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/files/file_describer.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/files/file_descriptor.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/files/file_metadata.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/files/file_names_rules.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/files/file_registrar.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/files/files_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/files/lines_and_headers_cacher.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/ckan/ckan.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/ckan/ckan_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/ckan/datafile.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/ckan/dataset.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/ol/event.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/ol/event_result.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/ol/file_listener_ol.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/ol/job.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/ol/ol_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/ol/paths_listener_ol.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/ol/result_listener_ol.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/ol/results_listener_ol.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/ol/run.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/ol/run_listener_ol.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/ol/run_state.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/ol/sender.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/otlp/error_metrics.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/otlp/metrics.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/otlp/otlp_error_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/otlp/otlp_file_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/otlp/otlp_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/otlp/otlp_paths_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/otlp/otlp_result_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/otlp/otlp_results_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/scripts/scripts_results_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/sftp/sftp_sender.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/slack/event.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/slack/sender.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/sql/engine.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/sql/sql_file_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/sql/sql_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/sql/sql_paths_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/sql/sql_result_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/sql/sql_results_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/sql/tables.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/sql/updates.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/sqlite/schema.sql +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/sqlite/sqlite_result_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/sqlite/sqlite_results_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/webhook/webhook_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/webhook/webhook_results_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/metadata.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/paths/paths_describer.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/paths/paths_descriptor.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/paths/paths_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/paths/paths_manager.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/paths/paths_metadata.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/paths/paths_registrar.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/registrar.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/results/readers/file_errors_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/results/readers/file_lines_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/results/readers/file_printouts_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/results/readers/file_unmatched_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/results/readers/readers.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/results/result.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/results/result_file_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/results/result_metadata.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/results/result_registrar.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/results/result_serializer.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/results/results_manager.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/results/results_metadata.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/results/results_registrar.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/results/transfers_manager.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/run/run_listener_stdout.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/run/run_metadata.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/run/run_registrar.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/server_config.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/test_listener.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/__init__.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/__init__.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/args.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/args_helper.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/boolean/all.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/boolean/andf.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/boolean/any.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/boolean/between.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/boolean/empty.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/boolean/exists.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/boolean/inf.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/boolean/no.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/boolean/notf.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/boolean/orf.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/boolean/yes.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/counting/count.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/counting/count_bytes.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/counting/count_headers.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/counting/count_lines.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/counting/count_scans.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/counting/counter.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/counting/every.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/counting/has_matches.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/counting/increment.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/counting/tally.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/counting/total_lines.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/dates/now.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/dates/part.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/dates/roll.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/function.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/function_factory.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/function_finder.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/function_focus.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/headers/append.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/headers/collect.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/headers/empty_stack.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/headers/end.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/headers/header_name.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/headers/header_names_mismatch.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/headers/headers.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/headers/headers_stack.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/headers/insert.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/headers/line_before.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/headers/mismatch.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/headers/remove.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/headers/rename.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/headers/replace.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/headers/reset_headers.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/json/jsonpath.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/lines/advance.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/lines/after_blank.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/lines/dups.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/lines/first.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/lines/first_line.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/lines/last.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/lines/stop.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/math/above.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/math/add.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/math/divide.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/math/equals.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/math/intf.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/math/mod.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/math/multiply.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/math/odd.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/math/round.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/math/subtotal.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/math/subtract.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/math/sum.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/misc/env.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/misc/fingerprint.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/misc/importf.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/misc/metadata.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/misc/parquet.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/misc/random.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/misc/runtime.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/print/jinjaf.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/print/print_line.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/print/print_queue.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/print/printf.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/print/table.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/sql/select.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/sql/sql_in.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/stats/minf.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/stats/nminmax.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/stats/percent.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/stats/percent_unique.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/stats/stdev.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/strings/alter.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/strings/caps.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/strings/concat.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/strings/contains.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/strings/format.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/strings/length.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/strings/lower.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/strings/metaphone.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/strings/regex.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/strings/starts_with.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/strings/strip.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/strings/substring.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/strings/upper.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/testing/debug.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/types/__init__.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/types/blank.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/types/boolean.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/types/datatype.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/types/datef.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/types/decimal.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/types/email.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/types/nonef.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/types/string.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/types/type.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/types/url.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/types/uuid.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/types/wildcard.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/validity/fail.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/validity/failed.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/validity/line.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/validity/matches.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/validity/percent_matching.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/variables/clear.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/variables/get.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/variables/index_of.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/variables/pushpop.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/variables/put.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/variables/slice.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/variables/sort.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/variables/track.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/variables/variables.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/functions/xml/xpath.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/lark_parser.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/lark_transformer.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/matcher.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/productions/__init__.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/productions/equality.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/productions/expression.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/productions/header.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/productions/matchable.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/productions/qualified.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/productions/reference.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/productions/term.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/productions/variable.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/util/exceptions.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/util/expression_encoder.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/util/expression_utility.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/util/lark_print_parser.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/util/parquet_utility.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/util/print_parser.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/matching/util/runtime_data_collector.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/modes/error_mode.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/modes/explain_mode.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/modes/files_mode.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/modes/logic_mode.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/modes/mode_controller.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/modes/print_mode.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/modes/return_mode.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/modes/run_mode.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/modes/source_mode.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/modes/transfer_mode.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/modes/unmatched_mode.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/modes/validation_mode.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/scanning/__init__.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/scanning/scanner2.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/scanning/scanner2_parser.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/scanning/scanner2_transformer.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/azure/azure_data_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/azure/azure_data_writer.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/azure/azure_fingerprinter.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/azure/azure_json_data_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/azure/azure_nos.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/azure/azure_timing_policy.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/azure/azure_utils.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/azure/azure_xlsx_data_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/backend_check.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/box.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/cache.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/caser.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/class_loader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/code.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/config.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/config_env.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/config_exception.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/date_util.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/exceptions.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/file_info.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/file_readers.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/file_utility.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/file_writers.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/gcs/gcs_data_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/gcs/gcs_data_writer.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/gcs/gcs_fingerprinter.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/gcs/gcs_json_data_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/gcs/gcs_nos.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/gcs/gcs_utils.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/gcs/gcs_xlsx_data_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/hasher.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/http/http_data_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/intermediary.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/json/json_data_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/json/json_reader_helper.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/last_line_stats.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/line_counter.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/line_monitor.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/line_spooler.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/log_utility.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/metadata_parser.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/nos.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/pandas_data_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/path_util.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/printer.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/py_file_utility.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/files_reference_finder_2.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/files_tools/fingerprint_finder.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/files_tools/range_finder.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/ref_utils.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/reference_exceptions.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/reference_grammar.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/reference_manifest_entry_finder.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/reference_parser.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/reference_results.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/reference_transformer.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/results_reference_finder_2.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/results_tools/data_finder.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/results_tools/date_filter.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/results_tools/identity_finder.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/results_tools/path_filter.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/results_tools/resolve_possibles.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/results_tools/token_filters.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/results_tools/yesterday_or_today_translator.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/references/tools/date_completer.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/referrer_printer.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/run_home_maker.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/s3/s3_data_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/s3/s3_data_writer.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/s3/s3_fingerprinter.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/s3/s3_json_data_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/s3/s3_nos.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/s3/s3_utils.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/s3/s3_xlsx_data_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/sftp/sftp_config.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/sftp/sftp_data_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/sftp/sftp_data_writer.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/sftp/sftp_fingerprinter.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/sftp/sftp_json_data_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/sftp/sftp_nos.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/sftp/sftp_server_creds.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/sftp/sftp_walk.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/sftp/sftp_xlsx_data_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/sqliter.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/stopwatch.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/template_util.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/var_utility.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/csvpath/util/xlsx/xlsx_data_reader.py +0 -0
- {csvpath-0.0.613 → csvpath-0.0.615}/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.
|
|
3
|
+
Version: 0.0.615
|
|
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
|
|
@@ -25,7 +25,7 @@ path = cache
|
|
|
25
25
|
use_cache = no
|
|
26
26
|
|
|
27
27
|
[functions]
|
|
28
|
-
imports =
|
|
28
|
+
imports =
|
|
29
29
|
|
|
30
30
|
[results]
|
|
31
31
|
archive = tmp/sftp/archive
|
|
@@ -95,7 +95,7 @@ port = SFTPPLUS_PORT
|
|
|
95
95
|
admin_username = SFTPPLUS_ADMIN_USERNAME
|
|
96
96
|
admin_password = SFTPPLUS_ADMIN_PASSWORD
|
|
97
97
|
api_url = https://. . . :10020/json
|
|
98
|
-
scripts_dir =
|
|
98
|
+
scripts_dir =
|
|
99
99
|
execute_timeout = 300
|
|
100
100
|
|
|
101
101
|
[ckan]
|
|
@@ -110,5 +110,5 @@ timeout = 5
|
|
|
110
110
|
verify = False
|
|
111
111
|
|
|
112
112
|
[slack]
|
|
113
|
-
webhook_url =
|
|
113
|
+
webhook_url =
|
|
114
114
|
|
|
Binary file
|
|
@@ -35,7 +35,7 @@ path = cache
|
|
|
35
35
|
use_cache = yes
|
|
36
36
|
|
|
37
37
|
[functions]
|
|
38
|
-
imports =
|
|
38
|
+
imports =
|
|
39
39
|
|
|
40
40
|
[results]
|
|
41
41
|
archive = tmp/local/archive
|
|
@@ -106,7 +106,7 @@ port = SFTPPLUS_PORT
|
|
|
106
106
|
admin_username = SFTPPLUS_ADMIN_USERNAME
|
|
107
107
|
admin_password = SFTPPLUS_ADMIN_PASSWORD
|
|
108
108
|
api_url = https://. . . :10020/json
|
|
109
|
-
scripts_dir =
|
|
109
|
+
scripts_dir =
|
|
110
110
|
execute_timeout = 300
|
|
111
111
|
|
|
112
112
|
[ckan]
|
|
@@ -121,7 +121,7 @@ timeout = 5
|
|
|
121
121
|
verify = False
|
|
122
122
|
|
|
123
123
|
[slack]
|
|
124
|
-
webhook_url =
|
|
124
|
+
webhook_url =
|
|
125
125
|
|
|
126
126
|
[scripts]
|
|
127
127
|
run_scripts = yes
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import re
|
|
2
2
|
import json
|
|
3
3
|
import traceback
|
|
4
|
+
from uuid import UUID
|
|
4
5
|
from typing import NewType
|
|
5
6
|
from json import JSONDecodeError
|
|
6
7
|
from csvpath.util.file_readers import DataFileReader
|
|
@@ -53,18 +54,6 @@ class FileManager:
|
|
|
53
54
|
def activator(self) -> NamedFileActivator:
|
|
54
55
|
return NamedFileActivator(self)
|
|
55
56
|
|
|
56
|
-
"""
|
|
57
|
-
@property
|
|
58
|
-
def nos(self) -> Nos:
|
|
59
|
-
box = Box()
|
|
60
|
-
if self._nos is None:
|
|
61
|
-
self._nos = box.get("boto_s3_nos")
|
|
62
|
-
if self._nos is None:
|
|
63
|
-
self._nos = Nos(None)
|
|
64
|
-
box.add("boto_s3_nos", self._nos)
|
|
65
|
-
return self._nos
|
|
66
|
-
"""
|
|
67
|
-
|
|
68
57
|
@property
|
|
69
58
|
def csvpaths(self):
|
|
70
59
|
"""@private"""
|
|
@@ -97,7 +86,22 @@ class FileManager:
|
|
|
97
86
|
def files_root_manifest_path(self) -> dict:
|
|
98
87
|
"""@private"""
|
|
99
88
|
return Nos(self.named_files_dir).join("manifest.json")
|
|
100
|
-
|
|
89
|
+
|
|
90
|
+
def _named_file_ref_to_uuid(self, ref: ReferenceParser) -> str:
|
|
91
|
+
if ref is None:
|
|
92
|
+
raise ValueError("Reference cannot be None")
|
|
93
|
+
finder = FilesReferenceFinder(self._csvpaths, ref=ref)
|
|
94
|
+
lst = finder.resolve()
|
|
95
|
+
if lst is None:
|
|
96
|
+
raise ValueError("ReferenceFinder cannot return None")
|
|
97
|
+
if len(lst) == 0:
|
|
98
|
+
return None
|
|
99
|
+
path = lst[0]
|
|
100
|
+
mani = self.get_manifest(ref.root_major)
|
|
101
|
+
for r in mani:
|
|
102
|
+
if r.get("file") == path:
|
|
103
|
+
return r.get("uuid")
|
|
104
|
+
return None
|
|
101
105
|
|
|
102
106
|
#
|
|
103
107
|
# namedfile: a NamedFileName (name or reference)
|
|
@@ -130,6 +134,11 @@ class FileManager:
|
|
|
130
134
|
else None
|
|
131
135
|
)
|
|
132
136
|
if ref is not None and file is None:
|
|
137
|
+
#
|
|
138
|
+
# we need to support files as well as results
|
|
139
|
+
#
|
|
140
|
+
if ref.datatype == ref.FILES:
|
|
141
|
+
return self._named_file_ref_to_uuid(ref)
|
|
133
142
|
if ref.datatype != ref.RESULTS:
|
|
134
143
|
raise ValueError("Reference must be results, not {ref.datatype}")
|
|
135
144
|
#
|
|
@@ -186,6 +195,13 @@ class FileManager:
|
|
|
186
195
|
return _["uuid"]
|
|
187
196
|
raise ValueError(f"No matching UUID found for file {file} in {name}")
|
|
188
197
|
|
|
198
|
+
def get_reference_for_uuid(self, name: NamedFileName, uuid: str) -> str | None:
|
|
199
|
+
mani = self.get_manifest(name)
|
|
200
|
+
for _ in mani:
|
|
201
|
+
if uuid == _["uuid"]:
|
|
202
|
+
return _["reference"]
|
|
203
|
+
return None
|
|
204
|
+
|
|
189
205
|
def get_manifest(self, name: NamedFileName) -> json:
|
|
190
206
|
if name is None:
|
|
191
207
|
raise ValueError("Paths name cannot be None")
|
|
@@ -602,6 +618,7 @@ class FileManager:
|
|
|
602
618
|
path: str,
|
|
603
619
|
template: str = None,
|
|
604
620
|
config: Config = None,
|
|
621
|
+
registration_uuid: str = None,
|
|
605
622
|
) -> str | None:
|
|
606
623
|
#
|
|
607
624
|
# note that we can pass in a Config with a template that is different
|
|
@@ -609,6 +626,19 @@ class FileManager:
|
|
|
609
626
|
# using the arg, not the template from the config.
|
|
610
627
|
#
|
|
611
628
|
self.csvpaths.logger.info("Adding named file %s from %s", name, path)
|
|
629
|
+
if registration_uuid is not None:
|
|
630
|
+
#
|
|
631
|
+
# check that we have a real uuid and if not blow up before registration
|
|
632
|
+
# blowing up seems right here, rather than checking should_i_raise because
|
|
633
|
+
# we're looking at a serious development problem, rather than a runtime
|
|
634
|
+
# issue driven by the 3rd party or business rules.
|
|
635
|
+
#
|
|
636
|
+
UUID(registration_uuid)
|
|
637
|
+
self.csvpaths.logger.info(
|
|
638
|
+
"Registration of %s will be associated with UUID %s",
|
|
639
|
+
path,
|
|
640
|
+
registration_uuid,
|
|
641
|
+
)
|
|
612
642
|
if not self.can_load(path):
|
|
613
643
|
#
|
|
614
644
|
# if False, can_load() will have already raised an error and/or, minimally,
|
|
@@ -716,7 +746,6 @@ class FileManager:
|
|
|
716
746
|
#
|
|
717
747
|
if mark is not None:
|
|
718
748
|
self._validate_xlsx_mark(path, mark)
|
|
719
|
-
|
|
720
749
|
#
|
|
721
750
|
# exp: moving docs and descriptor to above copy_in()
|
|
722
751
|
#
|
|
@@ -729,13 +758,9 @@ class FileManager:
|
|
|
729
758
|
self._copy_in(name=name, path=path, home=home, template=template)
|
|
730
759
|
self.csvpaths.logger.debug("Done copying in")
|
|
731
760
|
#
|
|
732
|
-
#
|
|
733
|
-
#
|
|
734
761
|
# self.assure_docs_and_discriptor(name)
|
|
735
762
|
# self.csvpaths.logger.debug("Assured docs and discriptor")
|
|
736
763
|
#
|
|
737
|
-
# end exp!
|
|
738
|
-
#
|
|
739
764
|
# create the reference to the bytes/version added to the named-file.
|
|
740
765
|
# this is the most specific reference possible. we return it when we're
|
|
741
766
|
# done here.
|
|
@@ -754,6 +779,15 @@ class FileManager:
|
|
|
754
779
|
name_home = self.named_file_home(name)
|
|
755
780
|
self.csvpaths.logger.debug("Name home is %s", name_home)
|
|
756
781
|
mdata = FileMetadata(self.csvpaths.config)
|
|
782
|
+
#
|
|
783
|
+
# add the ability to pass in a UUID. if received, use it here to
|
|
784
|
+
# set the FileMetadata's UUID. this will allow the caller to give a
|
|
785
|
+
# trackable ticket. for e.g. we may want to spin-up a registration in
|
|
786
|
+
# a thread, create our own UUID, pass it in for the registration, and
|
|
787
|
+
# return the UUID to the user so they can retrieve the reference later
|
|
788
|
+
#
|
|
789
|
+
if registration_uuid is not None:
|
|
790
|
+
mdata.uuid_string = registration_uuid
|
|
757
791
|
mdata.named_file_name = name
|
|
758
792
|
mdata.named_file_ref = ret
|
|
759
793
|
#
|
|
@@ -767,7 +801,6 @@ class FileManager:
|
|
|
767
801
|
mdata.fingerprint = h
|
|
768
802
|
mdata.file_path = rpath
|
|
769
803
|
mdata.file_home = file_home
|
|
770
|
-
# nos = self.nos
|
|
771
804
|
nos.path = file_home
|
|
772
805
|
mdata.file_name = file_home[file_home.rfind(nos.sep) + 1 :]
|
|
773
806
|
mdata.name_home = name_home
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import threading
|
|
2
|
+
|
|
3
|
+
from csvpath import CsvPaths
|
|
4
|
+
from csvpath.managers.metadata import Metadata
|
|
5
|
+
from csvpath.managers.listener import Listener
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class FileActivationListener(Listener, threading.Thread):
|
|
9
|
+
def __init__(self, *, config=None):
|
|
10
|
+
Listener.__init__(self, config=config)
|
|
11
|
+
threading.Thread.__init__(self)
|
|
12
|
+
# self.csvpaths = None
|
|
13
|
+
#
|
|
14
|
+
# we hold csvpaths on the main thread, but we may not want
|
|
15
|
+
# the csvpaths that triggered this listener activity and
|
|
16
|
+
# shouldn't need it. we'll create our own and not having a
|
|
17
|
+
# csvpaths property means we won't receive a ref to the
|
|
18
|
+
# overall csvpaths context.
|
|
19
|
+
#
|
|
20
|
+
self.my_csvpaths = None
|
|
21
|
+
self.result = None
|
|
22
|
+
self.metadata = None
|
|
23
|
+
|
|
24
|
+
def run(self):
|
|
25
|
+
self._metadata_update(self.metadata)
|
|
26
|
+
self.my_csvpaths.wrap_up()
|
|
27
|
+
|
|
28
|
+
def metadata_update(self, mdata: Metadata) -> None:
|
|
29
|
+
self.metadata = mdata
|
|
30
|
+
self.my_csvpaths = CsvPaths()
|
|
31
|
+
self.start()
|
|
32
|
+
|
|
33
|
+
def _metadata_update(self, mdata: Metadata) -> None:
|
|
34
|
+
#
|
|
35
|
+
# cannot set a new CsvPaths here. crosses qt thread lines and
|
|
36
|
+
# causes a segfault. move ahead of start and/or use listener's
|
|
37
|
+
# own csvpaths. better the former because it is more like what
|
|
38
|
+
# we have today.
|
|
39
|
+
#
|
|
40
|
+
activator = self.my_csvpaths.file_manager.activator
|
|
41
|
+
ref = mdata.named_file_ref
|
|
42
|
+
self.my_csvpaths.logger.info(
|
|
43
|
+
f"Activating for {ref} if any activation is configured"
|
|
44
|
+
)
|
|
45
|
+
activator.activate_if(ref)
|
|
46
|
+
self.my_csvpaths.logger.info(f"Activation for {ref} if any completed")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "csvpath"
|
|
3
|
-
version = "0.0.
|
|
3
|
+
version = "0.0.615"
|
|
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"
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import threading
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
from csvpath import CsvPaths
|
|
5
|
-
from csvpath.managers.metadata import Metadata
|
|
6
|
-
from csvpath.managers.listener import Listener
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class FileActivationListener(Listener, threading.Thread):
|
|
10
|
-
def __init__(self, *, config=None):
|
|
11
|
-
Listener.__init__(self, config=config)
|
|
12
|
-
threading.Thread.__init__(self)
|
|
13
|
-
self.csvpaths = None
|
|
14
|
-
self.result = None
|
|
15
|
-
self.metadata = None
|
|
16
|
-
|
|
17
|
-
def run(self):
|
|
18
|
-
self._metadata_update(self.metadata)
|
|
19
|
-
self.csvpaths.wrap_up()
|
|
20
|
-
|
|
21
|
-
def metadata_update(self, mdata: Metadata) -> None:
|
|
22
|
-
self.metadata = mdata
|
|
23
|
-
self.start()
|
|
24
|
-
|
|
25
|
-
def _metadata_update(self, mdata: Metadata) -> None:
|
|
26
|
-
csvpaths = CsvPaths()
|
|
27
|
-
activator = csvpaths.file_manager.activator
|
|
28
|
-
ref = mdata.named_file_ref
|
|
29
|
-
csvpaths.logger.info(f"Activating for {ref} if any activation is configured")
|
|
30
|
-
activator.activate_if(ref)
|
|
31
|
-
csvpaths.logger.info(f"Activation for {ref} if any completed")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csvpath-0.0.613 → csvpath-0.0.615}/assets/libs/release_candidate_maker-0.0.25-py3-none-any.whl
RENAMED
|
File without changes
|
{csvpath-0.0.613 → csvpath-0.0.615}/assets/libs/release_candidate_maker-0.0.27-py3-none-any.whl
RENAMED
|
File without changes
|
{csvpath-0.0.613 → csvpath-0.0.615}/assets/libs/release_candidate_maker-0.0.28-py3-none-any.whl
RENAMED
|
File without changes
|
{csvpath-0.0.613 → csvpath-0.0.615}/assets/libs/release_candidate_maker-0.0.29-py3-none-any.whl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/otlp/otlp_error_listener.py
RENAMED
|
File without changes
|
{csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/otlp/otlp_file_listener.py
RENAMED
|
File without changes
|
|
File without changes
|
{csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/otlp/otlp_paths_listener.py
RENAMED
|
File without changes
|
{csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/otlp/otlp_result_listener.py
RENAMED
|
File without changes
|
{csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/otlp/otlp_results_listener.py
RENAMED
|
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
|
{csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/sql/sql_result_listener.py
RENAMED
|
File without changes
|
{csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/sql/sql_results_listener.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/sqlite/sqlite_result_listener.py
RENAMED
|
File without changes
|
{csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/sqlite/sqlite_results_listener.py
RENAMED
|
File without changes
|
{csvpath-0.0.613 → csvpath-0.0.615}/csvpath/managers/integrations/webhook/webhook_listener.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|