Core Compatibility Report: greedy-deer/v0¤
| ❌ | bioimageio format validation |
|---|---|
| status | failed |
| source | https://hypha.aicell.io/bioimage-io/artifacts/greedy-deer/files/rdf.yaml?version=v0 |
| id | greedy-deer |
| format version | model 0.5.6 |
| bioimageio.spec | 0.5.6.0 |
| Location | Details | |
|---|---|---|
| ❌ | bioimageio.spec format validation model 0.5.6 | |
| ❌ | The read operation timed out |
|
| See Traceback 1. |
Traceback 1
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /home/runner/.local/lib/python3.12/site-packages/httpx/_transports/default.py:101 in map_httpcor │
│ │
│ 98 │ if len(HTTPCORE_EXC_MAP) == 0: │
│ 99 │ │ HTTPCORE_EXC_MAP = _load_httpcore_exceptions() │
│ 100 │ try: │
│ ❱ 101 │ │ yield │
│ 102 │ except Exception as exc: │
│ 103 │ │ mapped_exc = None │
│ 104 │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpx/_transports/default.py:250 in handle_requ │
│ │
│ 247 │ │ │ extensions=request.extensions, │
│ 248 │ │ ) │
│ 249 │ │ with map_httpcore_exceptions(): │
│ ❱ 250 │ │ │ resp = self._pool.handle_request(req) │
│ 251 │ │ │
│ 252 │ │ assert isinstance(resp.stream, typing.Iterable) │
│ 253 │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256 in handle │
│ │
│ 253 │ │ │ │ closing = self._assign_requests_to_connections() │
│ 254 │ │ │ │
│ 255 │ │ │ self._close_connections(closing) │
│ ❱ 256 │ │ │ raise exc from None │
│ 257 │ │ │
│ 258 │ │ # Return the response. Note that in this case we still have to manage │
│ 259 │ │ # the point at which the response is closed. │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236 in handle │
│ │
│ 233 │ │ │ │ │
│ 234 │ │ │ │ try: │
│ 235 │ │ │ │ │ # Send the request on the assigned connection. │
│ ❱ 236 │ │ │ │ │ response = connection.handle_request( │
│ 237 │ │ │ │ │ │ pool_request.request │
│ 238 │ │ │ │ │ ) │
│ 239 │ │ │ │ except ConnectionNotAvailable: │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpcore/_sync/connection.py:103 in handle_requ │
│ │
│ 100 │ │ │ self._connect_failed = True │
│ 101 │ │ │ raise exc │
│ 102 │ │ │
│ ❱ 103 │ │ return self._connection.handle_request(request) │
│ 104 │ │
│ 105 │ def _connect(self, request: Request) -> NetworkStream: │
│ 106 │ │ timeouts = request.extensions.get("timeout", {}) │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpcore/_sync/http11.py:136 in handle_request │
│ │
│ 133 │ │ │ with ShieldCancellation(): │
│ 134 │ │ │ │ with Trace("response_closed", logger, request) as trace: │
│ 135 │ │ │ │ │ self._response_closed() │
│ ❱ 136 │ │ │ raise exc │
│ 137 │ │
│ 138 │ # Sending the request... │
│ 139 │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpcore/_sync/http11.py:106 in handle_request │
│ │
│ 103 │ │ │ │ │ reason_phrase, │
│ 104 │ │ │ │ │ headers, │
│ 105 │ │ │ │ │ trailing_data, │
│ ❱ 106 │ │ │ │ ) = self._receive_response_headers(**kwargs) │
│ 107 │ │ │ │ trace.return_value = ( │
│ 108 │ │ │ │ │ http_version, │
│ 109 │ │ │ │ │ status, │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpcore/_sync/http11.py:177 in _receive_respon │
│ │
│ 174 │ │ timeout = timeouts.get("read", None) │
│ 175 │ │ │
│ 176 │ │ while True: │
│ ❱ 177 │ │ │ event = self._receive_event(timeout=timeout) │
│ 178 │ │ │ if isinstance(event, h11.Response): │
│ 179 │ │ │ │ break │
│ 180 │ │ │ if ( │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpcore/_sync/http11.py:217 in _receive_event │
│ │
│ 214 │ │ │ │ event = self._h11_state.next_event() │
│ 215 │ │ │ │
│ 216 │ │ │ if event is h11.NEED_DATA: │
│ ❱ 217 │ │ │ │ data = self._network_stream.read( │
│ 218 │ │ │ │ │ self.READ_NUM_BYTES, timeout=timeout │
│ 219 │ │ │ │ ) │
│ 220 │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpcore/_backends/sync.py:126 in read │
│ │
│ 123 │ │
│ 124 │ def read(self, max_bytes: int, timeout: float | None = None) -> bytes: │
│ 125 │ │ exc_map: ExceptionMapping = {socket.timeout: ReadTimeout, OSError: ReadError} │
│ ❱ 126 │ │ with map_exceptions(exc_map): │
│ 127 │ │ │ self._sock.settimeout(timeout) │
│ 128 │ │ │ return self._sock.recv(max_bytes) │
│ 129 │
│ │
│ /usr/lib/python3.12/contextlib.py:158 in __exit__ │
│ │
│ 155 │ │ │ │ # tell if we get the same exception back │
│ 156 │ │ │ │ value = typ() │
│ 157 │ │ │ try: │
│ ❱ 158 │ │ │ │ self.gen.throw(value) │
│ 159 │ │ │ except StopIteration as exc: │
│ 160 │ │ │ │ # Suppress StopIteration *unless* it's the same exception that │
│ 161 │ │ │ │ # was passed to throw(). This prevents a StopIteration │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpcore/_exceptions.py:14 in map_exceptions │
│ │
│ 11 │ except Exception as exc: # noqa: PIE786 │
│ 12 │ │ for from_exc, to_exc in map.items(): │
│ 13 │ │ │ if isinstance(exc, from_exc): │
│ ❱ 14 │ │ │ │ raise to_exc(exc) from exc │
│ 15 │ │ raise # pragma: nocover │
│ 16 │
│ 17 │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
ReadTimeout: The read operation timed out
The above exception was the direct cause of the following exception:
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /home/runner/.local/lib/python3.12/site-packages/bioimageio/spec/_internal/common_nodes.py:284 i │
│ │
│ 281 │ │ │
│ 282 │ │ context = get_validation_context() │
│ 283 │ │ try: │
│ ❱ 284 │ │ │ rd = cls.model_validate(data) │
│ 285 │ │ except pydantic.ValidationError as e: │
│ 286 │ │ │ for ee in e.errors(include_url=False): │
│ 287 │ │ │ │ if (severity := ee.get("ctx", {}).get("severity", ERROR)) < ERROR: │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/bioimageio/spec/_internal/node.py:79 in model_v │
│ │
│ 76 │ │ │
│ 77 │ │ with context: │
│ 78 │ │ │ # use validation context as context manager for equal behavior of __init__ and │
│ ❱ 79 │ │ │ return super().model_validate( │
│ 80 │ │ │ │ obj, strict=strict, from_attributes=from_attributes │
│ 81 │ │ │ ) │
│ 82 │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/pydantic/main.py:705 in model_validate │
│ │
│ 702 │ │ │ │ code='validate-by-alias-and-name-false', │
│ 703 │ │ │ ) │
│ 704 │ │ │
│ ❱ 705 │ │ return cls.__pydantic_validator__.validate_python( │
│ 706 │ │ │ obj, strict=strict, from_attributes=from_attributes, context=context, by_alia │
│ 707 │ │ ) │
│ 708 │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/pydantic/_internal/_validators.py:52 in sequenc │
│ │
│ 49 │ if value_type is tuple: │
│ 50 │ │ input_value = list(input_value) │
│ 51 │ │
│ ❱ 52 │ v_list = validator(input_value) │
│ 53 │ │
│ 54 │ # the rest of the logic is just re-creating the original type from `v_list` │
│ 55 │ if value_type is list: │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/bioimageio/spec/_internal/io.py:266 in _validat │
│ │
│ 263 │ @model_validator(mode="after") │
│ 264 │ def _validate_sha256(self) -> Self: │
│ 265 │ │ if get_validation_context().perform_io_checks: │
│ ❱ 266 │ │ │ self.validate_sha256() │
│ 267 │ │ │
│ 268 │ │ return self │
│ 269 │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/bioimageio/spec/_internal/io.py:277 in validate │
│ │
│ 274 │ │ if not force_recompute and src_str in context.known_files: │
│ 275 │ │ │ actual_sha = context.known_files[src_str] │
│ 276 │ │ else: │
│ ❱ 277 │ │ │ reader = get_reader(self.source, sha256=self.sha256) │
│ 278 │ │ │ if force_recompute: │
│ 279 │ │ │ │ actual_sha = get_sha256(reader) │
│ 280 │ │ │ else: │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/bioimageio/spec/_internal/io.py:647 in get_read │
│ │
│ 644 │ │ │ source = HttpUrl(source) │
│ 645 │ │
│ 646 │ if isinstance(source, HttpUrl): │
│ ❱ 647 │ │ return _open_url(source, progressbar=progressbar, **kwargs) │
│ 648 │ │
│ 649 │ if isinstance(source, ZipPath): │
│ 650 │ │ if not source.exists(): │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/bioimageio/spec/_internal/io.py:711 in _open_ur │
│ │
│ 708 │ │ or hashlib.sha256(str(source).encode(encoding="utf-8")).hexdigest() │
│ 709 │ ) │
│ 710 │ │
│ ❱ 711 │ reader = cache.fetch( │
│ 712 │ │ source, │
│ 713 │ │ fetcher=partial(_fetch_url, progressbar=progressbar), │
│ 714 │ │ force_refetch=digest, │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/genericache/__init__.py:148 in fetch │
│ │
│ 145 │ │ retries: int = 3, │
│ 146 │ ) -> "CacheEntry": │
│ 147 │ │ for _ in range(retries): │
│ ❱ 148 │ │ │ result = self.try_fetch(url, fetcher, force_refetch=force_refetch) │
│ 149 │ │ │ if isinstance(result, CacheEntry): │
│ 150 │ │ │ │ return result │
│ 151 │ │ │ if isinstance(result, FetchInterrupted): │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/genericache/disk_cache.py:260 in try_fetch │
│ │
│ 257 │ │ │ │ │ │ return out.open() │
│ 258 │ │ │ │ │
│ 259 │ │ │ │ self._misses += 1 │
│ ❱ 260 │ │ │ │ chunks = fetcher(url) │
│ 261 │ │ │ │ temp_file = tempfile.NamedTemporaryFile(delete=False) │
│ 262 │ │ │ │ contents_sha = sha256() │
│ 263 │ │ │ │ for chunk in chunks: │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/bioimageio/spec/_internal/io.py:763 in _fetch_u │
│ │
│ 760 │ elif settings.CI: │
│ 761 │ │ headers["User-Agent"] = "ci" │
│ 762 │ │
│ ❱ 763 │ r = httpx.get( │
│ 764 │ │ str(source), │
│ 765 │ │ follow_redirects=True, │
│ 766 │ │ headers=headers, │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpx/_api.py:195 in get │
│ │
│ 192 │ Note that the `data`, `files`, `json` and `content` parameters are not available │
│ 193 │ on this function, as `GET` requests should not include a request body. │
│ 194 │ """ │
│ ❱ 195 │ return request( │
│ 196 │ │ "GET", │
│ 197 │ │ url, │
│ 198 │ │ params=params, │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpx/_api.py:109 in request │
│ │
│ 106 │ │ timeout=timeout, │
│ 107 │ │ trust_env=trust_env, │
│ 108 │ ) as client: │
│ ❱ 109 │ │ return client.request( │
│ 110 │ │ │ method=method, │
│ 111 │ │ │ url=url, │
│ 112 │ │ │ content=content, │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpx/_client.py:825 in request │
│ │
│ 822 │ │ │ timeout=timeout, │
│ 823 │ │ │ extensions=extensions, │
│ 824 │ │ ) │
│ ❱ 825 │ │ return self.send(request, auth=auth, follow_redirects=follow_redirects) │
│ 826 │ │
│ 827 │ @contextmanager │
│ 828 │ def stream( │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpx/_client.py:914 in send │
│ │
│ 911 │ │ │
│ 912 │ │ auth = self._build_request_auth(request, auth) │
│ 913 │ │ │
│ ❱ 914 │ │ response = self._send_handling_auth( │
│ 915 │ │ │ request, │
│ 916 │ │ │ auth=auth, │
│ 917 │ │ │ follow_redirects=follow_redirects, │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpx/_client.py:942 in _send_handling_auth │
│ │
│ 939 │ │ │ request = next(auth_flow) │
│ 940 │ │ │ │
│ 941 │ │ │ while True: │
│ ❱ 942 │ │ │ │ response = self._send_handling_redirects( │
│ 943 │ │ │ │ │ request, │
│ 944 │ │ │ │ │ follow_redirects=follow_redirects, │
│ 945 │ │ │ │ │ history=history, │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpx/_client.py:979 in _send_handling_redirect │
│ │
│ 976 │ │ │ for hook in self._event_hooks["request"]: │
│ 977 │ │ │ │ hook(request) │
│ 978 │ │ │ │
│ ❱ 979 │ │ │ response = self._send_single_request(request) │
│ 980 │ │ │ try: │
│ 981 │ │ │ │ for hook in self._event_hooks["response"]: │
│ 982 │ │ │ │ │ hook(response) │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpx/_client.py:1014 in _send_single_request │
│ │
│ 1011 │ │ │ ) │
│ 1012 │ │ │
│ 1013 │ │ with request_context(request=request): │
│ ❱ 1014 │ │ │ response = transport.handle_request(request) │
│ 1015 │ │ │
│ 1016 │ │ assert isinstance(response.stream, SyncByteStream) │
│ 1017 │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpx/_transports/default.py:249 in handle_requ │
│ │
│ 246 │ │ │ content=request.stream, │
│ 247 │ │ │ extensions=request.extensions, │
│ 248 │ │ ) │
│ ❱ 249 │ │ with map_httpcore_exceptions(): │
│ 250 │ │ │ resp = self._pool.handle_request(req) │
│ 251 │ │ │
│ 252 │ │ assert isinstance(resp.stream, typing.Iterable) │
│ │
│ /usr/lib/python3.12/contextlib.py:158 in __exit__ │
│ │
│ 155 │ │ │ │ # tell if we get the same exception back │
│ 156 │ │ │ │ value = typ() │
│ 157 │ │ │ try: │
│ ❱ 158 │ │ │ │ self.gen.throw(value) │
│ 159 │ │ │ except StopIteration as exc: │
│ 160 │ │ │ │ # Suppress StopIteration *unless* it's the same exception that │
│ 161 │ │ │ │ # was passed to throw(). This prevents a StopIteration │
│ │
│ /home/runner/.local/lib/python3.12/site-packages/httpx/_transports/default.py:118 in map_httpcor │
│ │
│ 115 │ │ │ raise │
│ 116 │ │ │
│ 117 │ │ message = str(exc) │
│ ❱ 118 │ │ raise mapped_exc(message) from exc │
│ 119 │
│ 120 │
│ 121 class ResponseStream(SyncByteStream): │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
ReadTimeout: The read operation timed out