Developing internal tools for multi-lingual teams
summary
Bumble builds matching internal R and Python packages that share foundations: implement R generics and Python functools.singledispatch for identical APIs; create named errors with rlang::abort and mirror Python exception classes so both sides can catch specific failures and chain causes (raise … from / abort(..., parent=cond)); wrap cross-language code with reticulate (import, source_python, onLoad delay) and rpy2 (STAP, object conversion), noting environment, conversion and error-message gotchas.
AI-written summary · about
chapters (12)
- 0:00Start
- 2:13What strategies can we use to make developing tools simultaneously with Python and R easier?
- 2:33Building identical generic functions
- 2:48summary()
- 5:42Identical error handling with classes
- 8:49What about error chaining?
- 9:59Creating your own internal wrappers
- 11:04Importing Python modules into R
- 12:57Importing R libraries into Python
- 13:48Accessing functions from the R environment
- 14:33Defining a temporary package structure
- 15:17Two environments
related talks
27mDream in Code
28mBuilding Developer Tools Your...
21mTeach Your Old Code New Tricks: Automating Code Quality in Large Projects
47mREPL-driven development
50mSoftware Automation in a Polyglot Stack
24mLet's play together: Collaborative Data Science
28m"Shipping Rust to Python, Typescript, and Ruby Users"
22mPublishing well formed Python packages
