Your message dated Sun, 8 Feb 2026 11:43:05 +0000 with message-id <[email protected]> and subject line Fixed in 0.4.0-1 has caused the Debian Bug report #1084343, regarding python-open-meteo: FTBFS: E open_meteo.exceptions.OpenMeteoError: (500, {'message': '500: Internal Server Error'}) to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 1084343: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1084343 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: src:python-open-meteo Version: 0.3.1-2 Severity: serious Tags: ftbfs Dear maintainer: During a rebuild of all packages in unstable, your package failed to build: -------------------------------------------------------------------------------- [...] debian/rules build make: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh build --buildsystem=pybuild --with python3 dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild dh_auto_build -O--buildsystem=pybuild I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build" module I: pybuild base:311: python3.12 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12 * Building wheel... Successfully built open_meteo-0.0.0-py3-none-any.whl I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with "installer" module dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build; python3.12 -m pytest -v /usr/lib/python3/dist-packages/pytest_asyncio/plugin.py:208: PytestDeprecationWarning: The configuration option "asyncio_default_fixture_loop_scope" is unset. The event loop scope for asynchronous fixtures will default to the fixture caching scope. Future versions of pytest-asyncio will default the loop scope for asynchronous fixtures to function scope. Set the default fixture loop scope explicitly in order to avoid unexpected behavior in the future. Valid fixture loop scopes are: "function", "class", "module", "package", "session" warnings.warn(PytestDeprecationWarning(_DEFAULT_FIXTURE_LOOP_SCOPE_UNSET)) ============================= test session starts ============================== platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.12 cachedir: .pytest_cache rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build configfile: pyproject.toml plugins: syrupy-4.7.1, typeguard-4.3.0, asyncio-0.24.0a1, aresponses-3.0.0, cov-5.0.0 asyncio: mode=Mode.AUTO, default_loop_scope=None collecting ... collected 5 items tests/test_open_meteo.py::test_json_request PASSED [ 20%] tests/test_open_meteo.py::test_internal_session PASSED [ 40%] tests/test_open_meteo.py::test_timeout FAILED [ 60%] tests/test_open_meteo.py::test_http_error400 PASSED [ 80%] tests/test_open_meteo.py::test_http_error500 PASSED [100%] =================================== FAILURES =================================== _________________________________ test_timeout _________________________________ aresponses = <aresponses.main.ResponsesMockServer object at 0x7fcd4f12aab0> async def test_timeout(aresponses: ResponsesMockServer) -> None: """Test request timeout."""# Faking a timeout by sleepingasync def response_handler(_: aiohttp.ClientResponse) -> Response: await asyncio.sleep(2) return aresponses.Response(body="Goodmorning!")aresponses.add("example.com", "/api/", "POST", response_handler) async with aiohttp.ClientSession() as session:open_meteo = OpenMeteo( session=session, request_timeout=1, ) with pytest.raises(OpenMeteoConnectionError):assert await open_meteo._request(URL("http://example.com/api/"))tests/test_open_meteo.py:65: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = OpenMeteo(request_timeout=1, session=<aiohttp.client.ClientSession object at 0x7fcd4f12aea0>, _close_session=False) url = URL('http://example.com/api/') async def _request(self, url: URL) -> str: """Handle a request to the Open-Meteo API.A generic method for sending/handling HTTP requests done againstthe public Open-Meteo API.Args:---- url: URL to call.Returns:------- A Python dictionary (JSON decoded) with the response from the API.Raises:------ OpenMeteoConnectionError: An error occurred while communicating with the Open-Meteo API. OpenMeteoError: Received an unexpected response from the Open-Meteo API. """ if self.session is None: self.session = ClientSession() self._close_session = Truetry:async with asyncio.timeout(self.request_timeout): response = await self.session.get(url) except asyncio.TimeoutError as exception: msg = "Timeout occurred while connecting to the Open-Meteo API" raise OpenMeteoConnectionError(msg) from exception except ( ClientError, ClientResponseError, socket.gaierror, ) as exception: msg = "Error occurred while communicating with Open-Meteo API" raise OpenMeteoConnectionError(msg) from exception content_type = response.headers.get("Content-Type", "") if (response.status // 100) in [4, 5]: if "application/json" in content_type: data = await response.json() response.close() if data.get("error") is True and (reason := data.get("reason")): raise OpenMeteoError(reason) raise OpenMeteoError(response.status, data) contents = await response.read() response.close()raise OpenMeteoError(response.status, {"message": contents.decode("utf8")})E open_meteo.exceptions.OpenMeteoError: (500, {'message': '500: Internal Server Error'}) open_meteo/open_meteo.py:86: OpenMeteoError ------------------------------ Captured log call ------------------------------- ERROR aiohttp.server:web_protocol.py:448 Missing return statement on request handler Traceback (most recent call last): File "/usr/lib/python3/dist-packages/aiohttp/web_protocol.py", line 653, in finish_response prepare_meth = resp.prepare ^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'prepare' ---------- coverage: platform linux, python 3.12.7-final-0 ----------- Name Stmts Miss Branch BrPart Cover Missing ---------------------------------------------------------------------- open_meteo/open_meteo.py 58 15 18 3 74% 66-75, 82, 90-91, 136-150, 177-184, 188->exit ---------------------------------------------------------------------- TOTAL 294 15 34 3 94% 3 files skipped due to complete coverage. Required test coverage of 90.0% reached. Total coverage: 93.90% =========================== short test summary info ============================ FAILED tests/test_open_meteo.py::test_timeout - open_meteo.exceptions.OpenMet... ========================= 1 failed, 4 passed in 0.37s ========================== E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build; python3.12 -m pytest -v dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.12 returned exit code 13 make: *** [debian/rules:9: build] Error 25 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 -------------------------------------------------------------------------------- The above is just how the build ends and not necessarily the most relevant part. If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/202410/ 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 could not 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 affects, so that this is still visible in the BTS web page for this package. Thanks.
--- End Message ---
--- Begin Message ---This is fixed.
--- End Message ---

