jameslamb/bedazzle — explained in plain English
Analysis updated 2026-08-15 · repo last pushed 2020-06-18
Write a fast statistical routine in C and call it from both Python and R without rewriting it.
Share performance-critical numerical code between Python pipelines and R-based analysts on the same team.
Learn how Bazel can build a shared C/C++ library callable from multiple scripting languages.
| jameslamb/bedazzle | 0verflowme/learnings | 0verflowme/r2ai | |
|---|---|---|---|
| Language | Python | Python | Python |
| Last pushed | 2020-06-18 | 2022-06-18 | 2025-11-19 |
| Maintenance | Dormant | Dormant | Quiet |
| Setup difficulty | moderate | easy | moderate |
| Complexity | 3/5 | 1/5 | 3/5 |
| Audience | researcher | researcher | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires Bazel installed and a Mac-focused build environment, instructions are not tailored for other platforms.
bedazzle is an experimental project that explores how to write a piece of code once in a low-level language (C/C++) and then use it from both Python and R. The practical benefit is straightforward: instead of rewriting the same logic in two different languages, you maintain a single shared library that both environments can tap into. The project uses a build tool called Bazel to compile the shared C/C++ code into a format that other programs can call. Once built, the same underlying function, for example, one that takes a number and adds one to it, can be loaded and run from either a Python script or an R session. The README demonstrates this with simple examples: calling the function in Python returns an incremented integer, and calling it in R does the same. This would appeal to data scientists, quantitative researchers, or engineering teams who work across both Python and R and want to share performance-critical code between them without duplicating effort. For instance, if a team builds a fast statistical or numerical routine in C, this approach lets both their Python pipelines and their R-based analysts use that exact same compiled code. It's worth noting that this is explicitly a learning exercise. The README describes it as an attempt to learn Bazel and then build on top of that knowledge, so it reads more like a personal experiment than a production-ready framework. The setup instructions are Mac-focused, and the project doesn't appear to be maintained for broader distribution. Think of it as a proof-of-concept showing that the write-once-use-anywhere pattern across Python and R is achievable with this toolchain.
An experimental project showing how to write C/C++ code once and call it from both Python and R, using Bazel to build a shared library.
Mainly Python. The stack also includes C/C++, Python, R.
Dormant — no commits in 2+ years (last push 2020-06-18).
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.