Skip to content

chore(deps): bump the actions group across 1 directory with 3 updates#3940

Merged
ariostas merged 2 commits into
mainfrom
dependabot/github_actions/actions-8252b5b8ba
Apr 1, 2026
Merged

chore(deps): bump the actions group across 1 directory with 3 updates#3940
ariostas merged 2 commits into
mainfrom
dependabot/github_actions/actions-8252b5b8ba

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Mar 30, 2026

Copy link
Copy Markdown
Contributor

Bumps the actions group with 3 updates in the / directory: mamba-org/setup-micromamba, codecov/codecov-action and shrink/actions-docker-extract.

Updates mamba-org/setup-micromamba from 2 to 3

Release notes

Sourced from mamba-org/setup-micromamba's releases.

v3.0.0

What's Changed

New features

Dependency updates

Other changes

New Contributors

Full Changelog: mamba-org/setup-micromamba@v2...v3.0.0

v2.0.7

What's Changed

Bug fixes

Full Changelog: mamba-org/setup-micromamba@v2.0.6...v2.0.7

v2.0.6

What's Changed

New features

Dependency updates

Full Changelog: mamba-org/setup-micromamba@v2.0.5...v2.0.6

v2.0.5

... (truncated)

Commits

Updates codecov/codecov-action from 5 to 6

Release notes

Sourced from codecov/codecov-action's releases.

v6.0.0

⚠️ This version introduces support for node24 which make cause breaking changes for systems that do not currently support node24. ⚠️

What's Changed

Full Changelog: codecov/codecov-action@v5.5.4...v6.0.0

v5.5.4

This is a mirror of v5.5.2. v6 will be released which requires node24

What's Changed

Full Changelog: codecov/codecov-action@v5.5.3...v5.5.4

v5.5.3

What's Changed

Full Changelog: codecov/codecov-action@v5.5.2...v5.5.3

v5.5.2

What's Changed

New Contributors

Full Changelog: codecov/codecov-action@v5.5.1...v5.5.2

v5.5.1

What's Changed

... (truncated)

Changelog

Sourced from codecov/codecov-action's changelog.

v5.5.2

What's Changed

Full Changelog: https://github.com/codecov/codecov-action/compare/v5.5.1..v5.5.2

v5.5.1

What's Changed

Full Changelog: https://github.com/codecov/codecov-action/compare/v5.5.0..v5.5.1

v5.5.0

What's Changed

Full Changelog: https://github.com/codecov/codecov-action/compare/v5.4.3..v5.5.0

v5.4.3

What's Changed

Full Changelog: https://github.com/codecov/codecov-action/compare/v5.4.2..v5.4.3

v5.4.2

... (truncated)

Commits

Updates shrink/actions-docker-extract from 3 to 4

Release notes

Sourced from shrink/actions-docker-extract's releases.

v4

Now runs on node24, thanks @​daniel-larraz :)

v3.1.0

