Developing internal tools for multi-lingual teams
summary
Internal packages at Bumble use concrete patterns to avoid doubling work: implement identical generics using R S3 generics and Python functools.singledispatch so APIs match; unify failures by creating error classes with rlang::abort in R and custom exceptions in Python and chain with parent/raise from; build cross‑language wrappers via reticulate (import, source_python, delay_load) and rpy2 (STAP, object conversion), accepting extra environment and conversion quirks but yielding consistent behavior across R and Python.
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
17mPolyglot Data Science: Why and How to Combine R and Python
37mRewriting your R analysis code in Python
59mEmbracing multi-lingual data science
26mHow to Succeed with Python Across the Enterprise
21mWhen R Met Python: A Meet Cute on Posit Connect
33mBuilding with Multiple Languages: A Python-First Approach
35mEffective Python and R collaboration
32mInterfacing R and Python
