skillfed

juliapkg

Julia version manager and package manager

juliapkg v0.1.26 196.4K downloads/30d#9,788 on PyPI65
Permissive license Active released

What it is and what it does

JuliaPkg is a version and package manager for Julia that runs from Python. It lets you declare Julia version requirements and Julia package dependencies in a `juliapkg.json` file, then automatically resolves and installs them. The package handles the mechanics of finding or downloading a compatible Julia executable, managing isolated Julia project directories per Python environment (virtual env, Conda, etc.), and keeping dependencies separate across different Python contexts.

You interact with it through a functional API (require_julia, add, rm, resolve), direct JSON editing, or a command-line interface. It automatically discovers `juliapkg.json` files in installed Python packages, so you can embed Julia dependencies in your own package distributions. The tool supports multiple strategies for locating Julia (PATH, juliaup, or automatic download) and respects standard Julia configuration like JULIA_DEPOT.

Use it for:

  • Embed Julia computations in a Python package by declaring Julia dependencies in juliapkg.json and letting users' installations resolve them automatically.
  • Run Julia scripts from Python with guaranteed version compatibility, avoiding manual Julia setup or version conflicts across team members.
  • Isolate Julia environments per Python virtual environment so different projects can require different Julia versions without interference.
  • Prototype numerical or scientific algorithms in Julia while keeping the Python project as the entry point, managing both runtimes together.
  • Use juliaup or download Julia on-demand in CI/CD pipelines without pre-installing Julia system-wide.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Manages Julia language installation and package dependencies from Python, automatically resolving and isolating Julia environments per Python virtual environment or Conda setup.

Yes, if you need to call Julia from Python and want automated dependency and version management. The low install friction, active maintenance, permissive license, and zero known vulnerabilities make it safe to adopt. Install it only if your project actually requires Julia; it adds a runtime dependency on Julia itself, which is non-trivial to acquire and maintain.

Install

juliapkg on PyPI

pip

pip install juliapkg

uv

uv add juliapkg

poetry

poetry add juliapkg

Installing juliapkg

Before you install

Low friction: pure Python wheel with only four lightweight runtime dependencies (filelock, semver, tomli, tomlkit). Actively maintained as of 2026-08-14 with no known vulnerabilities.

License in practice

MIT license (permissive) — you can use this in commercial and proprietary projects without restriction or obligation to share modifications.

Quickstart

pip install juliapkg

import juliapkg
juliapkg.require_julia('1.5')
juliapkg.add('Example', version='0.5')
julia_exe = juliapkg.executable()
project_dir = juliapkg.project()

Requires Python ≥3.9 and a system capable of downloading/installing Julia (or Julia already present in PATH or via juliaup).

Verify before relying

  • Whether offline mode works reliably when Julia is pre-installed in non-standard locations.
  • Performance characteristics when managing large numbers of Julia package dependencies.
  • Compatibility with Julia versions newer than the latest tested in the repository.

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 4 — filelock, semver, tomli, tomlkit
Maintenance actively maintained — 0 days since the last release
Last repo commit
First released
Downloads 196,412/month — #9,788 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: juliapkg-0.1.26-py3-none-any.whl

License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3

Tags

julia package manager pythonjulia version managerpython julia integrationjulia dependency resolverjulia environment isolationcall julia from pythonjulia executable finder
julia-integrationversion-managerenvironment-isolation

More Build Tools packages