-
I'd suggest you look at my cattrs (https://catt.rs) library as a good serde lookalike in Python (sum type support present and getting better), and to use attrs instead of dataclasses in general.
-
Scout Monitoring
Free Django app performance insights with Scout Monitoring. Get Scout setup in minutes, and let us sweat the small stuff. A couple lines in settings.py is all you need to start monitoring your apps. Sign up for our free tier today.
-
You can use https://github.com/beartype/plum instead of that elif chain too
-
jaxtyping
Type annotations and runtime checking for shape and dtype of JAX/NumPy/PyTorch/etc. arrays. https://docs.kidger.site/jaxtyping/
Since you mention ML use-cases, you might like jaxtyping.
-
equinox
Elegant easy-to-use neural networks + scientific computing in JAX. https://docs.kidger.site/equinox/
I'm a big fan of using ABCs to declare interfaces -- so much so that I have an improved abc.ABCMeta that also handles abstract instance variables and abstract class variables: https://github.com/patrick-kidger/equinox/blob/main/equinox/_better_abstract.py
Related posts
-
Bridging numerical relativity and automatic differentiation using JAX
-
Top 5 Production-Ready Open Source AI Libraries for Engineering Teams
-
Jax and Equinox: What are they and why should I bother?
-
Show HN: Flaim – pre-trained vision backbones for Flax
-
Maxtext: A simple, performant and scalable Jax LLM