[DESIGN] Improve DX/UX of the public APIs
- Dominant language
- Cython
- Stars
- 79
- Forks
- 47
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 6
Description
* [ ] Define the public APIs
* [ ] Separate internal APIs
Thoughts 💭
==========
1. It's not clear what are the usage scenarios of the lib (API-wise).
2. It is too low-level (mostly).
3. Most of the exposed classes implement managing resources and require calls to open/connect and close/disconnect. The idiomatic way of working with them is to implement context manager interfaces that guarantee that the managed resources are closed once unneeded, no matter what.
4. The usage sequence seems to require passing extra initialization params to the connect method. This is an antipattern: objects must be ready to use right away after the initialization. So things like credentials should be passed to init, not connect.
Contributor guide
Assessment
This issue has not been assessed yet.