{"id":30590659,"url":"https://github.com/ickc/pixi-kernel-jl","last_synced_at":"2026-02-18T15:01:13.996Z","repository":{"id":312213008,"uuid":"1046169273","full_name":"ickc/pixi-kernel-jl","owner":"ickc","description":"A Jupyter kernel to use Julia within a pixi environment.","archived":false,"fork":false,"pushed_at":"2025-09-29T12:47:21.000Z","size":17,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-29T13:29:52.900Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ickc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-28T09:42:16.000Z","updated_at":"2025-09-29T12:47:25.000Z","dependencies_parsed_at":"2025-08-29T09:29:11.996Z","dependency_job_id":"4ecfbcc8-dda8-4c8b-9fde-a7e07a3468b8","html_url":"https://github.com/ickc/pixi-kernel-jl","commit_stats":null,"previous_names":["ickc/pixi-kernel-jl"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ickc/pixi-kernel-jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ickc%2Fpixi-kernel-jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ickc%2Fpixi-kernel-jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ickc%2Fpixi-kernel-jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ickc%2Fpixi-kernel-jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ickc","download_url":"https://codeload.github.com/ickc/pixi-kernel-jl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ickc%2Fpixi-kernel-jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006453,"owners_count":26084108,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-29T16:53:36.814Z","updated_at":"2025-10-11T06:32:58.435Z","avatar_url":"https://github.com/ickc.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pixi-kernel-jl\n\nA small helper and template for using Julia inside a Pixi environment with Jupyter.\n\nThis repository has two related goals:\n\n1. Provide a Jupyter kernel that automatically uses the Julia from your Pixi environment.\n2. Offer a template to bootstrap and pin a Julia version inside a Pixi configuration so your notebooks use the intended Julia runtime.\n\n## Important: bootstrap Julia before other Julia tasks\n\nThis project changed how the Julia runtime is prepared inside the Pixi environment. You must run the `bootstrap-julia` task before running other Julia-related tasks (for example `precompile`, `install-kernel`, `resolve`, or `update`). The bootstrap step installs the pinned Julia runtime (via `juliaup`) into the Pixi-managed prefix so subsequent Julia invocations use the intended runtime and depot paths.\n\nIf you skip `pixi run bootstrap-julia` you will see cryptic error like this:\n\n    ERROR: `1.11.7` from environment variable JULIAUP_CHANNEL is not installed. Please run `juliaup add 1.11.7` to install channel or version.\n\nRun the bootstrap step once after creating or restoring the Pixi environment (for example after a fresh checkout or when the environment cache is not restored).\n\n## Motivation\n\nJulia projects are reproducible at the package-environment level (for example, `julia --project=@.` will find the environment by searching up the directory tree). However, reproducing the exact Julia *runtime* version used to run that environment is still manual and error-prone. This project helps by providing a kernel and bootstrap pattern that ensures the Julia binary used by Jupyter comes from the pinned Pixi configuration.\n\n## Features\n\n- Installs a Jupyter kernel named `Julia (Pixi)` which launches Julia from the Pixi-managed runtime.\n- Includes a Pixi template showing how to pin a Julia release/channel (via `JULIAUP_CHANNEL`) and bootstrap that runtime for reproducible notebooks.\n\n## Requirements\n\n- Pixi installed and available in your environment.\n- Jupyter (or JupyterLab) installed and available.\n\n## Quick install\n\n1. Clone this repository:\n\n        git clone git@github.com:ickc/pixi-kernel-jl.git\n\n2. Change into the repository:\n\n        cd pixi-kernel-jl\n\n3. Run the install script through Pixi:\n\n    ```sh\n    pixi run bootstrap-julia\n    pixi run install-kernel\n    ```\n\nBe patient — on a cold start the installation may take around 90 seconds.\n\nBy default, the install will create or overwrite a kernel named `pixi-kernel-jl` inside your Jupyter kernels directory. You can confirm the installed kernels with:\n\n        jupyter kernelspec list\n\n## How it works (high level)\n\n- The kernel spec installed by `pixi run install-kernel` points Jupyter to a launcher script that activates the Pixi environment and then runs the pinned Julia binary from that environment.\n- The provided `pixi.toml` demonstrates setting `JULIAUP_CHANNEL` to pin a Julia release/channel. Bootstrap scripts in the template ensure that the pinned Julia is the one actually launched by the kernel.\n\n## Notes and limitations\n\n- The current approach is specific to Julia. The same technique does not directly work for Python kernels (see related projects for Python/R approaches).\n- This repository provides a template and a convenience kernel install; adapt or fork it for project-specific needs.\n\n## Troubleshooting\n\n- If the kernel does not appear in Jupyter, run:\n\n        jupyter kernelspec list\n\n    to verify installation and the kernel directory path.\n\n- If the kernel fails to start, ensure:\n    - Pixi is correctly installed and `pixi run` works on your machine.\n    - You have run `pixi run bootstrap-julia` after the environment was created or restored. Without bootstrapping the Julia runtime, later Julia tasks may fail.\n\nIf you need help debugging a failure, collect the output from launching the kernel (or running the launcher script directly) and open an issue or pull request with the details.\n\n## See also\n\n- [renan-r-santos/pixi-kernel](https://github.com/renan-r-santos/pixi-kernel) — Jupyter kernels using Pixi for reproducible notebooks (includes approaches for Python and R).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fickc%2Fpixi-kernel-jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fickc%2Fpixi-kernel-jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fickc%2Fpixi-kernel-jl/lists"}