4 ms·
Pixi is even more ambitious but with a different philosophy (I think? Specifically thinking about how pixi went with their own lock and manifest format as well
by theLiminator 3y ago
Pixi is even more ambitious but with a different philosophy (I think? Specifically thinking about how pixi went with their own lock and manifest format as well as first class conda support). I'd definitely prefer if they worked together instead or instead dedicated their time to type checking python which imo there still isn't a great solution for.
- SushiHippie 3y agoEspecially the conda support is IMO a cool thing. As conda/pip interop is just not great. And even micromamba (C++ implementation of conda) is relatively slow to resolve compared to pip. But agreed either work together or create a type checker. I use mypy currently but it definitely slows down my editor.
- theLiminator 3y agoYeah, pixi has decent mixed support for conda/pypi, it currently solves and installs conda (then locks it) and then solves and installs pypi. I think it's on their roadmap to solve them together, which would be a killer feature.
- davidhalter 3y agoI have been working on a faster type checker for 3.5 years now. It's coming, I promise :)
- fydorm 3y agoHave you tried Pyright? It made me actually enjoy Python development.
- RMPR 3y agoFor type checking it is very good, however, the error messages are sometimes not very human-readable. For example: def _deep_merge(updates: dict[str, str]) -> None: for key, update_info in updates.items(): if isinstance(update_info, dict) and "values" in update_info: value = update_info["values"] Errors out with Pyright: - error: Argument of type "Literal['values']" cannot be assigned to parameter "__key" of type "SupportsIndex | slice" in function "__getitem__" Type "Literal['values']" cannot be assigned to type "SupportsIndex | slice" "Literal['values']" is incompatible with protocol "SupportsIndex" "__index__" is not present "Literal['values']" is incompatible with "slice" (reportGeneralTypeIssues) 1 error, 0 warnings, 0 informations It took me a great amount of starring to figure out that changing the signature of updates to dict[str, dict] was what it was complaining about.
- Cannabat 3y agoI don't know if I'd use the word "enjoy", but it certainly makes python tolerable. With all due respect, it blows mypy out of the water.