Ah, gotcha. Thanks, that makes sense. FWIW, here are some things it provides which might be worth having:
1. typesafety (for those using pyright/mypy) and autocomplete/intellisense
2. auto-retry (w/ backoff, intelligently so w/ rate limits) and error handling
3. auto-pagination (can save a lot of code if you make list calls)
4. SSE parsing for streaming
5. (coming soon) richer streaming & function-calling helpers (can save / clean up a lot of code)
Not all of these matter to everybody (e.g., I imagine you're not moved by such benefits as "dot notation over dictionary access", which some devs might really like).
I would argue that auto-retry would benefit a pretty large percentage of users, though, especially since the 429 handling can paper over a lot of rate limits to the point that you never actually "feel" them. And spurious/temporary network connections or 500s also ~disappear.
For some simple use-cases, none of these would really matter, and I agree with you - especially if it's not production code and you don't use a type-aware editor.
1. typesafety (for those using pyright/mypy) and autocomplete/intellisense
2. auto-retry (w/ backoff, intelligently so w/ rate limits) and error handling
3. auto-pagination (can save a lot of code if you make list calls)
4. SSE parsing for streaming
5. (coming soon) richer streaming & function-calling helpers (can save / clean up a lot of code)
Not all of these matter to everybody (e.g., I imagine you're not moved by such benefits as "dot notation over dictionary access", which some devs might really like).
I would argue that auto-retry would benefit a pretty large percentage of users, though, especially since the 429 handling can paper over a lot of rate limits to the point that you never actually "feel" them. And spurious/temporary network connections or 500s also ~disappear.
For some simple use-cases, none of these would really matter, and I agree with you - especially if it's not production code and you don't use a type-aware editor.