drivendataorg/cloudpathlib

mark pydantic integration (as an extra?)

Open

#385 opened on Dec 11, 2023

 (2 comments) (0 reactions) (0 assignees)Python (87 forks)auto 404
good first issuetyping

Repository metrics

Stars
 (624 stars)
PR merge metrics
 (PR metrics pending)

Description

We run mypy with ignore_missing_imports = false and then have an explicit allow list for packages. Since cloudpathlib imports pydantic (albeit behind a guard) but does not depends on it, mypy fails with :

cloudpath.py:1207: error: Cannot find implementation or library stub for module named "pydantic_core"  [import-not-found]

We would normally set ignore_missing_imports for just pydantic_core, but that's somewhat wonky in this case because pydantic_core does have type stubs, it's just not a dependency.

I think the most straightforward approach would be to add a pydantic extra to cloudpathlib, but there might be a fancier way to inform mypy directly of the "optional-ness" of the imports.

Contributor guide