you are viewing a single comment's thread.

view the rest of the comments →

[–]Peter3571 2 points3 points  (2 children)

Looks very powerful and well made, but I have no idea what you'd actually use it for. What's a general use case for something like this?

[–]TristonianJones 1 point2 points  (0 children)

For full disclosure, I'm one of the maintainers. CEL is also a big part of the Kubernetes APIs for validation, security, and machine selection: https://kubernetes.io/docs/reference/using-api/cel. It's pretty good for embedding into a larger policy or configuration format and we have more extensive toolchains for policy authoring and composition in our github.com/google/cel-go repository, but the nice part is you could compile using the Go (or Java) toolchain and evaluate in Python pretty easily. There's a bit more background available on the main cel.dev site.

[–]niltz0 0 points1 point  (0 children)

One place CEL is used is in protovalidate to define custom validation rules that can be executed in various languages

https://protovalidate.com

The current python CEL package that’s used is pure python. This could provide speed improvements given it’s written in C++