# \#package-extensions

**URL:** https://discourse.julialang.org/tag/package-extensions/1254.md

[Latest](https://discourse.julialang.org/latest.md) · [Categories](https://discourse.julialang.org/categories.md) · [Tags](https://discourse.julialang.org/tags.md)

---

## [Forcing a weak dependency to require a strong dependency](https://discourse.julialang.org/t/forcing-a-weak-dependency-to-require-a-strong-dependency/138830)

<div class="topic-metadata">

**Author:** [@Joris\_Pinkse](https://discourse.julialang.org/u/Joris_Pinkse)\
**Replies:** 4\
**Last updated:** [August 16, 2026, 12:50pm UTC](https://discourse.julialang.org/t/forcing-a-weak-dependency-to-require-a-strong-dependency/138830 "2026-08-16T12:50:16Z")

</div>

Suppose that I am developing a package P. I want package to have a published package W as a weak dependency, but if the weak dependency is activated then I want another published package C to be automatically loaded. I…

---

## [About Pkg Apps and Extentions](https://discourse.julialang.org/t/about-pkg-apps-and-extentions/136418)

<div class="topic-metadata">

**Author:** [@BambOoxX](https://discourse.julialang.org/u/BambOoxX)\
**Replies:** 8\
**Last updated:** [March 27, 2026, 9:14pm UTC](https://discourse.julialang.org/t/about-pkg-apps-and-extentions/136418 "2026-03-27T21:14:22Z")

</div>

While reading 6. Apps · Pkg.jl, I was wondering if one could define a app (with its own submodule) inside of a package or if it needed to be another package altogether. In particular, what I would ideally like to do is …

---

## [Exposing julia packages to python users](https://discourse.julialang.org/t/exposing-julia-packages-to-python-users/136272)

<div class="topic-metadata">

**Author:** [@aris](https://discourse.julialang.org/u/aris)\
**Replies:** 13\
**Last updated:** [March 23, 2026, 10:24am UTC](https://discourse.julialang.org/t/exposing-julia-packages-to-python-users/136272 "2026-03-23T10:24:27Z")

</div>

Hello everyone. I have a Julia package which I would like to expose to python users. Seems the most obvious way would be using juliacall, similar to how diffeqpy seems to do it. I tried working with that approach for n…

---

## [Alternative to Base.get\_extension](https://discourse.julialang.org/t/alternative-to-base-get-extension/133191)

<div class="topic-metadata">

**Author:** [@cormullion](https://discourse.julialang.org/u/cormullion)\
**Replies:** 13\
**Last updated:** [October 16, 2025, 7:14am UTC](https://discourse.julialang.org/t/alternative-to-base-get-extension/133191 "2025-10-16T07:14:23Z")

</div>

That was quick!

---

## [How to install a dependency when a package extension is loaded?](https://discourse.julialang.org/t/how-to-install-a-dependency-when-a-package-extension-is-loaded/103615)

<div class="topic-metadata">

**Author:** [@Tortar](https://discourse.julialang.org/u/Tortar)\
**Replies:** 4\
**Last updated:** [August 5, 2025, 5:42am UTC](https://discourse.julialang.org/t/how-to-install-a-dependency-when-a-package-extension-is-loaded/103615 "2025-08-05T05:42:47Z")

</div>

Say I have a Project.toml structure as this one: name = "MyPackage" \[deps\] FirstDep = "..." SecondDep = "..." \[weakdeps\] FirstWeakDep = "..." \[extensions\] ExtModule = "FirstWeakDep" \[compat\] julia = "1.9" and I wan…

---

## [Quick tutorial on package extensions](https://discourse.julialang.org/t/quick-tutorial-on-package-extensions/130923)

<div class="topic-metadata">

**Author:** [@erikedin](https://discourse.julialang.org/u/erikedin)\
**Replies:** 1\
**Last updated:** [July 22, 2025, 8:21am UTC](https://discourse.julialang.org/t/quick-tutorial-on-package-extensions/130923 "2025-07-22T08:21:06Z")

</div>

Hello! I was reading the documentation on package extensions and felt that I needed some more detailed instructions. I wrote this tutorial based on what I learned (only today, so this is surely not an exhaustive tutorial…

---

## [Extension methods for various backends](https://discourse.julialang.org/t/extension-methods-for-various-backends/129401)

<div class="topic-metadata">

**Author:** [@weymouth](https://discourse.julialang.org/u/weymouth)\
**Replies:** 1\
**Last updated:** [May 28, 2025, 10:00am UTC](https://discourse.julialang.org/t/extension-methods-for-various-backends/129401 "2025-05-28T10:00:08Z")

</div>

We are using Makie to build up some plotting extensions for a few packages, but we have older extension methods for Plots as well. If the user only have Plots or only has Makie, everything works, but what if they have in…

---

## [Does revise work with extensions?](https://discourse.julialang.org/t/does-revise-work-with-extensions/129168)

<div class="topic-metadata">

**Author:** [@Torkel](https://discourse.julialang.org/u/Torkel)\
**Replies:** 0\
**Last updated:** [May 20, 2025, 9:36am UTC](https://discourse.julialang.org/t/does-revise-work-with-extensions/129168 "2025-05-20T09:36:25Z")

</div>

Using it right now, but does not seem to work (which makes everything a pain). is this a known thing? I am working on modifying some plot recepies, you might also be because those are involved that it does not work.

---

## [Makie.jl Extensions frequently recompiled](https://discourse.julialang.org/t/makie-jl-extensions-frequently-recompiled/128203)

<div class="topic-metadata">

**Author:** [@kongdd](https://discourse.julialang.org/u/kongdd)\
**Replies:** 2\
**Last updated:** [April 19, 2025, 12:38pm UTC](https://discourse.julialang.org/t/makie-jl-extensions-frequently-recompiled/128203 "2025-04-19T12:38:27Z")

</div>

ArchGDAL.jl has the extension ArchGDALMakieExt (ArchGDAL.jl/Project.toml at master · yeesian/ArchGDAL.jl · GitHub). My pkg Ipaper.jl has an extension relies on ArchGDAL.jl. Each time I update Ipaper.jl in the system env…

---

## [Defining extensions](https://discourse.julialang.org/t/defining-extensions/127877)

<div class="topic-metadata">

**Author:** [@ohmsweetohm1](https://discourse.julialang.org/u/ohmsweetohm1)\
**Replies:** 6\
**Last updated:** [April 9, 2025, 11:16am UTC](https://discourse.julialang.org/t/defining-extensions/127877 "2025-04-09T11:16:17Z")

</div>

I have a package extension that defines a StructTypes.jl interface for a type I do not own so that I can use JSON3.jl on it. What if another package does the same and both are loaded? What would be the correct way of de…

---

## [How to debug an error in "type inference"](https://discourse.julialang.org/t/how-to-debug-an-error-in-type-inference/126122)

<div class="topic-metadata">

**Author:** [@Torkel](https://discourse.julialang.org/u/Torkel)\
**Replies:** 8\
**Last updated:** [March 9, 2025, 3:17pm UTC](https://discourse.julialang.org/t/how-to-debug-an-error-in-type-inference/126122 "2025-03-09T15:17:19Z")

</div>

I have encountered a very weird issue, and I need some help on how to diagnose it. It somehow seems to happen between my code being run (which kind of seems to work), but before the output is returned. I.e. the issue doe…

---

## [\[MadNLPHSL\] Feature proposal: simplify installation with custom-compiled HSL library](https://discourse.julialang.org/t/madnlphsl-feature-proposal-simplify-installation-with-custom-compiled-hsl-library/126474)

<div class="topic-metadata">

**Author:** [@KSepetanc](https://discourse.julialang.org/u/KSepetanc)\
**Replies:** 3\
**Last updated:** [March 3, 2025, 12:56am UTC](https://discourse.julialang.org/t/madnlphsl-feature-proposal-simplify-installation-with-custom-compiled-hsl-library/126474 "2025-03-03T00:56:07Z")

</div>

HSL\_jll.jl obtained from https://licences.stfc.ac.uk/products/Software/HSL/LibHSL requires free academic or purchased license and contains extended set of HSL libraries. However there is free license for individuals for …

---

## [Display docstring for extension method in documentation](https://discourse.julialang.org/t/display-docstring-for-extension-method-in-documentation/99720)

<div class="topic-metadata">

**Author:** [@gdalle](https://discourse.julialang.org/u/gdalle)\
**Replies:** 5\
**Last updated:** [February 20, 2025, 2:26pm UTC](https://discourse.julialang.org/t/display-docstring-for-extension-method-in-documentation/99720 "2025-02-20T14:26:49Z")

</div>

What should I do I want to document a method defined in an extension? Of course I wrote a docstring but said docstring isn’t displayed in the Documenter.jl build, even when I load the conditional dependencies before load…

---

## [Trouble creating Package Extension](https://discourse.julialang.org/t/trouble-creating-package-extension/125767)

<div class="topic-metadata">

**Author:** [@Ken\_Williams](https://discourse.julialang.org/u/Ken_Williams)\
**Replies:** 4\
**Last updated:** [February 10, 2025, 8:41pm UTC](https://discourse.julialang.org/t/trouble-creating-package-extension/125767 "2025-02-10T20:41:23Z")

</div>

I’m trying to create a package extension (see 5. Creating Packages · Pkg.jl) for a package I’ve created, triggered by the Plots package. I have the following in my package’s Project.toml file: \[extensions\] Plotting = "…

---

## [JLD and package extensions](https://discourse.julialang.org/t/jld-and-package-extensions/124656)

<div class="topic-metadata">

**Author:** [@GHTaarn](https://discourse.julialang.org/u/GHTaarn)\
**Replies:** 2\
**Last updated:** [January 12, 2025, 8:05am UTC](https://discourse.julialang.org/t/jld-and-package-extensions/124656 "2025-01-12T08:05:46Z")

</div>

I would like to make a package extension that loads if JLD.jl is loaded. I got the code below to work in the REPL, but when I make Abc the main package and JLDExt the extension (and remove the dots in front of the packag…

---

## [Understanding package extension dependency constraints](https://discourse.julialang.org/t/understanding-package-extension-dependency-constraints/124542)

<div class="topic-metadata">

**Author:** [@BambOoxX](https://discourse.julialang.org/u/BambOoxX)\
**Replies:** 0\
**Last updated:** [January 8, 2025, 4:52pm UTC](https://discourse.julialang.org/t/understanding-package-extension-dependency-constraints/124542 "2025-01-08T16:52:22Z")

</div>

I’m currently working on extensions for a package where my extensions add methods to an existing function in my main package. I have multiple extensions that add such methods. Some need only one additional package, some…

---

## [Understanding dependencies of packages extensions](https://discourse.julialang.org/t/understanding-dependencies-of-packages-extensions/115237)

<div class="topic-metadata">

**Author:** [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Replies:** 6\
**Last updated:** [January 8, 2025, 12:53pm UTC](https://discourse.julialang.org/t/understanding-dependencies-of-packages-extensions/115237 "2025-01-08T12:53:30Z")

</div>

I have a package and I’m extending a function to create plots. The main package depends on another third package, let’s say StaticArrays for simplicity, and the extension also uses the functions of StaticArrays. Should S…

---

## [Required dependencies for extensions](https://discourse.julialang.org/t/required-dependencies-for-extensions/124422)

<div class="topic-metadata">

**Author:** [@tz-lom](https://discourse.julialang.org/u/tz-lom)\
**Replies:** 2\
**Last updated:** [January 4, 2025, 5:14pm UTC](https://discourse.julialang.org/t/required-dependencies-for-extensions/124422 "2025-01-04T17:14:14Z")

</div>

I am making a package with functionality which can be nicely visualized with GraphVis, so GraphVis is additional dependency that is not strictly required for the package itself. I am looking how to provide user experien…

---

## [Are recipes still an "advanced topic"?](https://discourse.julialang.org/t/are-recipes-still-an-advanced-topic/124217)

<div class="topic-metadata">

**Author:** [@Ken\_Williams](https://discourse.julialang.org/u/Ken_Williams)\
**Replies:** 6\
**Last updated:** [December 31, 2024, 11:47pm UTC](https://discourse.julialang.org/t/are-recipes-still-an-advanced-topic/124217 "2024-12-31T23:47:10Z")

</div>

I was recently trying to figure out how to let users of my code make some plots, without making Plots.jl (and its hefty list of dependencies) a dependency of the package. Recipes seem like they’re aimed at this use case…

---

## [Debug logging for package extensions](https://discourse.julialang.org/t/debug-logging-for-package-extensions/123883)

<div class="topic-metadata">

**Author:** [@pat-alt](https://discourse.julialang.org/u/pat-alt)\
**Replies:** 2\
**Last updated:** [December 17, 2024, 11:03am UTC](https://discourse.julialang.org/t/debug-logging-for-package-extensions/123883 "2024-12-17T11:03:11Z")

</div>

Is it possible to enable debug logging for package extensions? I’m trying to simply do JULIA\_DEBUG=TaijaParallel,TaijaParallel.MPIExt mpiexec -n 4 julia --project=$EXPERIMENT\_DIR $EXPERIMENT\_DIR/run\_evaluation\_grid.jl --…

---

## [Using KernelAbstractions.jl in a package extension](https://discourse.julialang.org/t/using-kernelabstractions-jl-in-a-package-extension/123815)

<div class="topic-metadata">

**Author:** [@albertomercurio](https://discourse.julialang.org/u/albertomercurio)\
**Replies:** 6\
**Last updated:** [December 15, 2024, 10:02am UTC](https://discourse.julialang.org/t/using-kernelabstractions-jl-in-a-package-extension/123815 "2024-12-15T10:02:06Z")

</div>

Hello, I have a Julia package with an extension triggered by CUDA.jl. Now, I would like to define a custom kernel as a method extension of the package. In principle, I could use the CUDA kernel handling, but I understoo…

---

## [Who should own a package extension? Does it matter?](https://discourse.julialang.org/t/who-should-own-a-package-extension-does-it-matter/121668)

<div class="topic-metadata">

**Author:** [@brainandforce](https://discourse.julialang.org/u/brainandforce)\
**Replies:** 5\
**Last updated:** [October 24, 2024, 5:57am UTC](https://discourse.julialang.org/t/who-should-own-a-package-extension-does-it-matter/121668 "2024-10-24T05:57:00Z")

</div>

I want to ensure that my package, CliffordNumbers.jl, interoperates with Unitful.jl, and that parametric types dependent on both packages (like Quantity{\<:AbstractCliffordNumber}) have operations defined on them consiste…

---

## [Integrating Plots into a package](https://discourse.julialang.org/t/integrating-plots-into-a-package/119599)

<div class="topic-metadata">

**Author:** [@tduretz](https://discourse.julialang.org/u/tduretz)\
**Replies:** 8\
**Last updated:** [September 25, 2024, 6:51am UTC](https://discourse.julialang.org/t/integrating-plots-into-a-package/119599 "2024-09-25T06:51:13Z")

</div>

Hi everyone, I recently started with the development of ExactFieldSolutions. The package aims at providing full-field exact solutions for various PDEs, which can then be used for verifying the accuracy of numerical so…

---

## [How to manage interactions between two separate package extensions](https://discourse.julialang.org/t/how-to-manage-interactions-between-two-separate-package-extensions/119269)

<div class="topic-metadata">

**Author:** [@andreasvarga](https://discourse.julialang.org/u/andreasvarga)\
**Replies:** 18\
**Last updated:** [September 14, 2024, 10:23am UTC](https://discourse.julialang.org/t/how-to-manage-interactions-between-two-separate-package-extensions/119269 "2024-09-14T10:23:33Z")

</div>

I am preparing a new package to handle periodic matrices, which has two package extensions, say PackageExt1 and PackageExt2, which additionally define and manipulate two new (periodic) matrix types PM1 and PM2, respectiv…

---

## [Package extension version restriction](https://discourse.julialang.org/t/package-extension-version-restriction/108571)

<div class="topic-metadata">

**Author:** [@henry2004y](https://discourse.julialang.org/u/henry2004y)\
**Replies:** 0\
**Last updated:** [January 9, 2024, 3:57pm UTC](https://discourse.julialang.org/t/package-extension-version-restriction/108571 "2024-01-09T15:57:50Z")

</div>

Hi everyone, I’m having some issues with the package extensions. Recently I’ve added Makie as an extension to my data processing package Batsrus.jl. I listed Makie.jl in the \[weakdeps\] and added the \[compat\] info for it…

---

## [Package A does not have B in its dependencies error when B is in A's weakdeps](https://discourse.julialang.org/t/package-a-does-not-have-b-in-its-dependencies-error-when-b-is-in-as-weakdeps/113415)

<div class="topic-metadata">

**Author:** [@hdunham](https://discourse.julialang.org/u/hdunham)\
**Replies:** 1\
**Last updated:** [April 24, 2024, 6:42pm UTC](https://discourse.julialang.org/t/package-a-does-not-have-b-in-its-dependencies-error-when-b-is-in-as-weakdeps/113415 "2024-04-24T18:42:28Z")

</div>

I am working on a project that uses packages with extensions (REopt\_API). Since updating from Julia 1.8 to 1.10, when I resolve and precompile my project, I get the following error: ERROR: LoadError: ArgumentError: Pack…

---

## [Testing GPU compatability in CI](https://discourse.julialang.org/t/testing-gpu-compatability-in-ci/119021)

<div class="topic-metadata">

**Author:** [@AntonReinhard](https://discourse.julialang.org/u/AntonReinhard)\
**Replies:** 2\
**Last updated:** [September 4, 2024, 11:10am UTC](https://discourse.julialang.org/t/testing-gpu-compatability-in-ci/119021 "2024-09-04T11:10:41Z")

</div>

I have a package in which I want to add support for some GPU types via package extensions and weak dependencies to them. Now I want to set up tests that conditionally only run when those GPU packages are installed, th…

---

## [Compat entries for weakdeps on Julia \<1.9](https://discourse.julialang.org/t/compat-entries-for-weakdeps-on-julia-1-9/118172)

<div class="topic-metadata">

**Author:** [@penelopeysm](https://discourse.julialang.org/u/penelopeysm)\
**Replies:** 2\
**Last updated:** [August 14, 2024, 1:22pm UTC](https://discourse.julialang.org/t/compat-entries-for-weakdeps-on-julia-1-9/118172 "2024-08-14T13:22:39Z")

</div>

Hello, I’m running into some trouble trying to get compatible versions of packages on old versions of Julia. This situation could, in principle, arise with any package that uses extensions. However, to use a specific ex…

---

## [Extending JuMP @variable](https://discourse.julialang.org/t/extending-jump-variable/118094)

<div class="topic-metadata">

**Author:** [@shawn\_T](https://discourse.julialang.org/u/shawn_T)\
**Replies:** 7\
**Last updated:** [August 13, 2024, 9:41am UTC](https://discourse.julialang.org/t/extending-jump-variable/118094 "2024-08-13T09:41:59Z")

</div>

Hi, I am planning to extend JuMP @variable macro by defining a new struct to replace the VariableInfo struct defined in JuMP, the code below is following the extension page: struct My\_var \<: JuMP.AbstractVariable …

---

## [How can an user load a package extension?](https://discourse.julialang.org/t/how-can-an-user-load-a-package-extension/117323)

<div class="topic-metadata">

**Author:** [@K5Julien](https://discourse.julialang.org/u/K5Julien)\
**Replies:** 13\
**Last updated:** [July 27, 2024, 4:57pm UTC](https://discourse.julialang.org/t/how-can-an-user-load-a-package-extension/117323 "2024-07-27T16:57:48Z")

</div>

I have read Julia’s documentation about package extensions as well as this GitHub example and though I first thought it was suitable for my use case, it seems it isn’t. I have in my package a mutable struct SolveParamet…

[Next page](https://discourse.julialang.org/tag/package-extensions/1254.md?match_all_tags=true&page=1&tags%5B%5D=package-extensions)
