Jason R. Coombs
Jason R. Coombs
I believe this issue is fixed in `importlib_metadata >= 8`, where a missing `Name` key will raise a `KeyError`. Add another line to the repro, I am able to reproduce...
Unfortunately, the repro doesn't provide a very good understanding of the factors that lead to the missed expectation, as `pyproject-hooks` encapsulates all of the behavior. I don't know a good...
Oh, right. I remember now - the issue stems from some other provider producing `importlib.metadata.Distribution` objects... and it's those objects that will return `None` for missing keys (violating the protocol)....
@abravalheri What do you think about this approach compared to #487? The nice thing about this approach is it provides simpler type expectations for downstream consumers while also not imposing...
Tests are passing now on all but Python 3.8 and 3.9. They're failing on the `project` unit (pytest-checkdocs). It seems that the warning functionality is somehow getting triggered for `pytest-checkdocs`...
I think there are two issues going on: First, when running under pytest, some modules (namely plugins) get imported early, before assertion rewriting is turned on. That includes `pytest_checkdocs`, which...
I notice there is some small impact on performance: ``` exercises.py:cached distribution: 0:00:00.000302 (+0:00:00.000007, 2%) exercises.py:discovery: 0:00:00.000300 (+0:00:00.000003, 1%) exercises.py:entry_points(): 0:00:00.002260 (+0:00:00.000040, 2%) exercises.py:entrypoint_regexp_perf: 0:00:00.000059 (+0:00:00.000001, 2%) exercises.py:uncached distribution: 0:00:00.000452...
> I think there are two issues going on: I confirmed that running `pytest --assert plain` against 1a30e01 (prior to the workarounds), the tests pass, confirming that the issue was...
This might be a duplicate of #2806
Sounds reasonable. I'm yet unsure if `distribution` should be expanded to support more input types or if there should be a separate function specifically for `ModuleType`. We should consider the...