juliapkg
Julia version manager and package manager
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 juliapkguv
uv add juliapkgpoetry
poetry add juliapkgInstalling 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
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
pdmPDM is a modern Python package and dependency…
unclear · top 5,000 on PyPI
juliacallCall Julia code from Python and Python code…
permissive · top 15,000 on PyPI
tree-sitter-juliaProvides incremental parsing of Julia source…
permissive · top 5,000 on PyPI
dependency-groupsParses and resolves PEP 735 dependency groups…
permissive · top 5,000 on PyPI
pbs-installerDownloads and installs python-build-standalone…
permissive · top 1,000 on PyPI
conda-injectInjects a conda environment's packages into the…
unclear · top 15,000 on PyPI
dependenciesImplements constructor injection for dependency…
permissive · top 15,000 on PyPI
dparse2Parses Python dependency manifests…
permissive · top 15,000 on PyPI
poetry-multiproject-pluginA Poetry plugin that enables building and…
permissive · top 15,000 on PyPI
pipupgradeA command-line tool that upgrades pip packages…
permissive · top 5,000 on PyPI