LICENSE
MANIFEST.in
README.md
setup.cfg
setup.py
petisco/VERSION
petisco/__init__.py
petisco/public_api.py
petisco.egg-info/PKG-INFO
petisco.egg-info/SOURCES.txt
petisco.egg-info/dependency_links.txt
petisco.egg-info/entry_points.txt
petisco.egg-info/not-zip-safe
petisco.egg-info/requires.txt
petisco.egg-info/top_level.txt
petisco/application/__init__.py
petisco/application/app_services.py
petisco/application/deploy_checker.py
petisco/application/interface_app_service.py
petisco/application/interface_repository.py
petisco/application/pattern_base.py
petisco/application/petisco.py
petisco/application/repositories.py
petisco/application/singleton.py
petisco/application/cli/__init__.py
petisco/application/cli/petisco.py
petisco/application/config/__init__.py
petisco/application/config/check_list_or_str_item.py
petisco/application/config/config.py
petisco/application/config/config_file_not_found_error.py
petisco/application/config/config_file_not_valid_error.py
petisco/application/config/config_framework.py
petisco/application/config/config_logger.py
petisco/application/config/config_persistence.py
petisco/application/config/config_providers.py
petisco/application/config/get_funtion_from_string.py
petisco/application/config/raise_petisco_config_error.py
petisco/application/config/events/__init__.py
petisco/application/config/events/config_event_publisher.py
petisco/application/config/events/config_event_subscriber.py
petisco/application/config/events/config_events.py
petisco/controller/__init__.py
petisco/controller/controller_handler.py
petisco/controller/errors/bad_request_http_error.py
petisco/controller/errors/http_error.py
petisco/controller/errors/internal_http_error.py
petisco/controller/errors/invalid_token_http_error.py
petisco/controller/errors/known_result_failure_handler.py
petisco/controller/tokens/__init__.py
petisco/domain/base_object.py
petisco/domain/date_parser.py
petisco/domain/timedelta_parser.py
petisco/domain/aggregate_roots/aggregate_root.py
petisco/domain/aggregate_roots/info_id.py
petisco/domain/errors/critical_error.py
petisco/domain/errors/empty_value_object_error.py
petisco/domain/errors/given_input_is_not_valid_error.py
petisco/domain/errors/given_name_is_not_valid_error.py
petisco/domain/errors/length_limit_string_value_object_error.py
petisco/domain/errors/unknown_error.py
petisco/domain/value_objects/client_id.py
petisco/domain/value_objects/correlation_id.py
petisco/domain/value_objects/integer_value_object.py
petisco/domain/value_objects/name.py
petisco/domain/value_objects/string_value_object.py
petisco/domain/value_objects/user_id.py
petisco/domain/value_objects/uuid.py
petisco/domain/value_objects/value_object.py
petisco/event/__init__.py
petisco/event/bus/__init__.py
petisco/event/bus/domain/__init__.py
petisco/event/bus/domain/interface_event_bus.py
petisco/event/bus/infrastructure/__init__.py
petisco/event/bus/infrastructure/not_implemented_event_bus.py
petisco/event/bus/infrastructure/rabbitmq_consumer_event_bus.py
petisco/event/bus/infrastructure/rabbitmq_event_bus.py
petisco/event/chaos/__init__.py
petisco/event/chaos/domain/__init__.py
petisco/event/chaos/domain/event_chaos_error.py
petisco/event/chaos/domain/interface_event_chaos.py
petisco/event/chaos/infrastructure/__init__.py
petisco/event/chaos/infrastructure/not_implemented_event_chaos.py
petisco/event/chaos/infrastructure/rabbitmq_event_chaos.py
petisco/event/configurer/__init__.py
petisco/event/configurer/domain/__init__.py
petisco/event/configurer/domain/interface_event_configurer.py
petisco/event/configurer/infrastructure/__init__.py
petisco/event/configurer/infrastructure/not_implemented_configurer.py
petisco/event/configurer/infrastructure/rabbitmq_declarer.py
petisco/event/configurer/infrastructure/rabbitmq_event_configurer.py
petisco/event/configurer/infrastructure/rabbitmq_event_store_configurer.py
petisco/event/configurer/infrastructure/rabbitmq_event_subscribers_configurer.py
petisco/event/consumer/__init__.py
petisco/event/consumer/domain/__init__.py
petisco/event/consumer/domain/consumer_derived_action.py
petisco/event/consumer/domain/interface_event_consumer.py
petisco/event/consumer/infrastructure/__init__.py
petisco/event/consumer/infrastructure/not_implemented_event_comsumer.py
petisco/event/consumer/infrastructure/rabbitmq_event_consumer.py
petisco/event/consumer/infrastructure/rabbitmq_event_consumer_logger.py
petisco/event/consumer/infrastructure/rabbitmq_event_consumer_printer.py
petisco/event/consumer/infrastructure/rabbitmq_event_consumer_return_error.py
petisco/event/handler/__init__.py
petisco/event/handler/event_handler.py
petisco/event/legacy/__init__.py
petisco/event/legacy/routing_key.py
petisco/event/legacy/publisher/__init__.py
petisco/event/legacy/publisher/domain/__init__.py
petisco/event/legacy/publisher/domain/interface_event_publisher.py
petisco/event/legacy/publisher/infrastructure/__init__.py
petisco/event/legacy/publisher/infrastructure/not_implemented_event_publisher.py
petisco/event/legacy/publisher/infrastructure/rabbitmq_event_publisher.py
petisco/event/legacy/rabbitmq/__init__.py
petisco/event/legacy/rabbitmq/create_exchange_and_bind_queue.py
petisco/event/legacy/rabbitmq/get_event_binding_key.py
petisco/event/legacy/subscriber/__init__.py
petisco/event/legacy/subscriber/domain/__init__.py
petisco/event/legacy/subscriber/domain/config_event_subscriber.py
petisco/event/legacy/subscriber/domain/interface_event_subscriber.py
petisco/event/legacy/subscriber/domain/subscriber_handler.py
petisco/event/legacy/subscriber/infrastructure/__init__.py
petisco/event/legacy/subscriber/infrastructure/not_implemented_event_subscriber.py
petisco/event/legacy/subscriber/infrastructure/rabbitmq_event_subscriber.py
petisco/event/queue/__init__.py
petisco/event/queue/domain/__init__.py
petisco/event/queue/domain/queue_config.py
petisco/event/queue/domain/specific_queue_config.py
petisco/event/shared/__init__.py
petisco/event/shared/domain/__init__.py
petisco/event/shared/domain/config_events.py
petisco/event/shared/domain/event.py
petisco/event/shared/domain/event_id.py
petisco/event/shared/domain/event_subscriber.py
petisco/event/shared/domain/request_responded.py
petisco/event/shared/domain/service_deployed.py
petisco/event/shared/domain/service_restarted.py
petisco/event/shared/infrastructure/__init__.py
petisco/event/shared/infrastructure/configure_events_infrastructure.py
petisco/event/shared/infrastructure/misc/__init__.py
petisco/event/shared/infrastructure/misc/camel_to_snake.py
petisco/event/shared/infrastructure/rabbitmq/__init__.py
petisco/event/shared/infrastructure/rabbitmq/rabbitmq_connector.py
petisco/event/shared/infrastructure/rabbitmq/rabbitmq_consumer_connector.py
petisco/event/shared/infrastructure/rabbitmq/rabbitmq_event_queue_name_formatter.py
petisco/event/shared/infrastructure/rabbitmq/rabbitmq_event_subscriber_queue_name_formatter.py
petisco/event/shared/infrastructure/rabbitmq/rabbitmq_exchange_name_formatter.py
petisco/event/shared/infrastructure/rabbitmq/rabbitmq_is_running_locally.py
petisco/fixtures/__init__.py
petisco/fixtures/application.py
petisco/fixtures/client.py
petisco/fixtures/domain.py
petisco/fixtures/persistence.py
petisco/fixtures/testing_decorators.py
petisco/frameworks/__init__.py
petisco/frameworks/interface_application.py
petisco/frameworks/flask/__init__.py
petisco/frameworks/flask/flask_correlation_id_provider.py
petisco/frameworks/flask/flask_extension_is_installed.py
petisco/frameworks/flask/flask_headers_provider.py
petisco/frameworks/flask/application/__init__.py
petisco/frameworks/flask/application/base_model_.py
petisco/frameworks/flask/application/flask_application.py
petisco/frameworks/flask/application/json_encoder.py
petisco/frameworks/flask/application/security_schemas.py
petisco/frameworks/flask/application/util.py
petisco/http/request.py
petisco/http/request_errors.py
petisco/http/response.py
petisco/logger/__init__.py
petisco/logger/interface_logger.py
petisco/logger/log_message.py
petisco/logger/logging_based_logger.py
petisco/logger/not_implemented_logger.py
petisco/modules/environment/application/environment.py
petisco/modules/environment/application/environment_provider.py
petisco/modules/environment/domain/environment_provider_error.py
petisco/modules/healthcheck/application/healthcheck.py
petisco/modules/healthcheck/application/healthcheck_provider.py
petisco/modules/healthcheck/domain/persistence_error.py
petisco/notifier/config/config_notifier.py
petisco/notifier/domain/interface_notifier.py
petisco/notifier/domain/notifier_exception_message.py
petisco/notifier/domain/notifier_message.py
petisco/notifier/infrastructure/not_implemented_notifier.py
petisco/notifier/infrastructure/slack/errors.py
petisco/notifier/infrastructure/slack/interface_slack_notifier_message_converter.py
petisco/notifier/infrastructure/slack/slack_notifier.py
petisco/notifier/infrastructure/slack/slack_notifier_message_converter.py
petisco/persistence/fake_database.py
petisco/persistence/interface_database.py
petisco/persistence/interface_persistence_connector.py
petisco/persistence/persistence.py
petisco/persistence/persistence_models.py
petisco/persistence/elastic/apm_extension_is_installed.py
petisco/persistence/elastic/elastic_connection.py
petisco/persistence/elastic/elastic_database.py
petisco/persistence/elastic/elastic_is_running_locally.py
petisco/persistence/elastic/elastic_operational_database_error.py
petisco/persistence/elastic/elastic_session_scope_provider.py
petisco/persistence/pymongo/mongodb_is_running_locally.py
petisco/persistence/pymongo/pymongo_errors.py
petisco/persistence/pymongo/pymongo_extension_is_installed.py
petisco/persistence/pymongo/pymongo_persistence.py
petisco/persistence/pymongo/pymongo_persistence_config.py
petisco/persistence/pymongo/pymongo_persistence_connector.py
petisco/persistence/pymongo/pymongo_persistence_context.py
petisco/persistence/sql/errors.py
petisco/persistence/sql/mysql_is_running_locally.py
petisco/persistence/sql/sql_executor.py
petisco/persistence/sql/sql_repository.py
petisco/persistence/sql/sql_session_scope_provider.py
petisco/persistence/sql/mysql/mysql_connection.py
petisco/persistence/sql/mysql/mysql_database.py
petisco/persistence/sql/sqlite/sqlite_connection.py
petisco/persistence/sql/sqlite/sqlite_database.py
petisco/persistence/sqlalchemy/sqlalchemy_extension_is_installed.py
petisco/persistence/sqlalchemy/sqlalchemy_operational_database_error.py
petisco/persistence/sqlalchemy/sqlalchemy_persistence.py
petisco/security/token_decoder/interface_token_decoder.py
petisco/security/token_decoder/invalid_token_error.py
petisco/security/token_decoder/token.py
petisco/security/token_decoder/token_decoder.py
petisco/security/token_manager/accepted_token.py
petisco/security/token_manager/interface_token_manager.py
petisco/security/token_manager/jwt_token_builder.py
petisco/security/token_manager/not_implemented_token_manager.py
petisco/security/token_manager/token_manager.py
petisco/tasks/config/config_task.py
petisco/tasks/config/config_tasks.py
petisco/tasks/domain/interface_task_executor.py
petisco/tasks/infrastructure/apscheduler_task_executor.py
petisco/tasks/infrastructure/not_implemented_task_executor.py
petisco/tools/pool_executor.py
petisco/tools/timer.py
petisco/use_case/__init__.py
petisco/use_case/use_case.py
petisco/use_case/use_case_handler.py
petisco/webhooks/__init__.py
petisco/webhooks/webhook/__init__.py
petisco/webhooks/webhook/domain/__init__.py
petisco/webhooks/webhook/domain/invalid_url_error.py
petisco/webhooks/webhook/domain/secret.py
petisco/webhooks/webhook/domain/signature_algorithm.py
petisco/webhooks/webhook/domain/webhook.py
petisco/webhooks/webhook/domain/webhook_created.py
petisco/webhooks/webhook/domain/webhook_id.py
petisco/webhooks/webhook/domain/webhook_request_result.py
petisco/webhooks/webhook/domain/webhook_response_result.py
petisco/webhooks/webhook/domain/webhook_result.py
petisco/webhooks/webhook/domain/webhook_result_id.py
petisco/webhooks/webhook/domain/webhook_sender.py
petisco/webhooks/webhook/domain/webhook_sender_failed.py
petisco/webhooks/webhook/infrastructure/__init__.py
petisco/webhooks/webhook/infrastructure/body_digest_signature.py
requirements/requirements.txt
tests/__init__.py
tests/conftest.py
tests/fixtures.py
tests/end2end/__init__.py
tests/end2end/fixtures.py
tests/end2end/test_config.py
tests/end2end/test_flask_application.py
tests/end2end/test_flask_application_api.py
tests/end2end/test_flask_application_api_with_mongo.py
tests/end2end/test_flask_application_jwt_tokens_and_sqlalchemy_persistence.py
tests/end2end/test_petisco.py
tests/end2end/test_petisco_configure_events.py
tests/end2end/callable_functions/__init__.py
tests/end2end/callable_functions/handlers.py
tests/end2end/flask_app/__init__.py
tests/end2end/flask_app/__main__.py
tests/end2end/flask_app/config/__init__.py
tests/end2end/flask_app/config/app_services.py
tests/end2end/flask_app/config/config_mongo_persistence.py
tests/end2end/flask_app/config/event_manager_provider.py
tests/end2end/flask_app/config/events.py
tests/end2end/flask_app/config/logging_config_func.py
tests/end2end/flask_app/config/notifier.py
tests/end2end/flask_app/config/repositories.py
tests/end2end/flask_app/event_store/__init__.py
tests/end2end/flask_app/event_store/application/__init__.py
tests/end2end/flask_app/event_store/application/event_store.py
tests/end2end/flask_app/event_store/application/requeue_event.py
tests/end2end/flask_app/shared/__init__.py
tests/end2end/flask_app/shared/application/__init__.py
tests/end2end/flask_app/shared/application/handlers/__init__.py
tests/end2end/flask_app/shared/application/handlers/redis_event_handler.py
tests/end2end/flask_app/shared/application/handlers/send_mail.py
tests/end2end/flask_app/shared/application/handlers/send_notification.py
tests/end2end/flask_app/shared/application/handlers/store_event.py
tests/end2end/flask_app/shared/application/tasks/__init__.py
tests/end2end/flask_app/shared/application/tasks/tasks.py
tests/end2end/flask_app/shared/domain/__init__.py
tests/end2end/flask_app/shared/domain/repositories/__init__.py
tests/end2end/flask_app/shared/domain/repositories/interface_user_repository.py
tests/end2end/flask_app/shared/domain/repositories/user_already_exist_error.py
tests/end2end/flask_app/shared/domain/repositories/user_not_found_error.py
tests/end2end/flask_app/shared/infrastructure/__init__.py
tests/end2end/flask_app/shared/infrastructure/repositories/__init__.py
tests/end2end/flask_app/shared/infrastructure/repositories/inmemory_user_repository.py
tests/end2end/flask_app/shared/infrastructure/repositories/mongodb_user_repository.py
tests/end2end/flask_app/shared/infrastructure/repositories/sql_user_repository.py
tests/end2end/flask_app/shared/infrastructure/repositories/user_model.py
tests/end2end/flask_app/sum/__init__.py
tests/end2end/flask_app/sum/application/__init__.py
tests/end2end/flask_app/sum/application/sum_controller.py
tests/end2end/flask_app/sum/domain/__init__.py
tests/end2end/flask_app/sum/domain/interface_sum_executor.py
tests/end2end/flask_app/sum/infrastructure/__init__.py
tests/end2end/flask_app/sum/infrastructure/sum_executor.py
tests/end2end/flask_app/user/__init__.py
tests/end2end/flask_app/user/application/__init__.py
tests/end2end/flask_app/user/application/create_user_controller.py
tests/end2end/flask_app/user/application/user_creator.py
tests/end2end/flask_app/user/domain/__init__.py
tests/end2end/flask_app/user/domain/aggregate_roots/__init__.py
tests/end2end/flask_app/user/domain/aggregate_roots/user.py
tests/end2end/flask_app/user/domain/events/__init__.py
tests/end2end/flask_app/user/domain/events/user_created.py
tests/end2end/flask_app/user_name/__init__.py
tests/end2end/flask_app/user_name/application/__init__.py
tests/end2end/flask_app/user_name/application/get_user_name.py
tests/end2end/flask_app/user_name/application/get_user_name_controller.py
tests/end2end/flask_app/users_count/__init__.py
tests/end2end/flask_app/users_count/domain/__init__.py
tests/end2end/flask_app/users_count/domain/interface_users_count_repository.py
tests/end2end/flask_app/users_count/infrastructure/__init__.py
tests/end2end/flask_app/users_count/infrastructure/inmemory_users_count_repository.py
tests/end2end/flask_app/users_count/infrastructure/sql_users_count_repository.py
tests/end2end/flask_app/users_count/infrastructure/users_count_model.py
tests/modules/__init__.py
tests/modules/domain/__init__.py
tests/modules/domain/test_app_service.py
tests/modules/domain/test_repository.py
tests/modules/domain/test_service.py
tests/modules/event/__init__.py
tests/modules/event/fixtures.py
tests/modules/event/integration/__init__.py
tests/modules/event/integration/test_rabbitmq_connection.py
tests/modules/event/integration/test_rabbitmq_connector.py
tests/modules/event/integration/test_rabbitmq_event_bus.py
tests/modules/event/integration/test_rabbitmq_event_chaos.py
tests/modules/event/integration/test_rabbitmq_event_consumer.py
tests/modules/event/integration/test_rabbitmq_event_consumer_publishing.py
tests/modules/event/integration/test_rabbitmq_event_consumer_store.py
tests/modules/event/integration/test_rabbitmq_event_consumer_unsubscribe_and_resume.py
tests/modules/event/integration/test_rabbitmq_event_consumer_with_chaos.py
tests/modules/event/integration/test_rabbitmq_event_consumer_with_event_handler_decorator.py
tests/modules/event/integration/test_rabbitmq_event_consumer_with_queue_config.py
tests/modules/event/integration/test_rabbitmq_event_several_configurations.py
tests/modules/event/integration/test_rabbitmq_event_working_with_legacy.py
tests/modules/event/legacy/__init__.py
tests/modules/event/legacy/integration/__init__.py
tests/modules/event/legacy/integration/test_rabbitmq_event_pub_sub.py
tests/modules/event/legacy/integration/test_rabbitmq_event_publisher.py
tests/modules/event/legacy/integration/test_rabbitmq_event_subscriber.py
tests/modules/event/legacy/integration/test_rabbitmq_subscriber_handler.py
tests/modules/event/legacy/mothers/__init__.py
tests/modules/event/legacy/mothers/rabbitmq_event_publisher_mother.py
tests/modules/event/legacy/mothers/rabbitmq_event_subscriber_mother.py
tests/modules/event/legacy/mothers/rabbitmq_queue_naming_mother.py
tests/modules/event/legacy/unit/__init__.py
tests/modules/event/legacy/unit/test_routing_key.py
tests/modules/event/mothers/__init__.py
tests/modules/event/mothers/defaults.py
tests/modules/event/mothers/event_user_created_mother.py
tests/modules/event/mothers/event_user_updated_mother.py
tests/modules/event/mothers/queue_config_mother.py
tests/modules/event/mothers/rabbitmq_declarer_mother.py
tests/modules/event/mothers/rabbitmq_event_bus_mother.py
tests/modules/event/mothers/rabbitmq_event_configurer_mother.py
tests/modules/event/mothers/rabbitmq_event_consumer_mother.py
tests/modules/event/spies/__init__.py
tests/modules/event/spies/spy_events.py
tests/modules/event/unit/__init__.py
tests/modules/event/unit/test_config_events.py
tests/modules/event/unit/test_event.py
tests/modules/event/unit/test_event_deprecated.py
tests/modules/event/unit/test_request_responded.py
tests/modules/event/unit/test_specific_queue_config.py
tests/modules/event/unit/callable_functions/__init__.py
tests/modules/event/unit/callable_functions/handlers.py
tests/modules/integration/__init__.py
tests/modules/integration/http/__init__.py
tests/modules/integration/http/test_request.py
tests/modules/integration/notifier/__init__.py
tests/modules/integration/notifier/test_slack_notifier.py
tests/modules/integration/notifier/test_slack_notifier_message_converter.py
tests/modules/integration/persistence/__init__.py
tests/modules/integration/persistence/pymongo/__init__.py
tests/modules/integration/persistence/pymongo/test_pymongo_persistence_connector.py
tests/modules/unit/__init__.py
tests/modules/unit/controller/__init__.py
tests/modules/unit/controller/fixtures.py
tests/modules/unit/controller/test_controller_handler.py
tests/modules/unit/controller/test_controller_handler_signature_inputs.py
tests/modules/unit/controller/test_controller_handler_with_jwt.py
tests/modules/unit/domain/__init__.py
tests/modules/unit/domain/aggregate_roots/__init__.py
tests/modules/unit/domain/aggregate_roots/test_aggregate_root.py
tests/modules/unit/domain/aggregate_roots/test_info_id_aggregate_root.py
tests/modules/unit/domain/errors/__init__.py
tests/modules/unit/domain/errors/test_critical_error.py
tests/modules/unit/domain/value_objects/__init__.py
tests/modules/unit/domain/value_objects/test_client_id_value_object.py
tests/modules/unit/domain/value_objects/test_name_value_object.py
tests/modules/unit/domain/value_objects/test_string_value_object.py
tests/modules/unit/domain/value_objects/test_user_id_value_object.py
tests/modules/unit/domain/value_objects/test_uuid_value_object.py
tests/modules/unit/logger/__init__.py
tests/modules/unit/logger/test_log_message.py
tests/modules/unit/mocks/__init__.py
tests/modules/unit/mocks/fake_event_publisher.py
tests/modules/unit/mocks/fake_logger.py
tests/modules/unit/mocks/fake_notifier.py
tests/modules/unit/mocks/log_message_mother.py
tests/modules/unit/security/__init__.py
tests/modules/unit/security/test_token_decoder.py
tests/modules/unit/tools/__init__.py
tests/modules/unit/tools/test_pool_executor.py
tests/modules/unit/tools/test_timer.py
tests/modules/unit/use_case/__init__.py
tests/modules/unit/use_case/test_use_case.py
tests/modules/webook/__init__.py
tests/modules/webook/integration/__init__.py
tests/modules/webook/integration/test_webhook_sender.py
tests/modules/webook/mothers/__init__.py
tests/modules/webook/mothers/webhook_mother.py
tests/modules/webook/mothers/webhook_result_mother.py
tests/modules/webook/mothers/webhook_sender_mother.py
tests/modules/webook/unit/__init__.py
tests/modules/webook/unit/test_secret.py
tests/modules/webook/unit/test_webhook.py
tests/modules/webook/unit/test_webhook_request_result.py
tests/modules/webook/unit/test_webhook_response_result.py
tests/modules/webook/unit/test_webhook_result.py