Python project calling Julia functions

I need to create a Python project that calls some of the functions exported by my Julia package KiteModels.jl. I need to manage both the Python and the Julia dependencies.

What would be a good way to do that?

For now it only needs to work on Ubuntu, but a more general solution would of course also be nice.

For the projects where I have to use python I mostly use PythonCall.jl.
For managing Julia and Python dependencies it is probably the best solution.

It will generate a CondaProject.toml file that keeps track of your packages and uses micromamba to install python and the respective packages and comes with a package manager for python that can be addressed from the REPL by prefixing the normal package mananger with conda. So

pkg > conda add scikit-learn

will do everything for you that you’d expect.

Note, if you want to use an external python installation with existing environments, make sure to set the paths correctly, as explained in the manual, before you do

julia> using PythonCall
pkg> conda add ...

The package actually implementing the underlying conda functionality is CondaPkg.jl:

Well, this is not what I need. There is a partner company, they have their own Python Software which is closed source and their own way to install it. They want to use my Kite power system model, mainly two functions, init() and step().

I am writing an example how to use my Julia SW from Python.

For now I am using pixi to install Python and juliaup to install Julia. When I find the time I will publish the example code on Github.

Example how to create a Python project with juliacall:

pixi init new_project
cd new_project
pixi add python==3.8.19
pixi add juliacall --pypi
pixi add ipython
pixi add numpy

So you need juliacall then:

I have juliacall available on conda-forge as pyjuliacall:

You can thus use pixi to install pyjuliacall. Alternately, you could just do pip install juliacall