# I want Best Practices for Working With Python & Julia Together

**URL:** <https://discourse.julialang.org/t/i-want-best-practices-for-working-with-python-julia-together/131700>\
**Category:** New to Julia\
**Tags:** python\
**Created:** [August 19, 2025, 8:21am UTC](https://discourse.julialang.org/t/i-want-best-practices-for-working-with-python-julia-together/131700 "2025-08-19T08:21:16Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)\
**Post date:** [August 19, 2025, 8:55am UTC](https://discourse.julialang.org/t/i-want-best-practices-for-working-with-python-julia-together/131700/3 "2025-08-19T08:55:29Z")

</div>

> Is PyCall still the go-to approach for most people or are there newer

I would say no, PythonCall.jl is now ~~typo not~~ the mainstream, and the future. PyCall is still used by some python package wrappers, so you might end up using both at the same time even without knowing it. See the docs on if such is still a problem.

Packages like:  
[https://github.com/SciML/diffeqpy](https://github.com/SciML/diffeqpy)

previously used PyCall.jl but switched to PythonCall.jl (on my recommendation).

You need to decide which is your main language to call from, if Python, you install the associated juliacall Python package and do something like:

```julia-auto
from juliacall import Main as jl

```

That way you can e.g. use Django, or whatever Python uses for GUIs, even for SQL (Julia have GUI, maybe less developed, web and SQL capabilities too if you want Julia the main language) and call Julia for some stuff.

Note there similar for Ruby [on Rails]:

```julia-auto
gem install jl4rb

```

I don’t know how good it is, or if in-process, as the other solutions for python, or if calling in both directions is then possible. I knew of this years ago, but rarely see Ruby discussed for interop with Julia if ever. It might still just work.

> [@Re-writing a ruby side project into julia to learn](https://discourse.julialang.org/t/re-writing-a-ruby-side-project-into-julia-to-learn/57102):
>
> I have a few side projects which are running fine, but never let stability get in the way of learning a new language! I’ve been using julia for two weeks now and I figure an easy walk into learning more is to port the projects. In a few hours on Friday night, I ported the code and ran some performance comparisons between the current scripts in ruby and now in julia. This may be comparing apples to trains, and none of this is statistically valid. The Background [my desktop with 48 cores]⇋[giget…

One thing of note, is that Python dicts, are by now ordered (what I and them consider convenient), Julia’s built-in Dict isn’t ordered (to be faster or not rule out such algorithms). Ordered is available in OrderedCollections.jl, and I’ve tried to get it to be the new default in Julia…

Anything you build in _pure_ Python will be way slower (NumPy, numba etc. compensate, but not fully).

> [@Olivia](#):
>
> I came across a Ruby On Rails course that mentioned how people often bridge different tools in a single project

What do you have in mind, can you even provide a link to it?

Welcome to the Julia community!

---

_[View the full topic](https://discourse.julialang.org/t/i-want-best-practices-for-working-with-python-julia-together/131700)._
