JuliaLang / JuliaLang/Juleps

Pkg3: Runtime Configuration - Specification of Installed Packages?

Open
#2 7 comments 0 reactions 0 assignees View on GitHub
Pkg3
Dominant language
No language data
Stars
75
Forks
23
PR merge metrics
No merged PRs in 30d

Description

First of all, really nice work!

As noted in the DifferentialEquations plan for modularization (https://github.com/JuliaDiffEq/DifferentialEquations.jl/issues/59), the only form of "conditional dependencies" that I really need is the ability to add/remove functionality at compile-time by knowing which packages are installed on the user's system. It seems like this can be done by the user specifying a flag in the Runtime Configuration file, but is there any way that this can be computed? As in, can this flag instead be determined a code which sees if packages X, Y, Z are installed, if so, allow me to use add functionality?

An example is that, at the top of the module, I'd want to:

``` julia
if SUNDIALS_INSTALLED
using Sundials
end
```

and then inside some higher level API functions have a branch which is allowed if `SUNDIALS_INSTALLED` (and error if not). If this is a possibility, then nothing would actually need to be changing at runtime, and thus the current conditional module problems that I have (which are not too difficult! I know there are more difficult conditional module problems which don't apply here) would be solved seamlessly to the user.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.