In UCX-Py we had all the async under ucp, and the core under ucp._libs, but both were considered public (at least partially) despite the leading underscore in the core. In trying to keep a similar naming in UCXX I moved to core ucxx._lib and ucxx._lib_async, but didn't properly consider privateness. In #510 @TomAugspurger brought my attention to this again, and we need to review because both ucxx._lib and ucxx._lib_async are supposed to be public but their names are misleading at best.
Moving forward, I think we should review what code is actually public from both ucxx._lib and ucxx._lib_async and come up with a more appropriate naming. For the short-term maybe we should at least expose the public parts to ucxx like we already partially do, and this should at least help in preventing us from documenting what looks like internals from async library.
In UCX-Py we had all the async under
ucp, and the core underucp._libs, but both were considered public (at least partially) despite the leading underscore in the core. In trying to keep a similar naming in UCXX I moved to coreucxx._libanducxx._lib_async, but didn't properly consider privateness. In #510 @TomAugspurger brought my attention to this again, and we need to review because bothucxx._libanducxx._lib_asyncare supposed to be public but their names are misleading at best.Moving forward, I think we should review what code is actually public from both
ucxx._libanducxx._lib_asyncand come up with a more appropriate naming. For the short-term maybe we should at least expose the public parts toucxxlike we already partially do, and this should at least help in preventing us from documenting what looks like internals from async library.