Instructor - great
Litellm - just a wrapper around llm libs (OpenAI/claude/etc)
Lmql - might not be necessary anymore with all the json modes out there.
Just off the top of my head.
Take a look at BAML (boundaryml.com)
Its a different take that leverages a DSL to make prompting cleaner and fixes a few other ergonomic issues along the way.
you can try it online at promptfiddle.com
Griptape
Dspy
Autogen
Guidance
Semantic kernel
Marvin from prefect
Haystack
And of course langchain and Llamaindex.
Which ones am I missing? Are any of them particularly good? Things like a simple way to interact with it (Marvin stands out), clean and organized code base, good support... If I had to pick one today I'd probably pick semantic kernel but not because I have used it, just because the ones I've used have either fallen short or been too much unnecessary complexity.