openzim / openzim/python-libzim
Use `sys.monitoring` once coverage.py supports it
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 108
- Forks
- 29
- Avg merge
- 9d 1h
- Merged PRs (30d)
- 1
Description
In https://github.com/openzim/python-libzim/pull/237/commits/036a5ec8df389d021979a253f299773975233a23, we've made configuration changes to ensure coverage still works with Cython 3.1
The issue is that:
coveragehas switched tosys.monitoringcore to collect profile / linetracing in 7.9.1 on Python 3.14+: https://coverage.readthedocs.io/en/latest/changes.html#version-7-9-1-2025-06-13- Cython also uses
sys.monitoringprofile / linetracing by default since 3.1 (see https://github.com/cython/cython/pull/6144)
The commit referenced above hence asked:
- coverage to use the
ctracecore - Cython to not use sys.monitoring for profile / linetracing
This needs to be rolled-back (to use sys.monitoring which is expected to be way more performant) once coverage supports plugins with sys.monitoring (probably https://github.com/nedbat/coveragepy/issues/1790 is the issue to follow).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review PR #237 commit 036a5ec8df389d021979a253f299773975233a23 to identify the current coverage and Cython configuration, then follow coverage.py issue #1790 for plugin support with sys.monitoring. Done means rolling back those workarounds once coverage supports the required plugins and verifying coverage still works with Cython 3.1 and Python 3.14+.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- testing, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100