I have a simple code packages in a module/folder "src" File sample.py import multiprocessing def f(x): return x*x def big_run(n): with multiprocessing.Pool(5) as p: p.map(f, list(range(n))) p.close() p.join() File __init__.py from .sample import big_run And I test it with a file test.py from src import big_run def test_main(): big_run(10) Just copy the folder to /mnt/data/global_envs/seb_py310/lib/python3.10/site-packages I use pytest with pytest.ini [pytest] python_files = test*.py required_plugins = pytest-cov pytest-xdist pytest-env [coverage:run] concurrency = multiprocessing branch = true parallel = true sigterm = true And the command line python -m pytest . --cov=src --cov-branch --cov-report=term --cov-config=../../../pytest.ini The code coverage report is ---------- coverage: platform linux, python 3.10.6-final-0 ----------- Name Stmts Miss Branch BrPart Cover ---------------------------------------------------------------------------------------------------------------- /mnt/data/global_envs/seb_py310/lib/python3.10/site-packages/src/__init__.py 1 0 0 0 100% /mnt/data/global_envs/seb_py310/lib/python3.10/site-packages/src/sample.py 8 1 2 0 90% ---------------------------------------------------------------------------------------------------------------- TOTAL 9 1 2 0 91% And if I just put the folder next to the test.py (not inside site-packages) I get 100% code coverage. The code that is not covered is the line return x*x. If I don't use multiprocessing, obviously, there is no issue. Any idea why I can't get 100% code coverage when it is inside site-packages? I care about this because I am building a python library that uses multiprocessing.pool and I can't get the right coverage level. I tried moving the code in many other folders, the issue is only with site-packages. I also tried copying the whole content of site-packages to another folder such as /mnt/data/global_envs/seb_py310/lib/python3.10/sites and I still get 100% code coverage. I also looked into other settings for pytest.ini and using plain coverage but nothing worked. I also tried this https://stackoverflow.com/a/41365659/11598039 Continue reading...