Conan type stubs
Project description
Conan-stubs: Type stubs for Conan
Type stubs for specific conan versions for authoring Conanfiles. Versions of this package will correspond to the corresponding conan minor version.
- Generated with mypy via
stubgen -p conans --include-private
to fill up package, so everything resolves - model.conan_file is handcrafted and functions are documented with basic descriptions
- Selectable string values are annotated and scm attribute is fully type hinted as TypedDict
Why use type stubs instead of the bundled pylint plugin?
- Only usable with pylint, which is very unperformant and newer tools as Ruff can not work with this
- Methods are still missing (e.g. tool_requires)
- No autocomplete from pylint
Limitations
- tool_requires, build_requires, requires are annotated with only their function signature
- settings are annotated by their setter information for the class variable
- Every annotation is in the file, but commented out
- See https://github.com/python/mypy/issues/3004 and https://github.com/microsoft/pylance-release/issues/1735
Details
Methods which also can be used as class variables can not be annotated directly:
...
tool_requires = "cmake/3.25.3"
def build_requirements(self):
self.tool_requires("cmake/3.25.3")
The annotation would look like this with a property plus method, but can not be interpreted:
@property
@overload
def tool_requires(self) -> None: ...
@overload
def tool_requires(self, requirement: str, force_host_context: bool=False) -> None: ...
@tool_requires.setter
def tool_requires(self, value: Optional[Iterable[str]]): ...
Supported conan versions:
- 1.59
Supported Python versions:
- minimum 3.8
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
conan-stubs-1.59.0a4.tar.gz
(93.1 kB
view hashes)
Built Distribution
conan_stubs-1.59.0a4-py3-none-any.whl
(197.4 kB
view hashes)
Close
Hashes for conan_stubs-1.59.0a4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d63e9b34f3a33e97c0121e464cd4c7a17fb69c64910197238ee3f1717e33037 |
|
MD5 | 17c463de7594362ee83cb99e59cf6eae |
|
BLAKE2b-256 | 2b714aecd329abf4eed4403e4f93008f01add42c7fd8c326b4b53381a59b3b7c |