pytest-dev / pytest-xdist

pytest plugin for distributed testing and loop-on-failures testing modes.
https://pytest-xdist.readthedocs.io
MIT License
1.49k stars 232 forks source link

Add a py.typed file #1121

Open dmtucker opened 2 months ago

dmtucker commented 2 months ago

Hey there :wave: I'm in the process of adding types to pytest-mypy, which integrates with xdist in part via the pytest_configure_node hook. The type for the node parameter is available from xdist.workermanage, but mypy still emits the following error:

error: Skipping analyzing "xdist.workermanage": module is installed, but missing library stubs or py.typed marker  [import-untyped]
note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports

I see lots of typing work was done to xdist in 3.6.0 (https://github.com/pytest-dev/pytest-xdist/pull/1065). Could we add a py.typed file to allow downstreams to take advantage of it too?

bluetech commented 2 months ago

I already managed to forget the details, but at the time I wrote "The typings are not exposed as that would need some work on the public API". I think what I meant is that we should clearly delineate what is considered public/stable API (that should be properly typed and audited, and the typing should not break), and what is considered private.