[Debian-med-packaging] Bug#1150091: python-bioregistry: FTBFS: E TypeError: cannot unpack non-iterable NoneType object

Santiago Vila sanvila at debian.org
Mon Oct 5 17:40:59 BST 2026


Package: src:python-bioregistry
Version: 0.11.12-4
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202610/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:python-bioregistry, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
    
        .. todo:: IRI with weird embedding, like ones that end in .html
        """
>       prefix, identifier = self.converter.parse_uri(uri)
        ^^^^^^^^^^^^^^^^^^
E       TypeError: cannot unpack non-iterable NoneType object

bioregistry/resource_manager.py:344: TypeError
=============================== warnings summary ===============================
bioregistry/schema_utils.py:61: 1778 warnings
tests/test_contexts.py: 1778 warnings
tests/test_manager.py: 19558 warnings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/bioregistry/schema_utils.py:61: PydanticDeprecatedSince20: The `parse_obj` method is deprecated; use `model_validate` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    return {prefix: Resource.parse_obj(value) for prefix, value in data.items()}

bioregistry/schema/struct.py:648: 7112 warnings
tests/test_api.py: 7 warnings
tests/test_collections.py: 58 warnings
tests/test_contexts.py: 209240 warnings
tests/test_data.py: 230996 warnings
tests/test_data_slow.py: 334389 warnings
tests/test_identifiers_org.py: 1497 warnings
tests/test_manager.py: 422132 warnings
tests/test_metaregistry.py: 245 warnings
tests/test_resolve.py: 8418 warnings
tests/test_web/test_api.py: 4180 warnings
tests/test_web/test_ui.py: 13217 warnings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/bioregistry/schema/struct.py:648: PydanticDeprecatedSince20: The `dict` method is deprecated; use `model_dump` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    return self.dict().get(metaprefix) or dict()

tests/test_web/test_api.py:13
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/tests/test_web/test_api.py:13: StarletteDeprecationWarning: Using `httpx` with `starlette.testclient` is deprecated; install `httpx2` instead.
    from starlette.testclient import TestClient

bioregistry/app/api.py:137
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/bioregistry/app/api.py:137: FastAPIDeprecationWarning: `example` has been deprecated, please use `examples` instead
    prefix: str = Path(

bioregistry/app/api.py:185
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/bioregistry/app/api.py:185: FastAPIDeprecationWarning: `example` has been deprecated, please use `examples` instead
    METAPREFIX_PATH = Path(

bioregistry/app/api.py:353
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/bioregistry/app/api.py:353: FastAPIDeprecationWarning: `example` has been deprecated, please use `examples` instead
    identifier: str = Path(

bioregistry/app/api.py:405
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/bioregistry/app/api.py:405: FastAPIDeprecationWarning: `example` has been deprecated, please use `examples` instead
    identifier: str = Path(title="Context Key", description="The context key", example="obo"),

bioregistry/app/impl.py:14
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/bioregistry/app/impl.py:14: StarletteDeprecationWarning: starlette.middleware.wsgi is deprecated and will be removed in a future release. Please refer to https://github.com/abersheeran/a2wsgi as a replacement.
    from starlette.middleware.wsgi import WSGIMiddleware

tests/test_api.py: 7 warnings
tests/test_collections.py: 18 warnings
tests/test_contexts.py: 31539 warnings
tests/test_data.py: 43942 warnings
tests/test_data_slow.py: 47708 warnings
tests/test_identifiers_org.py: 778 warnings
tests/test_manager.py: 48395 warnings
tests/test_metaregistry.py: 56 warnings
tests/test_resolve.py: 3454 warnings
tests/test_web/test_api.py: 2727 warnings
tests/test_web/test_ui.py: 5177 warnings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/bioregistry/schema/struct.py:673: PydanticDeprecatedSince20: The `dict` method is deprecated; use `model_dump` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    rv = self.dict().get(key)

tests/test_collections.py: 13 warnings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/tests/test_collections.py:31: PydanticDeprecatedSince20: The `dict` method is deprecated; use `model_dump` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    collection = collection_pydantic.dict()

tests/test_data.py::TestRegistry::test_keys
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/tests/test_data.py:83: PydanticDeprecatedSince20: The `__fields__` attribute is deprecated, use the `model_fields` class property instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    keys = set(Resource.__fields__.keys())

tests/test_data.py: 1404 warnings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/tests/test_data.py:875: PydanticDeprecatedSince20: The `dict` method is deprecated; use `model_dump` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    for key, value in publication.dict().items():

tests/test_manager.py: 3021 warnings
tests/test_web/test_api.py: 38 warnings
tests/test_web/test_ui.py: 31 warnings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/bioregistry/schema/struct.py:2853: PydanticDeprecatedSince20: The `dict` method is deprecated; use `model_dump` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    records = [publication.dict(exclude_none=True) for publication in publications]

tests/test_manager.py: 99 warnings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/bioregistry/schema/struct.py:1296: PydanticDeprecatedSince20: The `parse_obj` method is deprecated; use `model_validate` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    publications.append(Publication.parse_obj(publication))

tests/test_metaregistry.py: 32 warnings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/tests/test_metaregistry.py:84: PydanticDeprecatedSince20: The `dict` method is deprecated; use `model_dump` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    invalid_keys = set(registry.dict()).difference(Registry.__fields__)

tests/test_metaregistry.py: 32 warnings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/tests/test_metaregistry.py:84: PydanticDeprecatedSince20: The `__fields__` attribute is deprecated, use the `model_fields` class property instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    invalid_keys = set(registry.dict()).difference(Registry.__fields__)

tests/test_web/test_api.py::TestWeb::test_api_collection
tests/test_web/test_api.py::TestWeb::test_api_metaresource
tests/test_web/test_api.py::TestWeb::test_api_resource
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/bioregistry/app/api.py:57: PydanticDeprecatedSince20: The `dict` method is deprecated; use `model_dump` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    content = content.dict(

tests/test_web/test_api.py: 2390 warnings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/bioregistry/schema/utils.py:30: PydanticDeprecatedSince20: The `dict` method is deprecated; use `model_dump` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    return sanitize_dict(base_model.dict(**kwargs))

tests/test_web/test_api.py: 3556 warnings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/tests/test_web/test_api.py:59: PydanticDeprecatedSince20: The `parse_obj` method is deprecated; use `model_validate` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    return {key: Resource.parse_obj(resource) for key, resource in data}

tests/test_web/test_api.py: 1778 warnings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/tests/test_web/test_api.py:93: PydanticDeprecatedSince20: The `parse_obj` method is deprecated; use `model_validate` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    return {key: Resource.parse_obj(resource) for key, resource in data}

tests/test_web/test_api.py::TestWeb::test_external_registry_mappings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/tests/test_web/test_api.py:237: PydanticDeprecatedSince20: The `parse_obj` method is deprecated; use `model_validate` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    res_parsed = MappingResponse.parse_obj(res.json())

tests/test_web/test_api.py::TestWeb::test_iri_mapping
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/tests/test_web/test_api.py:255: PydanticDeprecatedSince20: The `parse_obj` method is deprecated; use `model_validate` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    data = URIResponse.parse_obj(res.json())

tests/test_web/test_api.py::TestWeb::test_ui_resource_rdf
tests/test_web/test_ui.py::TestUI::test_ui_collection_rdf
tests/test_web/test_ui.py::TestUI::test_ui_registry_rdf
  /usr/lib/python3/dist-packages/rdflib/plugins/parsers/notation3.py:2063: DeprecationWarning: Dataset.default_context is deprecated, use Dataset.default_graph instead.
    conj_graph.default_context = graph  # TODO: CG __init__ should have a

tests/test_web/test_api.py: 42 warnings
tests/test_web/test_ui.py: 34 warnings
  /usr/lib/python3/dist-packages/rdflib/graph.py:2228: DeprecationWarning: Dataset.default_context is deprecated, use Dataset.default_graph instead.
    c = self.default_context if default else None

tests/test_web/test_ui.py::TestUI::test_ui
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/bioregistry/app/ui.py:274: PydanticDeprecatedSince20: The `schema` method is deprecated; use `model_json_schema` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    schema=Context.schema(),

tests/test_web/test_ui.py::TestUI::test_ui
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/bioregistry/app/ui.py:288: PydanticDeprecatedSince20: The `schema` method is deprecated; use `model_json_schema` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    schema=Context.schema()["properties"],

tests/test_web/test_ui.py: 22 warnings
  /usr/lib/python3/dist-packages/jinja2/environment.py:490: PydanticDeprecatedSince20: The `__fields__` attribute is deprecated, use the `model_fields` class property instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    return getattr(obj, attribute)

tests/test_web/test_ui.py::TestUI::test_ui_collection_json
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/bioregistry/app/utils.py:181: PydanticDeprecatedSince20: The `dict` method is deprecated; use `model_dump` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    json.dumps(data.dict(exclude_unset=True, exclude_none=True), ensure_ascii=False),

tests/test_web/test_ui.py::TestUI::test_ui_collection_json
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/bioregistry/app/utils.py:186: PydanticDeprecatedSince20: The `dict` method is deprecated; use `model_dump` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    yaml.safe_dump(data.dict(exclude_unset=True, exclude_none=True), allow_unicode=True),

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_web/test_api.py::TestWeb::test_iri_mapping - TypeError: can...
= 1 failed, 124 passed, 6 skipped, 6 deselected, 1450917 warnings in 146.16s (0:02:26) =
E: pybuild pybuild:485: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build; python3.14 -m pytest -k 'not test_url and not test_url_banana and not test_obolibrary_example and not test_usages '
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.14 --parallel=2 returned exit code 13
make: *** [debian/rules:12: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------



More information about the Debian-med-packaging mailing list