I previously invented a cipher called Wring and a hash function called Twistree. I made a separate repo WringTwistreeCryptanalysis to cryptanalyze it; it uses Makie to plot results, whereas WringTwistree does not use or depend on Makie. Is it possible to put cryptanalysis, benchmarking, or other such things in a workspace so that I can run it with ]activate benchmark or the like, but a program using the package won’t depend on Makie or anything else needed for cryptanalysis or benchmarking? Can you point me to a worked example?
Figured it out. I made a subdirectory stats, then a subdirectory stats/src, and these files:
stats/Project.toml:
name="stats"
[deps]
Kaftor = "b67cd48b-c284-4acd-b315-b9f141324b39"
stats/src/stats.jl:
module stats
using Kaftor
export aoeu
function aoeu()
println("aoeu")
end
end
where Kaftor is the name of the package. After instantiating and doing other stuff in Pkg, I could then activate stats/, get out of Pkg, and using stats, call the function.
The workspace doesn’t yet use Makie or do any actual statistics, but I can now use a workspace for something other than running test in Pkg.