Coverage report: 83%

Files Functions Classes

coverage.py v7.15.4, created at 2026-08-25 11:15 +0000

File function   statements missing excluded   coverage
src/arraybridge/__init__.py (no function)   22 0 0   100%
src/arraybridge/array_geometry.py ArrayGeometry.ndim   1 1 0   0%
src/arraybridge/array_geometry.py ArrayGeometry.from_value   12 2 0   83%
src/arraybridge/array_geometry.py ArrayGeometry.require_from_value   4 1 0   75%
src/arraybridge/array_geometry.py (no function)   14 0 0   100%
src/arraybridge/array_operations.py _dtype_name   4 1 0   75%
src/arraybridge/array_operations.py _numpy_dtype_name   1 0 0   100%
src/arraybridge/array_operations.py _torch_dtype_name   1 0 0   100%
src/arraybridge/array_operations.py _tensorflow_dtype_name   2 2 0   0%
src/arraybridge/array_operations.py _scaled_values   8 1 0   88%
src/arraybridge/array_operations.py _clamp_bounds   7 1 0   86%
src/arraybridge/array_operations.py _identity_to_numpy   2 0 0   100%
src/arraybridge/array_operations.py _identity_from_numpy   2 0 0   100%
src/arraybridge/array_operations.py _numpy_stack   1 0 0   100%
src/arraybridge/array_operations.py _numpy_cast   2 2 0   0%
src/arraybridge/array_operations.py _module_logical_and   1 1 0   0%
src/arraybridge/array_operations.py _numpy_scale   13 0 0   100%
src/arraybridge/array_operations.py _cupy_to_numpy   2 2 0   0%
src/arraybridge/array_operations.py _cupy_from_numpy   2 2 0   0%
src/arraybridge/array_operations.py _cupy_stack   1 0 0   100%
src/arraybridge/array_operations.py _cupy_scale   13 13 0   0%
src/arraybridge/array_operations.py _torch_to_numpy   2 0 0   100%
src/arraybridge/array_operations.py _torch_from_numpy   2 0 0   100%
src/arraybridge/array_operations.py _torch_stack   1 1 0   0%
src/arraybridge/array_operations.py _torch_cast   1 1 0   0%
src/arraybridge/array_operations.py _mapped_dtype   9 4 0   56%
src/arraybridge/array_operations.py _torch_scale   15 3 0   80%
src/arraybridge/array_operations.py _tensorflow_to_numpy   2 2 0   0%
src/arraybridge/array_operations.py _tensorflow_from_numpy   2 2 0   0%
src/arraybridge/array_operations.py _tensorflow_stack   1 0 0   100%
src/arraybridge/array_operations.py _tensorflow_cast   1 1 0   0%
src/arraybridge/array_operations.py _tensorflow_scale   15 15 0   0%
src/arraybridge/array_operations.py _jax_to_numpy   2 2 0   0%
src/arraybridge/array_operations.py _jax_from_numpy   2 2 0   0%
src/arraybridge/array_operations.py _jax_stack   1 1 0   0%
src/arraybridge/array_operations.py _jax_cast   1 1 0   0%
src/arraybridge/array_operations.py _jax_logical_and   1 1 0   0%
src/arraybridge/array_operations.py _jax_scale   22 16 0   27%
src/arraybridge/array_operations.py _pyclesperanto_to_numpy   1 1 0   0%
src/arraybridge/array_operations.py _pyclesperanto_from_numpy   2 2 0   0%
src/arraybridge/array_operations.py _pyclesperanto_stack   10 1 0   90%
src/arraybridge/array_operations.py _pyclesperanto_cast   1 1 0   0%
src/arraybridge/array_operations.py _pyclesperanto_logical_and   1 1 0   0%
src/arraybridge/array_operations.py _pyclesperanto_scale   24 20 0   17%
src/arraybridge/array_operations.py (no function)   66 0 0   100%
src/arraybridge/array_payload.py ArrayPayload.array_payload_data   0 0 0   100%
src/arraybridge/array_payload.py ArrayPayload.with_data   0 0 0   100%
src/arraybridge/array_payload.py ArrayPayload.map_array_payload   5 0 0   100%
src/arraybridge/array_payload.py (no function)   10 0 0   100%
src/arraybridge/converters.py convert_memory   14 1 0   93%
src/arraybridge/converters.py detect_memory_type   8 0 0   100%
src/arraybridge/converters.py (no function)   6 0 0   100%
src/arraybridge/converters_registry.py ConverterBase.to_numpy   1 1 0   0%
src/arraybridge/converters_registry.py ConverterBase.from_numpy   1 1 0   0%
src/arraybridge/converters_registry.py ConverterBase.from_dlpack   1 1 0   0%
src/arraybridge/converters_registry.py ConverterBase.move_to_device   1 1 0   0%
src/arraybridge/converters_registry.py _make_to_numpy   3 0 0   100%
src/arraybridge/converters_registry.py _make_to_numpy.to_numpy   2 2 0   0%
src/arraybridge/converters_registry.py _make_from_numpy   3 0 0   100%
src/arraybridge/converters_registry.py _make_from_numpy.from_numpy   2 2 0   0%
src/arraybridge/converters_registry.py _make_device_mover   3 0 0   100%
src/arraybridge/converters_registry.py _make_device_mover.move_to_device   2 2 0   0%
src/arraybridge/converters_registry.py _make_dlpack_importer   3 0 0   100%
src/arraybridge/converters_registry.py _make_dlpack_importer.from_dlpack   4 4 0   0%
src/arraybridge/converters_registry.py _create_converter_classes   4 0 0   100%
src/arraybridge/converters_registry.py get_converter   4 0 0   100%
src/arraybridge/converters_registry.py _add_converter_methods   4 0 0   100%
src/arraybridge/converters_registry.py _add_converter_methods.make_method   2 0 0   100%
src/arraybridge/converters_registry.py _add_converter_methods.make_method.method   2 2 0   0%
src/arraybridge/converters_registry.py _validate_registry   11 0 0   100%
src/arraybridge/converters_registry.py (no function)   30 0 0   100%
src/arraybridge/decorators.py DtypeConversion.numpy_dtype   2 0 0   100%
src/arraybridge/decorators.py DtypeConversionConfig.default_dtype_conversion   0 0 0   100%
src/arraybridge/decorators.py DtypeConversionConfig.require_parameter_name   1 0 0   100%
src/arraybridge/decorators.py DtypeConversionConfig.default_value   1 0 0   100%
src/arraybridge/decorators.py DtypeConversionConfig.annotation_type   1 0 0   100%
src/arraybridge/decorators.py DtypeConversionConfig.parameter   1 0 0   100%
src/arraybridge/decorators.py SliceBySliceRuntimeParameter.require_parameter_name   1 0 0   100%
src/arraybridge/decorators.py SliceBySliceRuntimeParameter.default_value   1 1 0   0%
src/arraybridge/decorators.py SliceBySliceRuntimeParameter.annotation_type   1 0 0   100%
src/arraybridge/decorators.py SliceBySliceRuntimeParameter.parameter   1 0 0   100%
src/arraybridge/decorators.py EnumValueRegistryKeyMixin.__init_subclass__   4 0 0   100%
src/arraybridge/decorators.py EnumValueRegistryKeyMixin.registry_enum_member   0 0 0   100%
src/arraybridge/decorators.py DtypeConversionRunner.registry_enum_member   1 0 0   100%
src/arraybridge/decorators.py DtypeConversionRunner.for_dtype_conversion   1 0 0   100%
src/arraybridge/decorators.py DtypeConversionRunner.apply   0 0 0   100%
src/arraybridge/decorators.py PreserveInputDtypeConversionRunner.apply   3 0 0   100%
src/arraybridge/decorators.py NativeOutputDtypeConversionRunner.apply   1 1 0   0%
src/arraybridge/decorators.py FixedDtypeConversionRunner.apply   6 2 0   67%
src/arraybridge/decorators.py KeywordOnlySignatureExtension.__init__   1 0 0   100%
src/arraybridge/decorators.py KeywordOnlySignatureExtension.with_parameter   6 1 0   83%
src/arraybridge/decorators.py KeywordOnlySignatureExtension._insertion_index   4 1 0   75%
src/arraybridge/decorators.py ThreadGPUContext.__init__   1 0 0   100%
src/arraybridge/decorators.py ThreadGPUContext.stream_for   13 1 0   92%
src/arraybridge/decorators.py _get_thread_gpu_context   3 0 0   100%
src/arraybridge/decorators.py memory_types   7 0 0   100%
src/arraybridge/decorators.py memory_types.decorator   6 1 0   83%
src/arraybridge/decorators.py memory_types.decorator.wrapper   4 0 0   100%
src/arraybridge/decorators.py wrap_dtype_preserving_callable   17 2 0   88%
src/arraybridge/decorators.py wrap_dtype_preserving_callable.dtype_wrapper   15 1 0   93%
src/arraybridge/decorators.py wrap_dtype_preserving_callable.dtype_wrapper._apply_dtype_conversion   5 0 0   100%
src/arraybridge/decorators.py _create_gpu_wrapper   5 0 0   100%
src/arraybridge/decorators.py _create_gpu_wrapper.gpu_wrapper   9 2 0   78%
src/arraybridge/decorators.py _create_gpu_wrapper.gpu_wrapper.execute_with_stream   2 0 0   100%
src/arraybridge/decorators.py _create_memory_decorator   4 0 0   100%
src/arraybridge/decorators.py _create_memory_decorator.decorator   4 0 0   100%
src/arraybridge/decorators.py _create_memory_decorator.decorator.inner_decorator   7 0 0   100%
src/arraybridge/decorators.py (no function)   115 0 0   100%
src/arraybridge/dtype_scaling.py _scale_generic   1 0 0   100%
src/arraybridge/dtype_scaling.py _scale_pyclesperanto   1 1 0   0%
src/arraybridge/dtype_scaling.py (no function)   8 0 0   100%
src/arraybridge/exceptions.py MemoryConversionError.__init__   6 0 0   100%
src/arraybridge/exceptions.py (no function)   2 0 0   100%
src/arraybridge/framework_config.py _operation_view   1 0 0   100%
src/arraybridge/framework_config.py (no function)   4 0 0   100%
src/arraybridge/framework_ops.py (no function)   2 0 0   100%
src/arraybridge/gpu_cleanup.py _cleanup_declared   4 0 0   100%
src/arraybridge/gpu_cleanup.py _create_cleanup_function   4 0 0   100%
src/arraybridge/gpu_cleanup.py _create_cleanup_function.cleanup   1 0 0   100%
src/arraybridge/gpu_cleanup.py cleanup_all_gpu_frameworks   5 0 0   100%
src/arraybridge/gpu_cleanup.py (no function)   12 0 0   100%
src/arraybridge/oom_recovery.py _is_oom_error   5 0 0   100%
src/arraybridge/oom_recovery.py _clear_cache_for_memory_type   11 2 0   82%
src/arraybridge/oom_recovery.py _execute_with_oom_recovery   7 0 0   100%
src/arraybridge/oom_recovery.py (no function)   7 0 0   100%
src/arraybridge/slice_processing.py process_slices   39 1 0   97%
src/arraybridge/slice_processing.py (no function)   4 0 0   100%
src/arraybridge/stack_utils.py _is_2d   3 1 0   67%
src/arraybridge/stack_utils.py _is_3d   3 1 0   67%
src/arraybridge/stack_utils.py _enforce_gpu_device_requirements   3 0 0   100%
src/arraybridge/stack_utils.py stack_slices   21 4 0   81%
src/arraybridge/stack_utils.py unstack_slices   21 6 0   71%
src/arraybridge/stack_utils.py (no function)   11 0 0   100%
src/arraybridge/types.py _identity_subprocess_environment   1 0 0   100%
src/arraybridge/types.py _nvidia_wheel_library_paths   18 4 0   78%
src/arraybridge/types.py _nvidia_wheel_subprocess_environment   8 0 0   100%
src/arraybridge/types.py MemoryContractAttribute.read   3 0 0   100%
src/arraybridge/types.py MemoryContractAttribute.write   4 0 0   100%
src/arraybridge/types.py _no_device_ids   2 2 0   0%
src/arraybridge/types.py _no_device_id   2 2 0   0%
src/arraybridge/types.py _cupy_device_id   2 0 0   100%
src/arraybridge/types.py _torch_device_id   2 0 0   100%
src/arraybridge/types.py _tensorflow_device_id   3 0 0   100%
src/arraybridge/types.py _jax_device_id   9 1 0   89%
src/arraybridge/types.py _pyclesperanto_device_id   8 0 0   100%
src/arraybridge/types.py _cupy_device_ids   1 0 0   100%
src/arraybridge/types.py _torch_device_ids   3 0 0   100%
src/arraybridge/types.py _tensorflow_device_ids   1 0 0   100%
src/arraybridge/types.py _jax_device_ids   1 0 0   100%
src/arraybridge/types.py _pyclesperanto_devices   4 2 0   50%
src/arraybridge/types.py _pyclesperanto_select_device   7 2 0   71%
src/arraybridge/types.py _pyclesperanto_device_ids   1 0 0   100%
src/arraybridge/types.py _null_device_scope   2 2 0   0%
src/arraybridge/types.py _cupy_device_scope   1 0 0   100%
src/arraybridge/types.py _torch_device_scope   1 0 0   100%
src/arraybridge/types.py _tensorflow_device_scope   1 0 0   100%
src/arraybridge/types.py _jax_device_scope   2 2 0   0%
src/arraybridge/types.py _pyclesperanto_device_scope   10 0 0   100%
src/arraybridge/types.py _no_device_activation   1 1 0   0%
src/arraybridge/types.py _cupy_device_activation   1 1 0   0%
src/arraybridge/types.py _torch_device_activation   1 0 0   100%
src/arraybridge/types.py _pyclesperanto_device_activation   1 1 0   0%
src/arraybridge/types.py _cupy_cleanup   3 0 0   100%
src/arraybridge/types.py _torch_cleanup   2 2 0   0%
src/arraybridge/types.py _identity_device_move   2 2 0   0%
src/arraybridge/types.py _cupy_device_move   2 0 0   100%
src/arraybridge/types.py _torch_device_move   2 0 0   100%
src/arraybridge/types.py _tensorflow_device_move   2 0 0   100%
src/arraybridge/types.py _jax_device_move   2 2 0   0%
src/arraybridge/types.py _pyclesperanto_device_move   4 0 0   100%
src/arraybridge/types.py _no_current_device   2 0 0   100%
src/arraybridge/types.py _cupy_current_device   1 0 0   100%
src/arraybridge/types.py _torch_current_device   1 0 0   100%
src/arraybridge/types.py _cupy_stream   1 0 0   100%
src/arraybridge/types.py _torch_stream   1 0 0   100%
src/arraybridge/types.py _cupy_stream_scope   2 2 0   0%
src/arraybridge/types.py _torch_stream_scope   1 0 0   100%
src/arraybridge/types.py _null_stream_scope   2 2 0   0%
src/arraybridge/types.py _has_modern_dlpack_protocol   1 0 0   100%
src/arraybridge/types.py _cupy_from_dlpack   4 2 0   50%
src/arraybridge/types.py _torch_from_dlpack   1 0 0   100%
src/arraybridge/types.py _export_dlpack   5 1 0   80%
src/arraybridge/types.py _tensorflow_from_dlpack   1 0 0   100%
src/arraybridge/types.py _dlpack_data_pointer   8 8 0   0%
src/arraybridge/types.py _jax_aligned_dlpack_source   8 8 0   0%
src/arraybridge/types.py _jax_from_dlpack   3 1 0   67%
src/arraybridge/types.py _protocol_dlpack   2 2 0   0%
src/arraybridge/types.py _protocol_dlpack_export   5 2 0   60%
src/arraybridge/types.py _tensorflow_dlpack   12 1 0   92%
src/arraybridge/types.py _tensorflow_dlpack_export   3 1 0   67%
src/arraybridge/types.py _message_matches   2 0 0   100%
src/arraybridge/types.py _exception_type   6 1 0   83%
src/arraybridge/types.py _matches_declared_exception   4 0 0   100%
src/arraybridge/types.py _numpy_oom   2 0 0   100%
src/arraybridge/types.py _never_oom   2 2 0   0%
src/arraybridge/types.py _cupy_oom   1 0 0   100%
src/arraybridge/types.py _torch_oom   1 0 0   100%
src/arraybridge/types.py _tensorflow_oom   1 0 0   100%
src/arraybridge/types.py _jax_oom   2 2 0   0%
src/arraybridge/types.py _pyclesperanto_oom   2 2 0   0%
src/arraybridge/types.py MemoryType.__new__   11 0 0   100%
src/arraybridge/types.py MemoryType.recognized_module_names   1 0 0   100%
src/arraybridge/types.py MemoryType.is_installed   4 2 0   50%
src/arraybridge/types.py MemoryType.prepare_import   5 0 0   100%
src/arraybridge/types.py MemoryType.subprocess_environment   6 0 0   100%
src/arraybridge/types.py MemoryType.loaded_module   1 0 0   100%
src/arraybridge/types.py MemoryType.import_module   2 0 0   100%
src/arraybridge/types.py MemoryType.import_if_installed   7 1 0   86%
src/arraybridge/types.py MemoryType.to_numpy   2 0 0   100%
src/arraybridge/types.py MemoryType.from_numpy   3 0 0   100%
src/arraybridge/types.py MemoryType.stack_arrays   3 0 0   100%
src/arraybridge/types.py MemoryType.scale_dtype   7 0 0   100%
src/arraybridge/types.py MemoryType.canonical_dtype_name   1 0 0   100%
src/arraybridge/types.py MemoryType.astype   5 5 0   0%
src/arraybridge/types.py MemoryType.logical_and   5 5 0   0%
src/arraybridge/types.py MemoryType.available_device_ids   4 1 0   75%
src/arraybridge/types.py MemoryType.require_device   7 1 0   86%
src/arraybridge/types.py MemoryType.device_id_of   4 0 0   100%
src/arraybridge/types.py MemoryType.device_scope   4 0 0   100%
src/arraybridge/types.py MemoryType.activate_device   4 0 0   100%
src/arraybridge/types.py MemoryType.move_to_device   7 0 0   100%
src/arraybridge/types.py MemoryType.supports_dlpack   1 0 0   100%
src/arraybridge/types.py MemoryType.supports_dlpack_data   4 1 0   75%
src/arraybridge/types.py MemoryType.export_dlpack   6 0 0   100%
src/arraybridge/types.py MemoryType.from_dlpack   6 1 0   83%
src/arraybridge/types.py MemoryType.convert_to   14 7 0   50%
src/arraybridge/types.py MemoryType.current_device_id   4 1 0   75%
src/arraybridge/types.py MemoryType.create_stream   5 1 0   80%
src/arraybridge/types.py MemoryType.stream_scope   4 1 0   75%
src/arraybridge/types.py MemoryType.is_oom_error   1 0 0   100%
src/arraybridge/types.py MemoryType.cleanup_loaded   15 0 0   100%
src/arraybridge/types.py (no function)   177 0 0   100%
src/arraybridge/utils.py optional_import   7 0 0   100%
src/arraybridge/utils.py _ensure_module   5 0 0   100%
src/arraybridge/utils.py _supports_cuda_array_interface   1 0 0   100%
src/arraybridge/utils.py _supports_dlpack   1 0 0   100%
src/arraybridge/utils.py _get_device_id   5 0 0   100%
src/arraybridge/utils.py _set_device   5 2 0   60%
src/arraybridge/utils.py _move_to_device   5 2 0   60%
src/arraybridge/utils.py (no function)   13 0 0   100%
Total     1445 247 0   83%

No items found using the specified filter.