Bug 2433885 - python-hupper fails to build with Python 3.15: ModuleNotFoundError: No module named 'pytest_cov.embed'
Summary: python-hupper fails to build with Python 3.15: ModuleNotFoundError: No module...
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: python-hupper
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kevin Fenzi
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PYTHON3.15
TreeView+ depends on / blocked
 
Reported: 2026-01-28 14:43 UTC by Karolina Surma
Modified: 2026-01-28 14:43 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Karolina Surma 2026-01-28 14:43:33 UTC
python-hupper fails to build with Python 3.15.0a5.

_____________________ test_myapp_reloads_when_touching_ini _____________________

testapp = <TestApp(Thread-2, stopped 140042405930688)>

    def test_myapp_reloads_when_touching_ini(testapp):
        testapp.start('myapp', ['--reload'])
>       testapp.wait_for_response()

tests/test_it.py:11: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/util.py:72: in wait_for_response
    self.tmpsize = wait_for_change(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

path = '/tmp/tmpuliy9jed', last_size = 0, timeout = 5, interval = 0.1

    def wait_for_change(path, last_size=0, timeout=5, interval=0.1):
        start = time.time()
        size = os.path.getsize(path)
        while size == last_size:
            duration = time.time() - start
            sleepfor = interval
            if timeout is not None:  # pragma: no cover
                if duration >= timeout:
>                   raise RuntimeError(
                        'timeout waiting for change to file=%s' % (path,)
                    )
E                   RuntimeError: timeout waiting for change to file=/tmp/tmpuliy9jed

tests/util.py:99: RuntimeError
--------------------------- Captured stderr teardown ---------------------------
-- test app failed --
name=myapp
args=['--reload']
code=1
-- stdout --

-- stderr --
Traceback (most recent call last):
  File "<frozen runpy>", line 187, in _run_module_as_main
  File "<frozen runpy>", line 147, in _get_module_details
  File "<frozen runpy>", line 111, in _get_module_details
  File "/builddir/build/BUILD/python-hupper-1.12.1-build/hupper-1.12.1/tests/myapp/__init__.py", line 1, in <module>
    import pytest_cov.embed
ModuleNotFoundError: No module named 'pytest_cov.embed'

___________________ test_myapp_reloads_when_touching_pyfile ____________________

testapp = <TestApp(Thread-3, stopped 140042405930688)>

    def test_myapp_reloads_when_touching_pyfile(testapp):
        testapp.start('myapp', ['--reload'])
>       testapp.wait_for_response()

tests/test_it.py:23: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/util.py:72: in wait_for_response
    self.tmpsize = wait_for_change(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

path = '/tmp/tmpntvw8qt3', last_size = 0, timeout = 5, interval = 0.1

    def wait_for_change(path, last_size=0, timeout=5, interval=0.1):
        start = time.time()
        size = os.path.getsize(path)
        while size == last_size:
            duration = time.time() - start
            sleepfor = interval
            if timeout is not None:  # pragma: no cover
                if duration >= timeout:
>                   raise RuntimeError(
                        'timeout waiting for change to file=%s' % (path,)
                    )
E                   RuntimeError: timeout waiting for change to file=/tmp/tmpntvw8qt3

tests/util.py:99: RuntimeError
--------------------------- Captured stderr teardown ---------------------------
-- test app failed --
name=myapp
args=['--reload']
code=1
-- stdout --

-- stderr --
Traceback (most recent call last):
  File "<frozen runpy>", line 187, in _run_module_as_main
  File "<frozen runpy>", line 147, in _get_module_details
  File "<frozen runpy>", line 111, in _get_module_details
  File "/builddir/build/BUILD/python-hupper-1.12.1-build/hupper-1.12.1/tests/myapp/__init__.py", line 1, in <module>
    import pytest_cov.embed
ModuleNotFoundError: No module named 'pytest_cov.embed'

https://docs.python.org/3.15/whatsnew/3.15.html

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.15/fedora-rawhide-x86_64/10038565-python-hupper/

For all our attempts to build python-hupper with Python 3.15, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.15/package/python-hupper/

Testing and mass rebuild of packages is happening in copr.
You can follow these instructions to test locally in mock if your package builds with Python 3.15:
https://copr.fedorainfracloud.org/coprs/g/python/python3.15/

Let us know here if you have any questions.

Python 3.15 is planned to be included in Fedora 45.
To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.15.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires),
so if this package is required a lot, it's important for us to get it fixed soon.

We'd appreciate help from the people who know this package best,
but if you don't want to work on this now, let us know so we can try to work around it on our side.


Note You need to log in before you can comment on or make changes to this bug.