feat: Allow for choice of shell (shrink/actions-docker-extract#31) by @​jverce

This change gives users the option to set the shell under which the docker cp command will run.

v3.0.1

As reported by @​anqqa in shrink/actions-docker-extract#28, GitHub's actions/upload-artifact includes a breaking change in their v3 -- hiding dot files by default. Hiding dot files by default impacts this Action because the default destination generated by this Action starts with a .. The breaking change to this Action has been released as a patch (instead of a major version) because although it is technically a breaking change, no evidence has been found of any Workflows relying on the use of the . whereas leaving the . in place is likely to break Workflows that use shrink/actions-docker-extract alongside actions/upload-artifacts. Violating semver felt appropriate in this circumstance.

Please see shrink/actions-docker-extract#28 for further information. If this breaking change is a problem, please update your workflow to use the previous version, which remains available:

uses: shrink/actions-docker-extract@v3.0.0
Commits

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file github_actions Pull requests that update GitHub Actions code labels Mar 30, 2026
@dependabot dependabot Bot changed the title chore(deps): bump the actions group with 3 updates chore(deps): bump the actions group across 1 directory with 3 updates Mar 31, 2026
@dependabot
dependabot Bot force-pushed the dependabot/github_actions/actions-8252b5b8ba branch from 8d5c81e to dbeb856 Compare March 31, 2026 15:50
Bumps the actions group with 3 updates: [mamba-org/setup-micromamba](https://github.com/mamba-org/setup-micromamba), [codecov/codecov-action](https://github.com/codecov/codecov-action) and [shrink/actions-docker-extract](https://github.com/shrink/actions-docker-extract).


Updates `mamba-org/setup-micromamba` from 2 to 3
- [Release notes](https://github.com/mamba-org/setup-micromamba/releases)
- [Commits](mamba-org/setup-micromamba@v2...v3)

Updates `codecov/codecov-action` from 5 to 6
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@v5...v6)

Updates `shrink/actions-docker-extract` from 3 to 4
- [Release notes](https://github.com/shrink/actions-docker-extract/releases)
- [Commits](shrink/actions-docker-extract@v3...v4)

---
updated-dependencies:
- dependency-name: mamba-org/setup-micromamba
  dependency-version: '3'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: codecov/codecov-action
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: shrink/actions-docker-extract
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/github_actions/actions-8252b5b8ba branch from dbeb856 to 9ab8dcc Compare March 31, 2026 15:58
@codecov

codecov Bot commented Mar 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.28%. Comparing base (0928fcc) to head (b91e450).
⚠️ Report is 1 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files

see 5 files with indirect coverage changes

@ianna

ianna commented Apr 1, 2026

Copy link
Copy Markdown
Member

@martindurant - it looks like fsspec 2026.3.0 treats the following URL as a filesystem:

ak.metadata_from_parquet("https://zenodo.org/records/.../chicago-taxi.parquet")

@martindurant

Copy link
Copy Markdown
Contributor

@ianna , what do you mean? What's supposed to happen?

@ianna

ianna commented Apr 1, 2026

Copy link
Copy Markdown
Member

@ianna , what do you mean? What's supposed to happen?

Looking at the difference between last PR (where the docs pass) and this one the fsspec newer version was the first to suspect -- here is the full stack trace:

[3](https://github.com/scikit-hep/awkward/actions/runs/23810134183/job/69497446445?pr=3940#step:15:454)
reading sources... [  0%] getting-started/10-minutes-to-awkward-array
/home/runner/work/awkward/awkward/docs/getting-started/10-minutes-to-awkward-array.md: Executing notebook using local CWD [mystnb]
/home/runner/work/awkward/awkward/docs/getting-started/10-minutes-to-awkward-array.md: WARNING: Executing notebook failed: CellExecutionError
Traceback (most recent call last):
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/jupyter_cache/executors/utils.py", line 58, in single_nb_execution
    executenb(
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/nbclient/client.py", line 1323, in execute
    return NotebookClient(nb=nb, resources=resources, km=km, **kwargs).execute()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/jupyter_core/utils/__init__.py", line 165, in wrapped
    return loop.run_until_complete(inner)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/asyncio/base_events.py", line 650, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/contextlib.py", line 222, in __aexit__
    await self.gen.athrow(typ, value, traceback)
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/nbclient/client.py", line 654, in async_setup_kernel
    yield
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/nbclient/client.py", line 709, in async_execute
    await self.async_execute_cell(
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/nbclient/client.py", line 1062, in async_execute_cell
    await self._check_raise_for_error(cell, cell_index, exec_reply)
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/nbclient/client.py", line 918, in _check_raise_for_error
    raise CellExecutionError.from_cell_and_msg(cell, exec_reply_content)
nbclient.exceptions.CellExecutionError: An error occurred while executing the following cell:
------------------
import numpy as np
import awkward as ak

metadata = ak.metadata_from_parquet(
    "https://zenodo.org/records/14537442/files/chicago-taxi.parquet"
)
------------------


---------------------------------------------------------------------------
BadHttpMessage                            Traceback (most recent call last)
File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/client_proto.py:317, in ResponseHandler.data_received(self, data)
    316 try:
--> 317     messages, upgraded, tail = self._parser.feed_data(data)
    318 except BaseException as underlying_exc:

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/_http_parser.pyx:593, in aiohttp._http_parser.HttpParser.feed_data()

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/_http_parser.pyx:782, in aiohttp._http_parser.cb_on_headers_complete()

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/_http_parser.pyx:453, in aiohttp._http_parser.HttpParser._on_headers_complete()

BadHttpMessage: 400, message:
  Duplicate 'Content-Type' header found.

The above exception was the direct cause of the following exception:

HttpProcessingError                       Traceback (most recent call last)
File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/client_reqrep.py:539, in ClientResponse.start(self, connection)
    538     protocol = self._protocol
--> 539     message, payload = await protocol.read()  # type: ignore[union-attr]
    540 except http.HttpProcessingError as exc:

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/streams.py:707, in DataQueue.read(self)
    706 try:
--> 707     await self._waiter
    708 except (asyncio.CancelledError, asyncio.TimeoutError):

HttpProcessingError: 400, message:
  Duplicate 'Content-Type' header found.

The above exception was the direct cause of the following exception:

ClientResponseError                       Traceback (most recent call last)
Cell In[2], line 4
      1 import numpy as np
      2 import awkward as ak
----> 4 metadata = ak.metadata_from_parquet(
      5     "
https://zenodo.org/records/14537442/files/chicago-taxi.parquet
"
      6 )

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/awkward/_dispatch.py:41, in named_high_level_function.<locals>.dispatch(*args, **kwargs)
     38 @wraps(func)
     39 def dispatch(*args, **kwargs):
     40     # NOTE: this decorator assumes that the operation is exposed under `ak.`
---> 41     with OperationErrorContext(name, args, kwargs):
     42         gen_or_result = func(*args, **kwargs)
     43         if isgenerator(gen_or_result):

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/awkward/_errors.py:80, in ErrorContext.__exit__(self, exception_type, exception_value, traceback)
     78     self._slate.__dict__.clear()
     79     # Handle caught exception
---> 80     raise self.decorate_exception(exception_type, exception_value)
     81 else:
     82     # Step out of the way so that another ErrorContext can become primary.
     83     if self.primary() is self:

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/awkward/_dispatch.py:42, in named_high_level_function.<locals>.dispatch(*args, **kwargs)
     38 @wraps(func)
     39 def dispatch(*args, **kwargs):
     40     # NOTE: this decorator assumes that the operation is exposed under `ak.`
     41     with OperationErrorContext(name, args, kwargs):
---> 42         gen_or_result = func(*args, **kwargs)
     43         if isgenerator(gen_or_result):
     44             array_likes = next(gen_or_result)

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/awkward/operations/ak_metadata_from_parquet.py:66, in metadata_from_parquet(path, storage_options, row_groups, ignore_metadata, scan_files)
     30 """
     31 Args:
     32     path (str): Local filename or remote URL, passed to fsspec for resolution.
   (...)     62 See also #ak.from_parquet, #ak.to_parquet.
     63 """
     64 import awkward._connect.pyarrow  # noqa: F401
---> 66 return _impl(
     67     path,
     68     storage_options,
     69     row_groups=row_groups,
     70     ignore_metadata=ignore_metadata,
     71     scan_files=scan_files,
     72 )

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/awkward/operations/ak_metadata_from_parquet.py:78, in _impl(path, storage_options, row_groups, ignore_metadata, scan_files)
     75 def _impl(
     76     path, storage_options, row_groups=None, ignore_metadata=False, scan_files=True
     77 ):
---> 78     results = ak.operations.ak_from_parquet.metadata(
     79         path,
     80         storage_options,
     81         row_groups,
     82         None,
     83         ignore_metadata,
     84         scan_files,
     85         calculate_uuid=True,
     86     )
     87     parquet_columns, subform, actual_paths, fs, _subrg, col_counts, _metadata, uuid = (
     88         results
     89     )
     91     out = {
     92         "form": subform,
     93         "fs": fs,
   (...)     97         "uuid": uuid,
     98     }

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/awkward/_dispatch.py:42, in named_high_level_function.<locals>.dispatch(*args, **kwargs)
     38 @wraps(func)
     39 def dispatch(*args, **kwargs):
     40     # NOTE: this decorator assumes that the operation is exposed under `ak.`
     41     with OperationErrorContext(name, args, kwargs):
---> 42         gen_or_result = func(*args, **kwargs)
     43         if isgenerator(gen_or_result):
     44             array_likes = next(gen_or_result)

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/awkward/operations/ak_from_parquet.py:112, in metadata(path, storage_options, row_groups, columns, ignore_metadata, scan_files, calculate_uuid)
    107         raise ValueError("row group indices must not repeat")
    109 fs, _, paths = fsspec.get_fs_token_paths(
    110     path, mode="rb", storage_options=storage_options
    111 )
--> 112 all_paths, path_for_schema, can_sub = _all_and_metadata_paths(
    113     path, fs, paths, ignore_metadata, scan_files
    114 )
    116 subrg = [None] * len(all_paths)
    117 actual_paths = all_paths

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/awkward/operations/ak_from_parquet.py:363, in _all_and_metadata_paths(path, fs, paths, ignore_metadata, scan_files)
    361         continue
    362     all_paths.append((x, is_meta, is_comm))
--> 363 elif fs.isdir(x):
    364     for f, fdata in fs.find(x, detail=True).items():
    365         is_meta = f.endswith("_metadata")

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/fsspec/asyn.py:118, in sync_wrapper.<locals>.wrapper(*args, **kwargs)
    115 @functools.wraps(func)
    116 def wrapper(*args, **kwargs):
    117     self = obj or args[0]
--> 118     return sync(self.loop, func, *args, **kwargs)

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/fsspec/asyn.py:103, in sync(loop, func, timeout, *args, **kwargs)
    101     raise FSTimeoutError from return_result
    102 elif isinstance(return_result, BaseException):
--> 103     raise return_result
    104 else:
    105     return return_result

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/fsspec/asyn.py:56, in _runner(event, coro, result, timeout)
     54     coro = asyncio.wait_for(coro, timeout=timeout)
     55 try:
---> 56     result[0] = await coro
     57 except Exception as ex:
     58     result[0] = ex

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/fsspec/implementations/http.py:538, in HTTPFileSystem._isdir(self, path)
    535 async def _isdir(self, path):
    536     # override, since all URLs are (also) files
    537     try:
--> 538         return bool(await self._ls(path))
    539     except (FileNotFoundError, ValueError):
    540         return False

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/fsspec/implementations/http.py:218, in HTTPFileSystem._ls(self, url, detail, **kwargs)
    216     out = self.dircache[url]
    217 else:
--> 218     out = await self._ls_real(url, detail=detail, **kwargs)
    219     self.dircache[url] = out
    220 return out

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/fsspec/implementations/http.py:160, in HTTPFileSystem._ls_real(self, url, detail, **kwargs)
    158 logger.debug(url)
    159 session = await self.set_session()
--> 160 async with session.get(self.encode_url(url), **self.kwargs) as r:
    161     self._raise_not_found_for_status(r, url)
    163     if "Content-Type" in r.headers:

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/client.py:1521, in _BaseRequestContextManager.__aenter__(self)
   1520 async def __aenter__(self) -> _RetType:
-> 1521     self._resp: _RetType = await self._coro
   1522     return await self._resp.__aenter__()

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/client.py:788, in ClientSession._request(self, method, str_or_url, params, data, json, cookies, headers, skip_auto_headers, auth, allow_redirects, max_redirects, compress, chunked, expect100, raise_for_status, read_until_eof, proxy, proxy_auth, timeout, verify_ssl, fingerprint, ssl_context, ssl, server_hostname, proxy_headers, trace_request_ctx, read_bufsize, auto_decompress, max_line_size, max_field_size, max_headers, middlewares)
    785     handler = _connect_and_send_request
    787 try:
--> 788     resp = await handler(req)
    789 # Client connector errors should not be retried
    790 except (
    791     ConnectionTimeoutError,
    792     ClientConnectorError,
    793     ClientConnectorCertificateError,
    794     ClientConnectorSSLError,
    795 ):

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/client.py:766, in ClientSession._request.<locals>._connect_and_send_request(req)
    764 resp = await req.send(conn)
    765 try:
--> 766     await resp.start(conn)
    767 except BaseException:
    768     resp.close()

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/client_reqrep.py:541, in ClientResponse.start(self, connection)
    539     message, payload = await protocol.read()  # type: ignore[union-attr]
    540 except http.HttpProcessingError as exc:
--> 541     raise ClientResponseError(
    542         self.request_info,
    543         self.history,
    544         status=exc.code,
    545         message=exc.message,
    546         headers=exc.headers,
    547     ) from exc
    549 if message.code < 100 or message.code > 199 or message.code == 101:
    550     break

ClientResponseError: 400, message="Duplicate 'Content-Type' header found.", url='https://zenodo.org/records/14537442/files/chicago-taxi.parquet'

This error occurred while calling

    ak.metadata_from_parquet(
        'https://zenodo.org/records/14537442/files/chicago-taxi.pa'...
    )

 [mystnb.exec]

Traceback (most recent call last):
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/jupyter_cache/executors/utils.py", line 58, in single_nb_execution
    executenb(
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/nbclient/client.py", line 1323, in execute
    return NotebookClient(nb=nb, resources=resources, km=km, **kwargs).execute()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/jupyter_core/utils/__init__.py", line 165, in wrapped
    return loop.run_until_complete(inner)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/asyncio/base_events.py", line 650, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/contextlib.py", line 222, in __aexit__
    await self.gen.athrow(typ, value, traceback)
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/nbclient/client.py", line 654, in async_setup_kernel
    yield
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/nbclient/client.py", line 709, in async_execute
    await self.async_execute_cell(
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/nbclient/client.py", line 1062, in async_execute_cell
    await self._check_raise_for_error(cell, cell_index, exec_reply)
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/nbclient/client.py", line 918, in _check_raise_for_error
    raise CellExecutionError.from_cell_and_msg(cell, exec_reply_content)
nbclient.exceptions.CellExecutionError: An error occurred while executing the following cell:
------------------
import numpy as np
import awkward as ak

metadata = ak.metadata_from_parquet(
    "https://zenodo.org/records/14537442/files/chicago-taxi.parquet"
)
------------------


---------------------------------------------------------------------------
BadHttpMessage                            Traceback (most recent call last)
File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/client_proto.py:317, in ResponseHandler.data_received(self, data)
    316 try:
--> 317     messages, upgraded, tail = self._parser.feed_data(data)
    318 except BaseException as underlying_exc:

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/_http_parser.pyx:593, in aiohttp._http_parser.HttpParser.feed_data()

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/_http_parser.pyx:782, in aiohttp._http_parser.cb_on_headers_complete()

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/_http_parser.pyx:453, in aiohttp._http_parser.HttpParser._on_headers_complete()

BadHttpMessage: 400, message:
  Duplicate 'Content-Type' header found.

The above exception was the direct cause of the following exception:

HttpProcessingError                       Traceback (most recent call last)
File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/client_reqrep.py:539, in ClientResponse.start(self, connection)
    538     protocol = self._protocol
--> 539     message, payload = await protocol.read()  # type: ignore[union-attr]
    540 except http.HttpProcessingError as exc:

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/streams.py:707, in DataQueue.read(self)
    706 try:
--> 707     await self._waiter
    708 except (asyncio.CancelledError, asyncio.TimeoutError):

HttpProcessingError: 400, message:
  Duplicate 'Content-Type' header found.

The above exception was the direct cause of the following exception:

ClientResponseError                       Traceback (most recent call last)
Cell In[2], line 4
      1 import numpy as np
      2 import awkward as ak
----> 4 metadata = ak.metadata_from_parquet(
      5     "
https://zenodo.org/records/14537442/files/chicago-taxi.parquet
"
      6 )

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/awkward/_dispatch.py:41, in named_high_level_function.<locals>.dispatch(*args, **kwargs)
     38 @wraps(func)
     39 def dispatch(*args, **kwargs):
     40     # NOTE: this decorator assumes that the operation is exposed under `ak.`
---> 41     with OperationErrorContext(name, args, kwargs):
     42         gen_or_result = func(*args, **kwargs)
     43         if isgenerator(gen_or_result):

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/awkward/_errors.py:80, in ErrorContext.__exit__(self, exception_type, exception_value, traceback)
     78     self._slate.__dict__.clear()
     79     # Handle caught exception
---> 80     raise self.decorate_exception(exception_type, exception_value)
     81 else:
     82     # Step out of the way so that another ErrorContext can become primary.
     83     if self.primary() is self:

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/awkward/_dispatch.py:42, in named_high_level_function.<locals>.dispatch(*args, **kwargs)
     38 @wraps(func)
     39 def dispatch(*args, **kwargs):
     40     # NOTE: this decorator assumes that the operation is exposed under `ak.`
     41     with OperationErrorContext(name, args, kwargs):
---> 42         gen_or_result = func(*args, **kwargs)
     43         if isgenerator(gen_or_result):
     44             array_likes = next(gen_or_result)

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/awkward/operations/ak_metadata_from_parquet.py:66, in metadata_from_parquet(path, storage_options, row_groups, ignore_metadata, scan_files)
     30 """
     31 Args:
     32     path (str): Local filename or remote URL, passed to fsspec for resolution.
   (...)     62 See also #ak.from_parquet, #ak.to_parquet.
     63 """
     64 import awkward._connect.pyarrow  # noqa: F401
---> 66 return _impl(
     67     path,
     68     storage_options,
     69     row_groups=row_groups,
     70     ignore_metadata=ignore_metadata,
     71     scan_files=scan_files,
     72 )

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/awkward/operations/ak_metadata_from_parquet.py:78, in _impl(path, storage_options, row_groups, ignore_metadata, scan_files)
     75 def _impl(
     76     path, storage_options, row_groups=None, ignore_metadata=False, scan_files=True
     77 ):
---> 78     results = ak.operations.ak_from_parquet.metadata(
     79         path,
     80         storage_options,
     81         row_groups,
     82         None,
     83         ignore_metadata,
     84         scan_files,
     85         calculate_uuid=True,
     86     )
     87     parquet_columns, subform, actual_paths, fs, _subrg, col_counts, _metadata, uuid = (
     88         results
     89     )
     91     out = {
     92         "form": subform,
     93         "fs": fs,
   (...)     97         "uuid": uuid,
     98     }

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/awkward/_dispatch.py:42, in named_high_level_function.<locals>.dispatch(*args, **kwargs)
     38 @wraps(func)
     39 def dispatch(*args, **kwargs):
     40     # NOTE: this decorator assumes that the operation is exposed under `ak.`
     41     with OperationErrorContext(name, args, kwargs):
---> 42         gen_or_result = func(*args, **kwargs)
     43         if isgenerator(gen_or_result):
     44             array_likes = next(gen_or_result)

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/awkward/operations/ak_from_parquet.py:112, in metadata(path, storage_options, row_groups, columns, ignore_metadata, scan_files, calculate_uuid)
    107         raise ValueError("row group indices must not repeat")
    109 fs, _, paths = fsspec.get_fs_token_paths(
    110     path, mode="rb", storage_options=storage_options
    111 )
--> 112 all_paths, path_for_schema, can_sub = _all_and_metadata_paths(
    113     path, fs, paths, ignore_metadata, scan_files
    114 )
    116 subrg = [None] * len(all_paths)
    117 actual_paths = all_paths

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/awkward/operations/ak_from_parquet.py:363, in _all_and_metadata_paths(path, fs, paths, ignore_metadata, scan_files)
    361         continue
    362     all_paths.append((x, is_meta, is_comm))
--> 363 elif fs.isdir(x):
    364     for f, fdata in fs.find(x, detail=True).items():
    365         is_meta = f.endswith("_metadata")

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/fsspec/asyn.py:118, in sync_wrapper.<locals>.wrapper(*args, **kwargs)
    115 @functools.wraps(func)
    116 def wrapper(*args, **kwargs):
    117     self = obj or args[0]
--> 118     return sync(self.loop, func, *args, **kwargs)

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/fsspec/asyn.py:103, in sync(loop, func, timeout, *args, **kwargs)
    101     raise FSTimeoutError from return_result
    102 elif isinstance(return_result, BaseException):
--> 103     raise return_result
    104 else:
    105     return return_result

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/fsspec/asyn.py:56, in _runner(event, coro, result, timeout)
     54     coro = asyncio.wait_for(coro, timeout=timeout)
     55 try:
---> 56     result[0] = await coro
     57 except Exception as ex:
     58     result[0] = ex

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/fsspec/implementations/http.py:538, in HTTPFileSystem._isdir(self, path)
    535 async def _isdir(self, path):
    536     # override, since all URLs are (also) files
    537     try:
--> 538         return bool(await self._ls(path))
    539     except (FileNotFoundError, ValueError):
    540         return False

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/fsspec/implementations/http.py:218, in HTTPFileSystem._ls(self, url, detail, **kwargs)
    216     out = self.dircache[url]
    217 else:
--> 218     out = await self._ls_real(url, detail=detail, **kwargs)
    219     self.dircache[url] = out
    220 return out

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/fsspec/implementations/http.py:160, in HTTPFileSystem._ls_real(self, url, detail, **kwargs)
    158 logger.debug(url)
    159 session = await self.set_session()
--> 160 async with session.get(self.encode_url(url), **self.kwargs) as r:
    161     self._raise_not_found_for_status(r, url)
    163     if "Content-Type" in r.headers:

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/client.py:1521, in _BaseRequestContextManager.__aenter__(self)
   1520 async def __aenter__(self) -> _RetType:
-> 1521     self._resp: _RetType = await self._coro
   1522     return await self._resp.__aenter__()

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/client.py:788, in ClientSession._request(self, method, str_or_url, params, data, json, cookies, headers, skip_auto_headers, auth, allow_redirects, max_redirects, compress, chunked, expect100, raise_for_status, read_until_eof, proxy, proxy_auth, timeout, verify_ssl, fingerprint, ssl_context, ssl, server_hostname, proxy_headers, trace_request_ctx, read_bufsize, auto_decompress, max_line_size, max_field_size, max_headers, middlewares)
    785     handler = _connect_and_send_request
    787 try:
--> 788     resp = await handler(req)
    789 # Client connector errors should not be retried
    790 except (
    791     ConnectionTimeoutError,
    792     ClientConnectorError,
    793     ClientConnectorCertificateError,
    794     ClientConnectorSSLError,
    795 ):

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/client.py:766, in ClientSession._request.<locals>._connect_and_send_request(req)
    764 resp = await req.send(conn)
    765 try:
--> 766     await resp.start(conn)
    767 except BaseException:
    768     resp.close()

File ~/micromamba/envs/awkward-docs/lib/python3.11/site-packages/aiohttp/client_reqrep.py:541, in ClientResponse.start(self, connection)
    539     message, payload = await protocol.read()  # type: ignore[union-attr]
    540 except http.HttpProcessingError as exc:
--> 541     raise ClientResponseError(
    542         self.request_info,
    543         self.history,
    544         status=exc.code,
    545         message=exc.message,
    546         headers=exc.headers,
    547     ) from exc
    549 if message.code < 100 or message.code > 199 or message.code == 101:
    550     break

ClientResponseError: 400, message="Duplicate 'Content-Type' header found.", url='https://zenodo.org/records/14537442/files/chicago-taxi.parquet'

This error occurred while calling

    ak.metadata_from_parquet(
        'https://zenodo.org/records/14537442/files/chicago-taxi.pa'...
    )


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/sphinx/cmd/build.py", line 337, in build_main
    app.build(args.force_all, args.filenames)
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/sphinx/application.py", line 378, in build
    self.builder.build_update()
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/sphinx/builders/__init__.py", line 297, in build_update
    self.build(to_build,
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/sphinx/builders/__init__.py", line 318, in build
    updated_docnames = set(self.read())
                           ^^^^^^^^^^^
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/sphinx/builders/__init__.py", line 425, in read
    self._read_serial(docnames)
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/sphinx/builders/__init__.py", line 477, in _read_serial
    self.read_doc(docname)
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/sphinx/builders/__init__.py", line 536, in read_doc
    publisher.publish()
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/docutils/core.py", line 234, in publish
    self.document = self.reader.read(self.source, self.parser,
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/sphinx/io.py", line 106, in read
    self.parse()
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/docutils/readers/__init__.py", line 76, in parse
    self.parser.parse(self.input, document)
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/myst_nb/sphinx_.py", line 156, in parse
    with create_client(
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/myst_nb/core/execute/base.py", line 80, in __enter__
    self.start_client()
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/myst_nb/core/execute/cache.py", line 89, in start_client
    raise ExecutionError(str(self.path)) from result.err
myst_nb.core.execute.base.ExecutionError: /home/runner/work/awkward/awkward/docs/getting-started/10-minutes-to-awkward-array.md

Exception occurred:
  File "/home/runner/micromamba/envs/awkward-docs/lib/python3.11/site-packages/myst_nb/core/execute/cache.py", line 89, in start_client
    raise ExecutionError(str(self.path)) from result.err
myst_nb.core.execute.base.ExecutionError: /home/runner/work/awkward/awkward/docs/getting-started/10-minutes-to-awkward-array.md
The full traceback has been saved in /tmp/sphinx-err-mek4y3bq.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
Copying the source path /home/runner/work/awkward/awkward/docs/_static/image/logo-300px-white.png to /home/runner/work/awkward/awkward/docs/_build/html/_static will overwrite data, as a file already exists at the destination path and the content does not match.
Error: Process completed with exit code 2.

@ianna

ianna commented Apr 1, 2026

Copy link
Copy Markdown
Member

@martindurant - ok, it looks like aiohttp is stricter(?) now about duplicate headers -- aio-libs/aiohttp@v3.13.4...v3.13.5 But, looking at the issue they solved -- it seems it should be the opposite: aio-libs/aiohttp#12301

@github-actions

github-actions Bot commented Apr 1, 2026

Copy link
Copy Markdown

The documentation preview is ready to be viewed at http://preview.awkward-array.org.s3-website.us-east-1.amazonaws.com/PR3940

@ariostas
ariostas merged commit 4682c34 into main Apr 1, 2026
61 of 65 checks passed
@ariostas
ariostas deleted the dependabot/github_actions/actions-8252b5b8ba branch April 1, 2026 17:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file github_actions Pull requests that update GitHub Actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants