PythonCall.jl icon indicating copy to clipboard operation
PythonCall.jl copied to clipboard

Rename this??

Open cjdoris opened this issue 5 months ago • 2 comments

Just thinking out loud, I wonder if it would be useful for both the Julia package and the Python package to have the same name.

Why?

  • Let's us talk about both as a single entity (which they are) more easily.
  • Emphasises that they are two interfaces to the same code.
  • Discovery and cross-pollination between Julia and Python ecosystems.
  • Joint branding.

This would clearly be a breaking change, but could be considered for v1 (which has slowly been in the works for a very long time).

I haven't thought of a good name. Should probably allude to both Julia and Python. The only reasonable suggestions I have are JuPyCall or JuPyLink - maybe too similar to jupyter.

cjdoris avatar Jul 17 '25 18:07 cjdoris

I'd be open to supporting this. Thinking critically about the idea, though, I am not sure. I see some disadvantages:

  • While the internals are unified, the APIs are fundamentally different. It's useful to have a different name for each side of the API; otherwise we would be using the much more verbose "the Python interface of JuPyLink" vs "the Julia interface of JuPyLink" in conversations. JuPyLink.{call} might work in one language but not the other. Thus I think there are practical differences that necessitate some sort of symmetry breaking anyways.
  • Consider who the audience is here. Most everyday users are not writing both Python and Julia code, and the fact that it is unified internally is moreso interesting to developers (us) rather than to someone wanting to call a library from their primary language and get on with things.
  • While this might be more precise for people to talk about, I think it is actually more confusing for users who typically only use one side of it. The docs are already a bit tricky - I have unintentionally landed on the PythonCall page when trying to find the juliacall docs more often than I care to admit. Having a single package name would exacerbate this issue.

That being said, I do think JuPyLink is euphonic (if pronounced "joo-puh-link"). Though, yes, I could see them easily getting confused with Jupyter and thinking it's about adding links between jupyter notebooks or something.

I guess in summary I would say that PythonCall.jl/juliacall is preferable – not for aesthetic reasons, but for practical ones.

MilesCranmer avatar Jul 27 '25 18:07 MilesCranmer

All good points!

Just on this specific one:

the fact that it is unified internally is moreso interesting to developers (us) rather than to someone wanting to call a library from their primary language

it's not just an internal detail that the two are linked, it's part of the API that both packages are shipped together and you can access one from the other and they share conversion rules which can be defined from either side, etc., so they really are two interfaces to one tool.

cjdoris avatar Jul 29 '25 20:07 cjdoris