refactor: reorganize `remote_function` code for readability
Currently the user facing functions remote_function and read_gbq_function have entry points through the Session class and bigframes.pandas module. Most of the underlying code currently exists in bigframes.functions.remote_function which has grown large. This module is not promoted to be used by the end user directly, and is not included in the public documentation. This refactoring involves following changes to the code in this module:
- Move
RemoteFunctionClientto a separate moduleremote_function_client - Rename
_RemoteFunctionSessionclass toRemoteFunctionSessionand move to a separate moduleremote_function_session - Moved a bunch of module level functions to
utilsmodule
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a bug/issue before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
Fixes #<issue_number_goes_here> 🦕
Hard to fully review, but LGTM assuming this is a pure refactoring.
Added some explanation in the description. Technically this refactoring could break someone using those internal purpose classes and methods directly. If that's a concern I can leave aliases in the previous module, but didn't so far to avoid unnecessary clutter.