leaf-common 1.2.44__tar.gz → 1.2.45__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.
- {leaf_common-1.2.44 → leaf_common-1.2.45}/PKG-INFO +1 -1
- leaf_common-1.2.44/leaf_common/logging/sensitive_logger.py → leaf_common-1.2.45/leaf_common/logging/conditional_logger.py +4 -9
- leaf_common-1.2.45/leaf_common/logging/sensitive_logger.py +43 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common.egg-info/PKG-INFO +1 -1
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common.egg-info/SOURCES.txt +1 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/.coveragerc +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/.flake8 +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/.github/workflows/checkmarx.yml +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/.github/workflows/publish.yml +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/.github/workflows/tests.yml +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/.gitignore +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/.pylintrc +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/CODE_OF_CONDUCT.md +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/CONTRIBUTING.md +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/LICENSE.txt +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/Makefile +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/NOTICE.txt +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/README.md +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/SECURITY.md +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/SUPPORT.md +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/build_scripts/copyright_config.json +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/build_scripts/run_flake8.sh +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/build_scripts/run_pylint.sh +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/build_scripts/source_available_copyright.txt +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/asyncio/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/asyncio/async_to_sync_generator.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/asyncio/asyncio_executor.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/asyncio/asyncio_executor_pool.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/asyncio/asyncio_threadpool_executor.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/asyncio/event_loop_factory.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/asyncio/task_executor.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/candidates/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/candidates/constants.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/candidates/representation_types.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/config/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/config/config_filter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/config/config_filter_chain.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/config/config_handler.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/config/dictionary_overlay.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/config/environment_defaults.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/config/file_of_class.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/config/resolver.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/config/resolver_util.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/evaluation/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/evaluation/component_evaluator.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/evaluation/metrics_merger.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/filters/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/filters/composite_string_filter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/filters/inclusionary_replacement_string_filter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/filters/replacement_string_filter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/filters/sanitizer_util.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/filters/string_filter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/filters/strip_whitespace_string_filter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/filters/tensorflow_field_name_filter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/fitness/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/fitness/candidate_metrics_provider.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/fitness/cmp_to_key.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/fitness/comparator.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/fitness/fitness_objective.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/fitness/fitness_objectives.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/fitness/fitness_objectives_builder.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/fitness/fitness_objectives_from_config.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/fitness/metrics_based_individual_comparator.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/fitness/metrics_provider.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/fitness/none_comparator.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/fitness/number_comparator.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/fitness/reversed_comparator.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/log_utils/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/log_utils/message_type.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/log_utils/structured_message.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/logging/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/logging/example_logging_config.hocon +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/logging/logging_setup.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/logging/stream_to_logger.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/parsers/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/parsers/boolean_list_parser.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/parsers/boolean_parser.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/parsers/canonical_multi_config_parser.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/parsers/dictionary_extractor.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/parsers/field_extractor.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/parsers/list_parser.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/parsers/parser.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/parsers/string_parser.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/easy/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/easy/abstract_easy_persistence.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/easy/composite_persistor.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/easy/easy_hocon_persistence.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/easy/easy_json_persistence.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/easy/easy_txt_persistence.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/easy/easy_yaml_persistence.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/README.md +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/abstract_persistence.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/hocon_persistence.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/json_gzip_persistence.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/json_persistence.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/null_persistence.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/override_file_extension_provider.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/persistence_factory.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/raw_bytes_persistence.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/reference_helper.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/simple_file_persistence.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/text_persistence.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/yaml_persistence.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/interface/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/interface/persistence.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/interface/persistence_mechanism.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/interface/persistor.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/interface/restorer.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/mechanism/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/mechanism/abstract_persistence_mechanism.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/mechanism/local_file_persistence_mechanism.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/mechanism/persistence_mechanism_factory.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/mechanism/persistence_mechanisms.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/mechanism/s3_file_persistence_mechanism.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/progress/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/progress/composite_progress_reporter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/progress/iterating_progress_reporter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/progress/json_progress_reporter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/progress/progress_reporter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/progress/status_dict_progress_reporter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/progress/worker_progress_reporter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/registry/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/registry/representation_file_extension_provider_registry.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/registry/representation_persistence_registry.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/registry/representation_serialization_format_registry.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/registry/self_identifying_restorer.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/config/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/config/rule_set_config_helper.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/data/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/data/condition.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/data/features.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/data/rule.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/data/rule_set.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/data/rule_set_binding.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/data/rules_constants.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/evaluation/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/evaluation/condition_evaluator.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/evaluation/rule_evaluator.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/evaluation/rule_metrics_merger.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/evaluation/rule_set_binding_evaluator.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/evaluation/rule_set_evaluator.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/evaluation/rule_set_metrics_merger.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/persistence/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/persistence/rule_set_binding_file_persistence.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/persistence/rule_set_file_persistence.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/serialization/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/serialization/condition_dictionary_converter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/serialization/rule_dictionary_converter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/serialization/rule_set_binding_dictionary_converter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/serialization/rule_set_dictionary_converter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/serialization/rule_set_serialization_format.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/security/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/security/service/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/security/service/auth0_direct_service_accessor.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/security/service/leaf_service_access.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/security/service/service_accessor.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/security/service/service_accessor_factory.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/security/service/static_token_service_accessor.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/security/service/vault_dynamic_token_service_accessor.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/security/vault/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/security/vault/github_vault_login.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/security/vault/kubernetes_vault_login.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/security/vault/token_vault_login.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/security/vault/vault_login.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/security/vault/vault_login_factory.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/format/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/format/buffered_gzip_serialization_format.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/format/chained_serialization_format.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/format/conversion_policy.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/format/gzip_serialization_format.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/format/hocon_serialization_format.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/format/json_serialization_format.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/format/raw_bytes_serialization_format.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/format/serialization_formats.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/format/text_serialization_format.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/format/yaml_serialization_format.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/interface/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/interface/deserializer.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/interface/dictionary_converter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/interface/file_extension_provider.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/interface/reference_pruner.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/interface/self_identifying_representation_error.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/interface/serialization_format.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/interface/serializer.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/prep/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/prep/empty_dictionary_converter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/prep/metrics_dictionary_converter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/prep/pass_through_dictionary_converter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/prep/pass_through_reference_pruner.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/prep/redactor_dictionary_converter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/util/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/util/bytes_decoder.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/util/text_file_reader.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/session/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/session/abstract_service_session.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/session/async_abstract_service_session.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/session/async_grpc_client_retry.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/session/extension_packaging.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/session/grpc_channel_security.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/session/grpc_client_retry.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/session/grpc_metadata_util.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/session/population_response_dictionary_converter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/session/population_session.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/session/population_session_factory.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/session/response_candidate_dictionary_converter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/time/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/time/time_util.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/time/timeout.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/time/timeout_reached_exception.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/utils/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/utils/async_atomic_counter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/utils/atomic_counter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common.egg-info/dependency_links.txt +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common.egg-info/requires.txt +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common.egg-info/top_level.txt +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/pyproject.toml +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/requirements-build.txt +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/requirements.txt +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/setup.cfg +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/asyncio/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/asyncio/async_test_helpers.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/asyncio/asyncio_executor_metrics_test.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/asyncio/asyncio_executor_not_started_test.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/asyncio/asyncio_executor_pool_gc_test.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/asyncio/asyncio_executor_pool_metrics_test.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/asyncio/asyncio_executor_started_test.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/asyncio/asyncio_threadpool_executor_metrics_test.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/asyncio/callable_class.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/asyncio/event_loop_factory_test.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/asyncio/sync_test_helpers.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/candidates/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/candidates/test_representation_types.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/config/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/config/dictionary_overlay_test.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/config/resolver_util_test.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/filters/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/filters/test_sanitizer_util.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/filters/test_tensorflow_field_name_filter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/fitness/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/fitness/fitness_objectives_from_config_test.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/fixtures/saved_rule_set.rules +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/fixtures/saved_rules_model.json +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/parsers/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/parsers/canonical_multi_config_parser_test.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/progress/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/progress/test_status_dict_progress_reporter.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/representation/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/representation/rule_based/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/representation/rule_based/test_condition.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/representation/rule_based/test_rule.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/representation/rule_based/test_rule_set.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/serialization/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/serialization/encoding/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/serialization/encoding/decode_text_test.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/serialization/encoding/text_file_reader_test.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/serialization/prep/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/serialization/prep/redactor_dictionary_converter_test.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/session/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/session/test_extension_packaging.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/time/__init__.py +0 -0
- {leaf_common-1.2.44 → leaf_common-1.2.45}/tests/time/timeout_test.py +0 -0
|
@@ -22,25 +22,20 @@ from logging import Logger
|
|
|
22
22
|
from os import getenv
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
class
|
|
25
|
+
class ConditionalLogger:
|
|
26
26
|
"""
|
|
27
|
-
Wraps a logger to mask
|
|
27
|
+
Wraps a logger to mask logged information conditionally based on an environment variable setting.
|
|
28
28
|
Uses the same general Logger interface as the whole world already uses.
|
|
29
|
-
|
|
30
|
-
We assume that any information coming in to this logger is considered sensitive information.
|
|
31
|
-
Turning off senstive logging information can be done by setting the LEAF_LOG_SENSTIVE to "false".
|
|
32
|
-
By default this is turned on, allowing developers to see sensitive information.
|
|
33
|
-
Strongly consider turning this off for production deployments.
|
|
34
29
|
"""
|
|
35
30
|
|
|
36
|
-
def __init__(self, logger: Logger):
|
|
31
|
+
def __init__(self, logger: Logger, env_var: str):
|
|
37
32
|
"""
|
|
38
33
|
Constructor.
|
|
39
34
|
|
|
40
35
|
:param logger: The wrapped logger to redirect write() calls to.
|
|
41
36
|
"""
|
|
42
37
|
self.logger: Logger = logger
|
|
43
|
-
self._should_log: bool = getenv(
|
|
38
|
+
self._should_log: bool = getenv(env_var, "true").lower() == "true"
|
|
44
39
|
|
|
45
40
|
def should_log(self) -> bool:
|
|
46
41
|
"""
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
# Copyright © 2019-2026 Cognizant Technology Solutions Corp, www.cognizant.com.
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
#
|
|
16
|
+
# END COPYRIGHT
|
|
17
|
+
"""
|
|
18
|
+
See class comment for details.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
from logging import Logger
|
|
22
|
+
|
|
23
|
+
from leaf_common.logging.conditional_logger import ConditionalLogger
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class SensitiveLogger(ConditionalLogger):
|
|
27
|
+
"""
|
|
28
|
+
Wraps a logger to mask sensitive information.
|
|
29
|
+
Uses the same general Logger interface as the whole world already uses.
|
|
30
|
+
|
|
31
|
+
We assume that any information coming in to this logger is considered sensitive information.
|
|
32
|
+
Turning off senstive logging information can be done by setting the LEAF_LOG_SENSTIVE to "false".
|
|
33
|
+
By default this is turned on, allowing developers to see sensitive information.
|
|
34
|
+
Strongly consider turning this off for production deployments.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
def __init__(self, logger: Logger):
|
|
38
|
+
"""
|
|
39
|
+
Constructor.
|
|
40
|
+
|
|
41
|
+
:param logger: The wrapped logger to redirect write() calls to.
|
|
42
|
+
"""
|
|
43
|
+
super().__init__(logger, "LEAF_LOG_SENSITIVE")
|
|
@@ -73,6 +73,7 @@ leaf_common/log_utils/__init__.py
|
|
|
73
73
|
leaf_common/log_utils/message_type.py
|
|
74
74
|
leaf_common/log_utils/structured_message.py
|
|
75
75
|
leaf_common/logging/__init__.py
|
|
76
|
+
leaf_common/logging/conditional_logger.py
|
|
76
77
|
leaf_common/logging/example_logging_config.hocon
|
|
77
78
|
leaf_common/logging/logging_setup.py
|
|
78
79
|
leaf_common/logging/sensitive_logger.py
|
|
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
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/asyncio/asyncio_threadpool_executor.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
|
|
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
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/filters/strip_whitespace_string_filter.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/filters/tensorflow_field_name_filter.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
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/fitness/fitness_objectives_from_config.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/fitness/metrics_based_individual_comparator.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/parsers/canonical_multi_config_parser.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
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/easy/abstract_easy_persistence.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/easy/composite_persistor.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/easy/easy_hocon_persistence.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/easy/easy_json_persistence.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/easy/easy_txt_persistence.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/easy/easy_yaml_persistence.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/abstract_persistence.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/hocon_persistence.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/json_gzip_persistence.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/json_persistence.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/null_persistence.py
RENAMED
|
File without changes
|
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/persistence_factory.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/raw_bytes_persistence.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/reference_helper.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/simple_file_persistence.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/text_persistence.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/factory/yaml_persistence.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/persistence/interface/persistence_mechanism.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
|
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/progress/composite_progress_reporter.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/progress/iterating_progress_reporter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/progress/status_dict_progress_reporter.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
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/config/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/data/__init__.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/data/condition.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/data/features.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/data/rule.py
RENAMED
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/representation/rule_based/data/rule_set.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
|
|
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
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/security/service/leaf_service_access.py
RENAMED
|
File without changes
|
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/security/service/service_accessor_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/security/vault/kubernetes_vault_login.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
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/format/conversion_policy.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/format/serialization_formats.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/interface/deserializer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{leaf_common-1.2.44 → leaf_common-1.2.45}/leaf_common/serialization/interface/reference_pruner.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|