
-
(2020).
Things have arguably become even nicer (although slightly more divergent between the two) since then: Python's `Optional[T]` can now be written as `T | None`, and the core container types can now be annotated directly (e.g. `List[T]` becomes `list[T]`).
Combined via pyO3[1], Python and Rust are a real joy to write together.
[1]: https://github.com/PyO3/pyo3
-
Nutrient
Nutrient - The #1 PDF SDK Library. Bad PDFs = bad UX. Slow load times, broken annotations, clunky UX frustrates users. Nutrient’s PDF SDKs gives seamless document experiences, fast rendering, annotations, real-time collaboration, 100+ features. Used by 10K+ devs, serving ~half a billion users worldwide. Explore the SDK for free.
-
such a waste of time...
To this day, I'm baffled by the dynamic language folks who cannot get they head around how strictness/rigor (via a good expressive type system) actually makes maintenance easier and more importantly: cheaper.
[1] https://github.com/inducer/pudb
-
https://github.com/beartype/beartype
I wish more people started using Beartype, it makes Python bearable