haiway 0.21.0__tar.gz → 0.21.1__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.
- {haiway-0.21.0 → haiway-0.21.1}/PKG-INFO +1 -1
- {haiway-0.21.0 → haiway-0.21.1}/junit/test-results.xml +1 -1
- {haiway-0.21.0 → haiway-0.21.1}/pyproject.toml +1 -1
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/helpers/asynchrony.py +3 -3
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/utils/mimic.py +2 -2
- {haiway-0.21.0 → haiway-0.21.1}/uv.lock +194 -194
- {haiway-0.21.0 → haiway-0.21.1}/.github/workflows/ci.yml +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/.github/workflows/publish.yml +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/.gitignore +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/LICENSE +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/Makefile +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/README.md +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/config/pre-push +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/.dockerignore +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/Dockerfile +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/Makefile +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/README.md +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/config/.env.example +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/config/unit.json +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/docker-compose.yml +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/pyproject.toml +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/features/__int__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/features/todos/__init__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/features/todos/config.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/features/todos/state.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/features/todos/types.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/features/todos/user_tasks.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/integrations/__init__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/integrations/postgres/__init__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/integrations/postgres/client.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/integrations/postgres/config.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/integrations/postgres/state.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/integrations/postgres/types.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/migrations/__init__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/migrations/__main__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/migrations/postgres/__init__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/migrations/postgres/execution.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/migrations/postgres/migration_0.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/migrations/postgres/types.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/server/__init__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/server/__main__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/server/application.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/server/config.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/server/middlewares/__init__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/server/middlewares/context.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/server/routes/__init__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/server/routes/technical.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/server/routes/todos.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/solutions/__init__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/solutions/user_tasks/__init__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/solutions/user_tasks/config.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/solutions/user_tasks/postgres.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/solutions/user_tasks/state.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/src/solutions/user_tasks/types.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/examples/fastAPI/uv.lock +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/guidelines/functionalities.md +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/guidelines/llms.txt +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/guidelines/packages.md +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/__init__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/context/__init__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/context/access.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/context/disposables.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/context/identifier.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/context/observability.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/context/state.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/context/tasks.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/context/types.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/helpers/__init__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/helpers/caching.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/helpers/concurrent.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/helpers/observability.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/helpers/retries.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/helpers/throttling.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/helpers/timeouted.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/helpers/tracing.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/opentelemetry/__init__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/opentelemetry/observability.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/py.typed +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/state/__init__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/state/attributes.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/state/path.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/state/requirement.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/state/structure.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/state/validation.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/types/__init__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/types/default.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/types/missing.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/utils/__init__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/utils/always.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/utils/collections.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/utils/env.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/utils/formatting.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/utils/freezing.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/utils/logs.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/utils/noop.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/utils/queue.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/src/haiway/utils/stream.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/tests/__init__.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/tests/test_async_queue.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/tests/test_async_stream.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/tests/test_attribute_path.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/tests/test_attribute_requirement.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/tests/test_auto_retry.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/tests/test_cache.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/tests/test_context.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/tests/test_process_concurrently.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/tests/test_state.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/tests/test_streaming.py +0 -0
- {haiway-0.21.0 → haiway-0.21.1}/tests/test_timeout.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: haiway
|
3
|
-
Version: 0.21.
|
3
|
+
Version: 0.21.1
|
4
4
|
Summary: Framework for dependency injection and state management within structured concurrency model.
|
5
5
|
Project-URL: Homepage, https://miquido.com
|
6
6
|
Project-URL: Repository, https://github.com/miquido/haiway.git
|
@@ -1 +1 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?><testsuites><testsuite name="pytest" errors="0" failures="0" skipped="0" tests="105" time="1.809" timestamp="2025-05-22T14:18:16.430821+00:00" hostname="pkrvmf6wy0o8zjz"><testcase classname="tests.test_async_queue" name="test_fails_when_stream_fails" time="0.002" /><testcase classname="tests.test_async_queue" name="test_cancels_when_iteration_cancels" time="0.001" /><testcase classname="tests.test_async_queue" name="test_ends_when_stream_ends" time="0.001" /><testcase classname="tests.test_async_queue" name="test_buffers_values_when_not_reading" time="0.001" /><testcase classname="tests.test_async_queue" name="test_delivers_buffer_when_streaming_fails" time="0.001" /><testcase classname="tests.test_async_queue" name="test_delivers_updates_when_sending" time="0.001" /><testcase classname="tests.test_async_queue" name="test_fails_when_sending_to_finished" time="0.001" /><testcase classname="tests.test_async_queue" name="test_ignores_when_finishing_when_finished" time="0.001" /><testcase classname="tests.test_async_stream" name="test_fails_when_stream_fails" time="0.001" /><testcase classname="tests.test_async_stream" name="test_cancels_when_iteration_cancels" time="0.001" /><testcase classname="tests.test_async_stream" name="test_ends_when_stream_ends" time="0.001" /><testcase classname="tests.test_async_stream" name="test_finishes_without_buffer" time="0.001" /><testcase classname="tests.test_async_stream" name="test_fails_without_buffer" time="0.001" /><testcase classname="tests.test_async_stream" name="test_delivers_updates_when_sending" time="0.001" /><testcase classname="tests.test_async_stream" name="test_ignores_when_sending_to_finished" time="0.001" /><testcase classname="tests.test_async_stream" name="test_ignores_when_sending_to_failed" time="0.001" /><testcase classname="tests.test_async_stream" name="test_ignores_when_finishing_when_finished" time="0.001" /><testcase classname="tests.test_async_stream" name="test_delivers_all_when_sending_async" time="0.001" /><testcase classname="tests.test_attribute_path" name="test_id_path_points_to_self" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_attribute_path_points_to_attribute" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_nested_attribute_path_points_to_nested_attribute" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_recursive_attribute_path_points_to_attribute" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_list_item_path_points_to_item" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_tuple_item_path_points_to_item" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_mixed_tuple_item_path_points_to_item" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_dict_item_path_points_to_item" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_id_path_set_updates_self" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_attribute_path_set_updates_attribute" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_nested_attribute_path_set_updates_nested_attribute" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_recursive_attribute_set_updates_attribute" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_list_item_path_set_updates_item" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_tuple_item_path_set_updates_item" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_mixed_tuple_item_set_updates_item" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_dict_item_path_set_updates_item" time="0.000" /><testcase classname="tests.test_attribute_requirement" name="test_equal_requirement" time="0.000" /><testcase classname="tests.test_attribute_requirement" name="test_not_equal_requirement" time="0.000" /><testcase classname="tests.test_attribute_requirement" name="test_contains_requirement" time="0.000" /><testcase classname="tests.test_attribute_requirement" name="test_contains_any_requirement" time="0.000" /><testcase classname="tests.test_attribute_requirement" name="test_contained_in_requirement" time="0.000" /><testcase classname="tests.test_attribute_requirement" name="test_logical_and_or_requirements" time="0.000" /><testcase classname="tests.test_attribute_requirement" name="test_filter" time="0.000" /><testcase classname="tests.test_attribute_requirement" name="test_immutability" time="0.000" /><testcase classname="tests.test_auto_retry" name="test_returns_value_without_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_retries_with_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_logs_issue_with_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_fails_with_exceeding_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_fails_with_cancellation" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_retries_with_selected_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_fails_with_not_selected_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_async_returns_value_without_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_async_retries_with_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_async_fails_with_exceeding_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_async_fails_with_cancellation" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_async_fails_when_cancelled" time="0.021" /><testcase classname="tests.test_auto_retry" name="test_async_uses_delay_with_errors" time="0.102" /><testcase classname="tests.test_auto_retry" name="test_async_uses_computed_delay_with_errors" time="0.107" /><testcase classname="tests.test_auto_retry" name="test_async_logs_issue_with_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_async_retries_with_selected_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_async_fails_with_not_selected_errors" time="0.001" /><testcase classname="tests.test_cache" name="test_returns_cache_value_with_same_argument" time="0.001" /><testcase classname="tests.test_cache" name="test_returns_fresh_value_with_different_argument" time="0.000" /><testcase classname="tests.test_cache" name="test_returns_fresh_value_with_limit_exceed" time="0.000" /><testcase classname="tests.test_cache" name="test_returns_same_value_with_repeating_argument" time="0.000" /><testcase classname="tests.test_cache" name="test_fails_with_error" time="0.000" /><testcase classname="tests.test_cache" name="test_returns_fresh_value_with_expiration_time_exceed" time="0.020" /><testcase classname="tests.test_cache" name="test_async_returns_cache_value_with_same_argument" time="0.001" /><testcase classname="tests.test_cache" name="test_async_returns_fresh_value_with_different_argument" time="0.001" /><testcase classname="tests.test_cache" name="test_async_returns_fresh_value_with_limit_exceed" time="0.001" /><testcase classname="tests.test_cache" name="test_async_returns_same_value_with_repeating_argument" time="0.001" /><testcase classname="tests.test_cache" name="test_async_returns_fresh_value_with_expiration_time_exceed" time="0.021" /><testcase classname="tests.test_cache" name="test_async_cancel_waiting_does_not_cancel_task" time="0.501" /><testcase classname="tests.test_cache" name="test_async_expiration_does_not_cancel_task" time="0.021" /><testcase classname="tests.test_cache" name="test_async_fails_with_error" time="0.001" /><testcase classname="tests.test_context" name="test_state_is_available_according_to_context" time="0.001" /><testcase classname="tests.test_context" name="test_state_update_updates_local_context" time="0.001" /><testcase classname="tests.test_context" name="test_exceptions_are_propagated" time="0.001" /><testcase classname="tests.test_process_concurrently" name="test_processes_all_elements" time="0.001" /><testcase classname="tests.test_process_concurrently" name="test_processes_elements_concurrently" time="0.302" /><testcase classname="tests.test_process_concurrently" name="test_handles_empty_source" time="0.001" /><testcase classname="tests.test_process_concurrently" name="test_propagates_handler_exceptions" time="0.001" /><testcase classname="tests.test_process_concurrently" name="test_ignores_handler_exceptions_when_configured" time="0.001" /><testcase classname="tests.test_process_concurrently" name="test_handles_source_exception" time="0.001" /><testcase classname="tests.test_process_concurrently" name="test_cancels_running_tasks_on_cancellation" time="0.101" /><testcase classname="tests.test_process_concurrently" name="test_respects_concurrency_limit" time="0.202" /><testcase classname="tests.test_process_concurrently" name="test_processes_elements_from_queue" time="0.052" /><testcase classname="tests.test_state" name="test_basic_initializes_with_arguments" time="0.002" /><testcase classname="tests.test_state" name="test_basic_initializes_with_defaults" time="0.001" /><testcase classname="tests.test_state" name="test_basic_equals_checks_properties" time="0.000" /><testcase classname="tests.test_state" name="test_basic_initializes_with_arguments_and_defaults" time="0.000" /><testcase classname="tests.test_state" name="test_parametrized_initializes_with_proper_parameters" time="0.001" /><testcase classname="tests.test_state" name="test_nested_initializes_with_proper_arguments" time="0.001" /><testcase classname="tests.test_state" name="test_dict_skips_missing_properties" time="0.000" /><testcase classname="tests.test_state" name="test_initialization_allows_missing_properties" time="0.000" /><testcase classname="tests.test_state" name="test_generic_subtypes_validation" time="0.002" /><testcase classname="tests.test_state" name="test_copying_leaves_same_object" time="0.000" /><testcase classname="tests.test_streaming" name="test_fails_when_generator_fails" time="0.001" /><testcase classname="tests.test_streaming" name="test_cancels_when_iteration_cancels" time="0.001" /><testcase classname="tests.test_streaming" name="test_ends_when_generator_ends" time="0.001" /><testcase classname="tests.test_streaming" name="test_delivers_updates_when_generating" time="0.001" /><testcase classname="tests.test_streaming" name="test_streaming_context_variables_access_is_preserved" time="0.001" /><testcase classname="tests.test_streaming" name="test_nested_streaming_streams_correctly" time="0.001" /><testcase classname="tests.test_timeout" name="test_returns_result_when_returning_value" time="0.001" /><testcase classname="tests.test_timeout" name="test_raises_with_error" time="0.001" /><testcase classname="tests.test_timeout" name="test_raises_with_cancel" time="0.011" /><testcase classname="tests.test_timeout" name="test_raises_with_timeout" time="0.011" /></testsuite></testsuites>
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><testsuites><testsuite name="pytest" errors="0" failures="0" skipped="0" tests="105" time="1.822" timestamp="2025-05-22T14:52:29.443450+00:00" hostname="pkrvmf6wy0o8zjz"><testcase classname="tests.test_async_queue" name="test_fails_when_stream_fails" time="0.002" /><testcase classname="tests.test_async_queue" name="test_cancels_when_iteration_cancels" time="0.001" /><testcase classname="tests.test_async_queue" name="test_ends_when_stream_ends" time="0.001" /><testcase classname="tests.test_async_queue" name="test_buffers_values_when_not_reading" time="0.001" /><testcase classname="tests.test_async_queue" name="test_delivers_buffer_when_streaming_fails" time="0.001" /><testcase classname="tests.test_async_queue" name="test_delivers_updates_when_sending" time="0.001" /><testcase classname="tests.test_async_queue" name="test_fails_when_sending_to_finished" time="0.001" /><testcase classname="tests.test_async_queue" name="test_ignores_when_finishing_when_finished" time="0.001" /><testcase classname="tests.test_async_stream" name="test_fails_when_stream_fails" time="0.001" /><testcase classname="tests.test_async_stream" name="test_cancels_when_iteration_cancels" time="0.001" /><testcase classname="tests.test_async_stream" name="test_ends_when_stream_ends" time="0.001" /><testcase classname="tests.test_async_stream" name="test_finishes_without_buffer" time="0.001" /><testcase classname="tests.test_async_stream" name="test_fails_without_buffer" time="0.001" /><testcase classname="tests.test_async_stream" name="test_delivers_updates_when_sending" time="0.001" /><testcase classname="tests.test_async_stream" name="test_ignores_when_sending_to_finished" time="0.001" /><testcase classname="tests.test_async_stream" name="test_ignores_when_sending_to_failed" time="0.001" /><testcase classname="tests.test_async_stream" name="test_ignores_when_finishing_when_finished" time="0.001" /><testcase classname="tests.test_async_stream" name="test_delivers_all_when_sending_async" time="0.001" /><testcase classname="tests.test_attribute_path" name="test_id_path_points_to_self" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_attribute_path_points_to_attribute" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_nested_attribute_path_points_to_nested_attribute" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_recursive_attribute_path_points_to_attribute" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_list_item_path_points_to_item" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_tuple_item_path_points_to_item" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_mixed_tuple_item_path_points_to_item" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_dict_item_path_points_to_item" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_id_path_set_updates_self" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_attribute_path_set_updates_attribute" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_nested_attribute_path_set_updates_nested_attribute" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_recursive_attribute_set_updates_attribute" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_list_item_path_set_updates_item" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_tuple_item_path_set_updates_item" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_mixed_tuple_item_set_updates_item" time="0.000" /><testcase classname="tests.test_attribute_path" name="test_dict_item_path_set_updates_item" time="0.000" /><testcase classname="tests.test_attribute_requirement" name="test_equal_requirement" time="0.000" /><testcase classname="tests.test_attribute_requirement" name="test_not_equal_requirement" time="0.000" /><testcase classname="tests.test_attribute_requirement" name="test_contains_requirement" time="0.000" /><testcase classname="tests.test_attribute_requirement" name="test_contains_any_requirement" time="0.000" /><testcase classname="tests.test_attribute_requirement" name="test_contained_in_requirement" time="0.000" /><testcase classname="tests.test_attribute_requirement" name="test_logical_and_or_requirements" time="0.000" /><testcase classname="tests.test_attribute_requirement" name="test_filter" time="0.000" /><testcase classname="tests.test_attribute_requirement" name="test_immutability" time="0.000" /><testcase classname="tests.test_auto_retry" name="test_returns_value_without_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_retries_with_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_logs_issue_with_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_fails_with_exceeding_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_fails_with_cancellation" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_retries_with_selected_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_fails_with_not_selected_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_async_returns_value_without_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_async_retries_with_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_async_fails_with_exceeding_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_async_fails_with_cancellation" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_async_fails_when_cancelled" time="0.021" /><testcase classname="tests.test_auto_retry" name="test_async_uses_delay_with_errors" time="0.102" /><testcase classname="tests.test_auto_retry" name="test_async_uses_computed_delay_with_errors" time="0.107" /><testcase classname="tests.test_auto_retry" name="test_async_logs_issue_with_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_async_retries_with_selected_errors" time="0.001" /><testcase classname="tests.test_auto_retry" name="test_async_fails_with_not_selected_errors" time="0.001" /><testcase classname="tests.test_cache" name="test_returns_cache_value_with_same_argument" time="0.000" /><testcase classname="tests.test_cache" name="test_returns_fresh_value_with_different_argument" time="0.000" /><testcase classname="tests.test_cache" name="test_returns_fresh_value_with_limit_exceed" time="0.000" /><testcase classname="tests.test_cache" name="test_returns_same_value_with_repeating_argument" time="0.000" /><testcase classname="tests.test_cache" name="test_fails_with_error" time="0.000" /><testcase classname="tests.test_cache" name="test_returns_fresh_value_with_expiration_time_exceed" time="0.021" /><testcase classname="tests.test_cache" name="test_async_returns_cache_value_with_same_argument" time="0.001" /><testcase classname="tests.test_cache" name="test_async_returns_fresh_value_with_different_argument" time="0.001" /><testcase classname="tests.test_cache" name="test_async_returns_fresh_value_with_limit_exceed" time="0.001" /><testcase classname="tests.test_cache" name="test_async_returns_same_value_with_repeating_argument" time="0.001" /><testcase classname="tests.test_cache" name="test_async_returns_fresh_value_with_expiration_time_exceed" time="0.021" /><testcase classname="tests.test_cache" name="test_async_cancel_waiting_does_not_cancel_task" time="0.502" /><testcase classname="tests.test_cache" name="test_async_expiration_does_not_cancel_task" time="0.021" /><testcase classname="tests.test_cache" name="test_async_fails_with_error" time="0.001" /><testcase classname="tests.test_context" name="test_state_is_available_according_to_context" time="0.001" /><testcase classname="tests.test_context" name="test_state_update_updates_local_context" time="0.001" /><testcase classname="tests.test_context" name="test_exceptions_are_propagated" time="0.001" /><testcase classname="tests.test_process_concurrently" name="test_processes_all_elements" time="0.001" /><testcase classname="tests.test_process_concurrently" name="test_processes_elements_concurrently" time="0.302" /><testcase classname="tests.test_process_concurrently" name="test_handles_empty_source" time="0.001" /><testcase classname="tests.test_process_concurrently" name="test_propagates_handler_exceptions" time="0.001" /><testcase classname="tests.test_process_concurrently" name="test_ignores_handler_exceptions_when_configured" time="0.001" /><testcase classname="tests.test_process_concurrently" name="test_handles_source_exception" time="0.001" /><testcase classname="tests.test_process_concurrently" name="test_cancels_running_tasks_on_cancellation" time="0.101" /><testcase classname="tests.test_process_concurrently" name="test_respects_concurrency_limit" time="0.202" /><testcase classname="tests.test_process_concurrently" name="test_processes_elements_from_queue" time="0.052" /><testcase classname="tests.test_state" name="test_basic_initializes_with_arguments" time="0.002" /><testcase classname="tests.test_state" name="test_basic_initializes_with_defaults" time="0.001" /><testcase classname="tests.test_state" name="test_basic_equals_checks_properties" time="0.000" /><testcase classname="tests.test_state" name="test_basic_initializes_with_arguments_and_defaults" time="0.000" /><testcase classname="tests.test_state" name="test_parametrized_initializes_with_proper_parameters" time="0.001" /><testcase classname="tests.test_state" name="test_nested_initializes_with_proper_arguments" time="0.001" /><testcase classname="tests.test_state" name="test_dict_skips_missing_properties" time="0.000" /><testcase classname="tests.test_state" name="test_initialization_allows_missing_properties" time="0.000" /><testcase classname="tests.test_state" name="test_generic_subtypes_validation" time="0.002" /><testcase classname="tests.test_state" name="test_copying_leaves_same_object" time="0.000" /><testcase classname="tests.test_streaming" name="test_fails_when_generator_fails" time="0.001" /><testcase classname="tests.test_streaming" name="test_cancels_when_iteration_cancels" time="0.001" /><testcase classname="tests.test_streaming" name="test_ends_when_generator_ends" time="0.001" /><testcase classname="tests.test_streaming" name="test_delivers_updates_when_generating" time="0.001" /><testcase classname="tests.test_streaming" name="test_streaming_context_variables_access_is_preserved" time="0.001" /><testcase classname="tests.test_streaming" name="test_nested_streaming_streams_correctly" time="0.001" /><testcase classname="tests.test_timeout" name="test_returns_result_when_returning_value" time="0.001" /><testcase classname="tests.test_timeout" name="test_raises_with_error" time="0.001" /><testcase classname="tests.test_timeout" name="test_raises_with_cancel" time="0.011" /><testcase classname="tests.test_timeout" name="test_raises_with_timeout" time="0.011" /></testsuite></testsuites>
|
@@ -5,7 +5,7 @@ build-backend = "hatchling.build"
|
|
5
5
|
[project]
|
6
6
|
name = "haiway"
|
7
7
|
description = "Framework for dependency injection and state management within structured concurrency model."
|
8
|
-
version = "0.21.
|
8
|
+
version = "0.21.1"
|
9
9
|
readme = "README.md"
|
10
10
|
maintainers = [
|
11
11
|
{ name = "Kacper Kaliński", email = "kacper.kalinski@miquido.com" },
|
@@ -137,7 +137,7 @@ def _mimic_async[**Args, Result](
|
|
137
137
|
function,
|
138
138
|
"__annotations__",
|
139
139
|
)
|
140
|
-
|
140
|
+
object.__setattr__(
|
141
141
|
within,
|
142
142
|
"__annotations__",
|
143
143
|
{
|
@@ -160,7 +160,7 @@ def _mimic_async[**Args, Result](
|
|
160
160
|
"__globals__",
|
161
161
|
):
|
162
162
|
try:
|
163
|
-
|
163
|
+
object.__setattr__(
|
164
164
|
within,
|
165
165
|
attribute,
|
166
166
|
getattr(
|
@@ -177,7 +177,7 @@ def _mimic_async[**Args, Result](
|
|
177
177
|
except AttributeError:
|
178
178
|
pass
|
179
179
|
|
180
|
-
|
180
|
+
object.__setattr__( # mimic functools.wraps behavior for correct signature checks
|
181
181
|
within,
|
182
182
|
"__wrapped__",
|
183
183
|
function,
|
@@ -40,7 +40,7 @@ def mimic_function[**Args, Result](
|
|
40
40
|
"__globals__",
|
41
41
|
):
|
42
42
|
try:
|
43
|
-
|
43
|
+
object.__setattr__(
|
44
44
|
target,
|
45
45
|
attribute,
|
46
46
|
getattr(
|
@@ -57,7 +57,7 @@ def mimic_function[**Args, Result](
|
|
57
57
|
except AttributeError:
|
58
58
|
pass
|
59
59
|
|
60
|
-
|
60
|
+
object.__setattr__( # mimic functools.wraps behavior for correct signature checks
|
61
61
|
target,
|
62
62
|
"__wrapped__",
|
63
63
|
function,
|