operator icon indicating copy to clipboard operation
operator copied to clipboard

ops[tracing] consider rewriting the vendored cham lib in pure Python

Open dimaqq opened this issue 7 months ago • 0 comments

We've had discussions if it's worth it, given how prevalent pydantic is among charmers.

Why would we want to do this and what could be in scope:

  • smaller potential 3rd party dep incompatibility surface
  • faster build times for charms that are traced, but don't use (heavy? many?) relation charm libs
  • much smaller codebase, if we remove the Provider
  • much simpler codebase, if we streamline the Requirer and hardcode e.g. the protocol
  • the charm lib can be architected much better
  • avoids calling hook tools in __init__

To do:

  • [ ] drop the pydantic dep
  • [ ] update the docs

dimaqq avatar Aug 12 '25 14:08 dimaqq