Coverage report: 70%

Files Functions Classes

coverage.py v7.10.4, created at 2025-08-20 20:56 +0200

File function statements missing excluded coverage
src/quickmcp/__init__.py (no function) 9 0 0 100%
src/quickmcp/autodiscovery.py ServerInfo.to_json 1 0 0 100%
src/quickmcp/autodiscovery.py ServerInfo.from_json 1 0 0 100%
src/quickmcp/autodiscovery.py DiscoveryBroadcaster.__init__ 10 0 0 100%
src/quickmcp/autodiscovery.py DiscoveryBroadcaster.start 8 2 0 75%
src/quickmcp/autodiscovery.py DiscoveryBroadcaster.stop 5 0 0 100%
src/quickmcp/autodiscovery.py DiscoveryBroadcaster._setup_sockets 23 4 0 83%
src/quickmcp/autodiscovery.py DiscoveryBroadcaster._cleanup_sockets 6 2 0 67%
src/quickmcp/autodiscovery.py DiscoveryBroadcaster._broadcast_loop 11 2 0 82%
src/quickmcp/autodiscovery.py DiscoveryBroadcaster._create_packet 2 0 0 100%
src/quickmcp/autodiscovery.py DiscoveryBroadcaster._send_broadcast 8 3 0 62%
src/quickmcp/autodiscovery.py DiscoveryBroadcaster._send_multicast 10 4 0 60%
src/quickmcp/autodiscovery.py DiscoveryListener.__init__ 9 0 0 100%
src/quickmcp/autodiscovery.py DiscoveryListener.start 8 8 0 0%
src/quickmcp/autodiscovery.py DiscoveryListener.stop 5 5 0 0%
src/quickmcp/autodiscovery.py DiscoveryListener.get_servers 6 0 0 100%
src/quickmcp/autodiscovery.py DiscoveryListener._setup_socket 14 14 0 0%
src/quickmcp/autodiscovery.py DiscoveryListener._cleanup_socket 12 12 0 0%
src/quickmcp/autodiscovery.py DiscoveryListener._listen_loop 9 9 0 0%
src/quickmcp/autodiscovery.py DiscoveryListener._process_packet 12 2 0 83%
src/quickmcp/autodiscovery.py AutoDiscovery.__init__ 4 0 0 100%
src/quickmcp/autodiscovery.py AutoDiscovery.update_capabilities 1 0 0 100%
src/quickmcp/autodiscovery.py AutoDiscovery.start 1 0 0 100%
src/quickmcp/autodiscovery.py AutoDiscovery.stop 1 0 0 100%
src/quickmcp/autodiscovery.py AutoDiscovery.__enter__ 2 0 0 100%
src/quickmcp/autodiscovery.py AutoDiscovery.__exit__ 1 0 0 100%
src/quickmcp/autodiscovery.py discover_servers 7 0 0 100%
src/quickmcp/autodiscovery.py discover_servers.on_discovered 1 1 0 0%
src/quickmcp/autodiscovery.py discovery_cli 35 35 0 0%
src/quickmcp/autodiscovery.py discovery_cli.on_discovered 8 8 0 0%
src/quickmcp/autodiscovery.py (no function) 60 1 0 98%
src/quickmcp/cli.py cmd_register 3 0 0 100%
src/quickmcp/cli.py cmd_unregister 5 2 0 60%
src/quickmcp/cli.py cmd_list 25 13 0 48%
src/quickmcp/cli.py cmd_discover 20 12 0 40%
src/quickmcp/cli.py cmd_discover.discover 1 1 0 0%
src/quickmcp/cli.py cmd_export 11 5 0 55%
src/quickmcp/cli.py cmd_info 26 16 0 38%
src/quickmcp/cli.py main 40 40 0 0%
src/quickmcp/cli.py (no function) 16 1 0 94%
src/quickmcp/cli_factory.py main 67 67 0 0%
src/quickmcp/cli_factory.py (no function) 7 7 0 0%
src/quickmcp/decorators.py tool 2 0 0 100%
src/quickmcp/decorators.py tool.decorator 8 0 0 100%
src/quickmcp/decorators.py tool.decorator.wrapper 1 0 0 100%
src/quickmcp/decorators.py resource 2 0 0 100%
src/quickmcp/decorators.py resource.decorator 8 0 0 100%
src/quickmcp/decorators.py resource.decorator.wrapper 1 0 0 100%
src/quickmcp/decorators.py prompt 2 0 0 100%
src/quickmcp/decorators.py prompt.decorator 8 0 0 100%
src/quickmcp/decorators.py prompt.decorator.wrapper 1 0 0 100%
src/quickmcp/decorators.py get_pending_tools 1 0 0 100%
src/quickmcp/decorators.py get_pending_resources 1 0 0 100%
src/quickmcp/decorators.py get_pending_prompts 1 0 0 100%
src/quickmcp/decorators.py clear_pending 3 0 0 100%
src/quickmcp/decorators.py auto_discover_mcp_components 10 0 0 100%
src/quickmcp/decorators.py (no function) 16 0 0 100%
src/quickmcp/factory/__init__.py (no function) 11 0 0 100%
src/quickmcp/factory/config.py FactoryConfig.__post_init__ 6 0 0 100%
src/quickmcp/factory/config.py FactoryConfig.merge_pip_mappings 3 0 0 100%
src/quickmcp/factory/config.py FactoryConfig.get_effective_stdlib_modules 1 0 0 100%
src/quickmcp/factory/config.py create_safe_config 1 0 0 100%
src/quickmcp/factory/config.py create_permissive_config 1 0 0 100%
src/quickmcp/factory/config.py create_development_config 1 0 0 100%
src/quickmcp/factory/config.py (no function) 26 0 0 100%
src/quickmcp/factory/core.py ModuleLoader.__init__ 1 0 0 100%
src/quickmcp/factory/core.py ModuleLoader.load_module 19 2 0 89%
src/quickmcp/factory/core.py FunctionExtractor.__init__ 1 0 0 100%
src/quickmcp/factory/core.py FunctionExtractor.extract_from_module 17 3 0 82%
src/quickmcp/factory/core.py FunctionExtractor.extract_from_class 15 0 0 100%
src/quickmcp/factory/core.py FunctionExtractor.extract_decorated_functions 22 2 0 91%
src/quickmcp/factory/core.py MCPFactory.__init__ 8 0 0 100%
src/quickmcp/factory/core.py MCPFactory.from_module 29 3 0 90%
src/quickmcp/factory/core.py MCPFactory.from_module_object 9 0 0 100%
src/quickmcp/factory/core.py MCPFactory.from_functions 6 0 0 100%
src/quickmcp/factory/core.py MCPFactory.from_class 15 5 0 67%
src/quickmcp/factory/core.py MCPFactory.from_file_with_decorators 8 0 0 100%
src/quickmcp/factory/core.py MCPFactory._register_tool 10 2 0 80%
src/quickmcp/factory/core.py MCPFactory.analyze_dependencies 3 1 0 67%
src/quickmcp/factory/core.py MCPFactory.check_dependencies 5 0 0 100%
src/quickmcp/factory/core.py MCPFactory._generate_install_command 4 0 0 100%
src/quickmcp/factory/core.py (no function) 32 0 0 100%
src/quickmcp/factory/errors.py ModuleLoadError.__init__ 3 0 0 100%
src/quickmcp/factory/errors.py ToolRegistrationError.__init__ 3 0 0 100%
src/quickmcp/factory/errors.py TypeConversionError.__init__ 4 0 0 100%
src/quickmcp/factory/errors.py MissingDependencyError.__init__ 3 0 0 100%
src/quickmcp/factory/errors.py MissingDependencyError.required_dependencies 1 0 0 100%
src/quickmcp/factory/errors.py MissingDependencyError.optional_dependencies 1 0 0 100%
src/quickmcp/factory/errors.py MissingDependencyError.dev_dependencies 1 0 0 100%
src/quickmcp/factory/errors.py MissingDependencyError.format_error_message 39 8 0 79%
src/quickmcp/factory/errors.py MissingDependencyError._get_install_command 6 0 0 100%
src/quickmcp/factory/errors.py MissingDependencyError.get_install_commands 20 20 0 0%
src/quickmcp/factory/errors.py CodeExecutionError.__init__ 2 2 0 0%
src/quickmcp/factory/errors.py handle_factory_error 34 18 0 47%
src/quickmcp/factory/errors.py log_factory_error 4 1 0 75%
src/quickmcp/factory/errors.py (no function) 33 0 0 100%
src/quickmcp/factory/import_analyzer.py ImportAnalyzer.__init__ 4 0 0 100%
src/quickmcp/factory/import_analyzer.py ImportAnalyzer.analyze_file 15 6 0 60%
src/quickmcp/factory/import_analyzer.py ImportAnalyzer._analyze_file_impl 39 5 0 87%
src/quickmcp/factory/import_analyzer.py ImportAnalyzer._check_module 18 3 0 83%
src/quickmcp/factory/import_analyzer.py ImportAnalyzer._is_optional_import 41 3 3 93%
src/quickmcp/factory/import_analyzer.py ImportAnalyzer.get_install_commands 11 1 0 91%
src/quickmcp/factory/import_analyzer.py ImportAnalyzer.clear_cache 2 2 0 0%
src/quickmcp/factory/import_analyzer.py ImportAnalyzer.get_cache_info 1 1 0 0%
src/quickmcp/factory/import_analyzer.py (no function) 30 0 0 100%
src/quickmcp/factory/type_conversion.py TypeConverter.__init__ 2 0 0 100%
src/quickmcp/factory/type_conversion.py TypeConverter.convert_value 24 2 0 92%
src/quickmcp/factory/type_conversion.py TypeConverter._convert_value_impl 30 6 0 80%
src/quickmcp/factory/type_conversion.py TypeConverter._convert_basic_type 49 11 0 78%
src/quickmcp/factory/type_conversion.py TypeConverter._convert_container_type 21 4 0 81%
src/quickmcp/factory/type_conversion.py TypeConverter._convert_dict_type 17 17 0 0%
src/quickmcp/factory/type_conversion.py TypeConverter._convert_path_type 5 2 0 60%
src/quickmcp/factory/type_conversion.py TypeConverter._convert_datetime_type 19 4 0 79%
src/quickmcp/factory/type_conversion.py TypeConverter._convert_decimal_type 10 10 0 0%
src/quickmcp/factory/type_conversion.py TypeConverter._convert_enum_type 18 6 0 67%
src/quickmcp/factory/type_conversion.py TypeConverter._convert_dataclass_type 11 4 0 64%
src/quickmcp/factory/type_conversion.py TypeConverter._convert_bytes_type 9 4 0 56%
src/quickmcp/factory/type_conversion.py TypeConverter._is_union_type 1 0 0 100%
src/quickmcp/factory/type_conversion.py TypeConverter._is_optional_type 4 0 0 100%
src/quickmcp/factory/type_conversion.py TypeConverter._convert_union_type 24 11 0 54%
src/quickmcp/factory/type_conversion.py TypeConverter._convert_generic_type 22 1 0 95%
src/quickmcp/factory/type_conversion.py TypeConverter.clear_cache 2 2 0 0%
src/quickmcp/factory/type_conversion.py (no function) 29 0 0 100%
src/quickmcp/factory/utils.py create_mcp_from_module 5 1 0 80%
src/quickmcp/factory/utils.py create_mcp_from_object 11 0 0 100%
src/quickmcp/factory/utils.py analyze_dependencies 2 0 0 100%
src/quickmcp/factory/utils.py check_dependencies 2 0 0 100%
src/quickmcp/factory/utils.py print_dependency_report 47 47 0 0%
src/quickmcp/factory/utils.py get_install_command 17 9 0 47%
src/quickmcp/factory/utils.py validate_factory_setup 6 6 0 0%
src/quickmcp/factory/utils.py mcp_tool 4 0 0 100%
src/quickmcp/factory/utils.py mcp_tool.decorator 4 0 0 100%
src/quickmcp/factory/utils.py create_factory_for_development 2 2 0 0%
src/quickmcp/factory/utils.py create_safe_factory 2 2 0 0%
src/quickmcp/factory/utils.py create_factory_with_config 2 2 0 0%
src/quickmcp/factory/utils.py (no function) 19 0 0 100%
src/quickmcp/factory/wrappers.py ToolWrapper.__init__ 11 0 0 100%
src/quickmcp/factory/wrappers.py ToolWrapper._get_type_hints_safely 13 9 0 31%
src/quickmcp/factory/wrappers.py ToolWrapper._create_wrapper 1 1 0 0%
src/quickmcp/factory/wrappers.py ToolWrapper._convert_arguments 20 2 0 90%
src/quickmcp/factory/wrappers.py ToolWrapper._convert_result 11 3 0 73%
src/quickmcp/factory/wrappers.py SyncToolWrapper._create_wrapper 2 0 0 100%
src/quickmcp/factory/wrappers.py SyncToolWrapper._create_wrapper.sync_wrapper 10 0 0 100%
src/quickmcp/factory/wrappers.py AsyncToolWrapper._create_wrapper 2 0 0 100%
src/quickmcp/factory/wrappers.py AsyncToolWrapper._create_wrapper.async_wrapper 10 1 0 90%
src/quickmcp/factory/wrappers.py MethodToolWrapper.__init__ 2 0 0 100%
src/quickmcp/factory/wrappers.py MethodToolWrapper._create_wrapper 3 0 0 100%
src/quickmcp/factory/wrappers.py MethodToolWrapper._create_sync_method_wrapper 2 0 0 100%
src/quickmcp/factory/wrappers.py MethodToolWrapper._create_sync_method_wrapper.sync_method_wrapper 10 6 0 40%
src/quickmcp/factory/wrappers.py MethodToolWrapper._create_async_method_wrapper 2 0 0 100%
src/quickmcp/factory/wrappers.py MethodToolWrapper._create_async_method_wrapper.async_method_wrapper 10 6 0 40%
src/quickmcp/factory/wrappers.py ToolWrapperFactory.__init__ 1 0 0 100%
src/quickmcp/factory/wrappers.py ToolWrapperFactory.create_wrapper 3 0 0 100%
src/quickmcp/factory/wrappers.py ToolWrapperFactory.create_method_wrapper 1 0 0 100%
src/quickmcp/factory/wrappers.py create_tool_wrapper 3 3 0 0%
src/quickmcp/factory/wrappers.py (no function) 30 0 0 100%
src/quickmcp/quick.py server 1 0 0 100%
src/quickmcp/quick.py from_file 4 0 0 100%
src/quickmcp/quick.py from_object 3 0 0 100%
src/quickmcp/quick.py run 23 6 0 74%
src/quickmcp/quick.py tool 2 0 0 100%
src/quickmcp/quick.py (no function) 11 0 0 100%
src/quickmcp/registry.py ServerRegistration.to_dict 1 0 0 100%
src/quickmcp/registry.py ServerRegistration.from_dict 1 0 0 100%
src/quickmcp/registry.py ServerRegistry.__init__ 8 0 0 100%
src/quickmcp/registry.py ServerRegistry.load 9 0 0 100%
src/quickmcp/registry.py ServerRegistry.save 6 2 0 67%
src/quickmcp/registry.py ServerRegistry.register 2 0 0 100%
src/quickmcp/registry.py ServerRegistry.unregister 5 0 0 100%
src/quickmcp/registry.py ServerRegistry.get 1 0 0 100%
src/quickmcp/registry.py ServerRegistry.list 1 0 0 100%
src/quickmcp/registry.py ServerRegistry.to_gleitzeit_config 11 0 0 100%
src/quickmcp/registry.py ServerRegistry.auto_discover 12 2 0 83%
src/quickmcp/registry.py ServerRegistry._is_quickmcp_server 6 2 0 67%
src/quickmcp/registry.py ServerRegistry._extract_server_info 8 2 0 75%
src/quickmcp/registry.py register_server 4 0 0 100%
src/quickmcp/registry.py list_servers 2 0 0 100%
src/quickmcp/registry.py export_gleitzeit_config 9 0 0 100%
src/quickmcp/registry.py (no function) 34 0 0 100%
src/quickmcp/server.py QuickMCPServer.__init__ 17 0 0 100%
src/quickmcp/server.py QuickMCPServer._register_handlers 12 0 0 100%
src/quickmcp/server.py QuickMCPServer._register_handlers.list_tools 5 5 0 0%
src/quickmcp/server.py QuickMCPServer._register_handlers.call_tool 7 7 0 0%
src/quickmcp/server.py QuickMCPServer._register_handlers.list_resources 5 5 0 0%
src/quickmcp/server.py QuickMCPServer._register_handlers.read_resource 9 9 0 0%
src/quickmcp/server.py QuickMCPServer._register_handlers.list_prompts 5 5 0 0%
src/quickmcp/server.py QuickMCPServer._register_handlers.get_prompt 7 7 0 0%
src/quickmcp/server.py QuickMCPServer._uri_matches 3 3 0 0%
src/quickmcp/server.py QuickMCPServer._extract_params 9 9 0 0%
src/quickmcp/server.py QuickMCPServer.tool 2 0 0 100%
src/quickmcp/server.py QuickMCPServer.tool.decorator 9 0 0 100%
src/quickmcp/server.py QuickMCPServer.resource 2 0 0 100%
src/quickmcp/server.py QuickMCPServer.resource.decorator 6 0 0 100%
src/quickmcp/server.py QuickMCPServer.prompt 2 0 0 100%
src/quickmcp/server.py QuickMCPServer.prompt.decorator 9 0 0 100%
src/quickmcp/server.py QuickMCPServer._generate_schema_from_function 22 3 0 86%
src/quickmcp/server.py QuickMCPServer._generate_arguments_from_function 8 1 0 88%
src/quickmcp/server.py QuickMCPServer.add_tool_from_function 5 0 0 100%
src/quickmcp/server.py QuickMCPServer.list_tools 1 0 0 100%
src/quickmcp/server.py QuickMCPServer.list_resources 1 0 0 100%
src/quickmcp/server.py QuickMCPServer.list_prompts 1 0 0 100%
src/quickmcp/server.py QuickMCPServer.get_info 1 0 0 100%
src/quickmcp/server.py QuickMCPServer.start_autodiscovery 9 3 0 67%
src/quickmcp/server.py QuickMCPServer.stop_autodiscovery 4 0 0 100%
src/quickmcp/server.py QuickMCPServer.run 17 6 0 65%
src/quickmcp/server.py QuickMCPServer.run_stdio 3 0 0 100%
src/quickmcp/server.py QuickMCPServer.run_stdio.run_async 3 3 0 0%
src/quickmcp/server.py QuickMCPServer.run_sse 12 12 0 0%
src/quickmcp/server.py QuickMCPServer.run_http 1 1 0 0%
src/quickmcp/server.py QuickMCPServer._health_check 2 0 0 100%
src/quickmcp/server.py QuickMCPServer.export_openapi 1 0 0 100%
src/quickmcp/server.py QuickMCPServer.__repr__ 1 0 0 100%
src/quickmcp/server.py (no function) 37 0 0 100%
src/quickmcp/types.py (no function) 49 0 0 100%
Total   2163 641 3 70%

No items found using the specified filter.