Description
Right now I have one big issue keeping Marimo from replacing Jupyter entirely for me, which is the lack of Julia support. Python and Julia are wonderful complements for scientific computing, data science, and machine learning. While Python boasts an unmatched ecosystem for ML, web/UI components, and data orchestration, Julia excels at high-performance numerical computing, differential equations (DifferentialEquations.jl), flexible Bayesian analysis (Turing.jl), and mathematical optimization (JuMP.jl).
Are you willing to submit a PR? (You must receive approval from the team before submitting a PR.)
Alternatives
Currently, there are two alternatives that each solve half the problem:
- Pluto.jl is fantastic for pure Julia reactive notebooks, but it doesn't support running Python and Julia side-by-side in a single reactive workflow with marimo’s rich UI components.
- Jupyter Notebooks support Julia, but lack marimo's reactive execution model and deterministic state.
Hopefully marimo can combine the two, letting me migrate away from Jupyter entirely.
Additional context
The good news: Julia has amazing Python interop thanks to PythonCall.jl and juliacall, which offer zero-overhead, bidirectional conversions between Python and Julia objects, handle memory/GC bridging gracefully, and avoid common threading deadlocks.
In addition, pyarrow / Apache Arrow + Arrow.jl allow for passing large datasets between Python (Polars/Pandas/PyTorch) and Julia (DataFrames.jl) via Apache Arrow memory pointers with zero copies, keeping reactive cell re-evaluations fast.
Description
Right now I have one big issue keeping Marimo from replacing Jupyter entirely for me, which is the lack of Julia support. Python and Julia are wonderful complements for scientific computing, data science, and machine learning. While Python boasts an unmatched ecosystem for ML, web/UI components, and data orchestration, Julia excels at high-performance numerical computing, differential equations (DifferentialEquations.jl), flexible Bayesian analysis (Turing.jl), and mathematical optimization (JuMP.jl).
Are you willing to submit a PR? (You must receive approval from the team before submitting a PR.)
Alternatives
Currently, there are two alternatives that each solve half the problem:
Hopefully marimo can combine the two, letting me migrate away from Jupyter entirely.
Additional context
The good news: Julia has amazing Python interop thanks to PythonCall.jl and juliacall, which offer zero-overhead, bidirectional conversions between Python and Julia objects, handle memory/GC bridging gracefully, and avoid common threading deadlocks.
In addition, pyarrow / Apache Arrow + Arrow.jl allow for passing large datasets between Python (Polars/Pandas/PyTorch) and Julia (DataFrames.jl) via Apache Arrow memory pointers with zero copies, keeping reactive cell re-evaluations fast.