# Workspaces for benchmarking, cryptanalysis, etc

**URL:** https://discourse.julialang.org/t/workspaces-for-benchmarking-cryptanalysis-etc/138555
**Category:** General Usage
**Created:** [July 31, 2026, 10:32pm UTC](https://discourse.julialang.org/t/workspaces-for-benchmarking-cryptanalysis-etc/138555 "2026-07-31T22:32:26Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![phma](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/phma/32/6576_2.png) [@phma](https://discourse.julialang.org/u/phma)
#### Post date: [July 31, 2026, 10:32pm UTC](https://discourse.julialang.org/t/workspaces-for-benchmarking-cryptanalysis-etc/138555/1 "2026-07-31T22:32:26Z")

</div>

I previously invented a cipher called Wring and a hash function called Twistree. I made a separate repo [WringTwistreeCryptanalysis](https://github.com/phma/WringTwistreeCryptanalysis.jl) 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?

---

<div class="post-metadata">

### Author: ![phma](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/phma/32/6576_2.png) [@phma](https://discourse.julialang.org/u/phma)
#### Post date: [August 2, 2026, 6:26am UTC](https://discourse.julialang.org/t/workspaces-for-benchmarking-cryptanalysis-etc/138555/2 "2026-08-02T06:26:50Z")

</div>

Figured it out. I made a subdirectory `stats`, then a subdirectory `stats/src`, and these files:  
`stats/Project.toml`:

```julia-auto
name="stats"

[deps]
Kaftor = "b67cd48b-c284-4acd-b315-b9f141324b39"

```

`stats/src/stats.jl`:

```julia-auto
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.
