# What's your "standard" Julia project toolkit?

**URL:** <https://discourse.julialang.org/t/whats-your-standard-julia-project-toolkit/106732>\
**Category:** General Usage\
**Tags:** question\
**Created:** [November 26, 2023, 5:42am UTC](https://discourse.julialang.org/t/whats-your-standard-julia-project-toolkit/106732 "2023-11-26T05:42:49Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![astra\_kawa](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/astra_kawa/32/204424_2.png) [@astra\_kawa](https://discourse.julialang.org/u/astra_kawa)\
**Post date:** [November 26, 2023, 5:42am UTC](https://discourse.julialang.org/t/whats-your-standard-julia-project-toolkit/106732/1 "2023-11-26T05:42:49Z")

</div>

I’ve started a new job a couple months ago and have been using Julia recently for a project. I’m interested to learn what packages people always turn to/rely on for their general, day-to-day work. I want to expand my knowledge of the Julia ecosystem and hopefully add some new tools to improve my workflow.

---

<div class="post-metadata">

**Author:** ![cmichelenstrofer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cmichelenstrofer/32/44392_2.png) [@cmichelenstrofer](https://discourse.julialang.org/u/cmichelenstrofer)\
**Post date:** [November 26, 2023, 6:19am UTC](https://discourse.julialang.org/t/whats-your-standard-julia-project-toolkit/106732/2 "2023-11-26T06:19:52Z")

</div>

Caveat: still a noob. But I always load `Revise` and `OhMyREPL` on my REPL sessions (automatically via the `startup.jl` file). The most common packages I use are `Plots`, `DataFrames`, and `Unitful`.

---

<div class="post-metadata">

**Author:** ![SteffenPL](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/steffenpl/32/206270_2.png) [@SteffenPL](https://discourse.julialang.org/u/SteffenPL)\
**Post date:** [November 26, 2023, 6:40am UTC](https://discourse.julialang.org/t/whats-your-standard-julia-project-toolkit/106732/3 "2023-11-26T06:40:36Z")

</div>

Maybe PkgTemplates.jl is worth a look. It provides a good starting environment for a new module with tests and documentation configured. Revise.jl is very common, I personally also like ProtoStructs.jl. And I also felt that I should have learned the `dev` command from the package manager much earlier to keep my own packages in a commonplace.

Anyway, it really depends on your specific field.

---

<div class="post-metadata">

**Author:** ![jar1](https://avatars.discourse-cdn.com/v4/letter/j/c0e974/32.png) [@jar1](https://discourse.julialang.org/u/jar1)\
**Post date:** [November 26, 2023, 8:12am UTC](https://discourse.julialang.org/t/whats-your-standard-julia-project-toolkit/106732/4 "2023-11-26T08:12:34Z")

</div>

[https://thautwarm.github.io/MLStyle.jl/latest/](https://thautwarm.github.io/MLStyle.jl/latest/)

---

<div class="post-metadata">

**Author:** ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Post date:** [November 26, 2023, 9:04am UTC](https://discourse.julialang.org/t/whats-your-standard-julia-project-toolkit/106732/5 "2023-11-26T09:04:01Z")

</div>

Take a look at [https://modernjuliaworkflows.github.io/](https://modernjuliaworkflows.github.io/)

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [November 26, 2023, 10:02am UTC](https://discourse.julialang.org/t/whats-your-standard-julia-project-toolkit/106732/6 "2023-11-26T10:02:13Z")

</div>

Also have a look at my blog post: [Working with Julia projects | Julia programming notes](https://ufechner7.github.io/2022/08/16/julia-projects.html)

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [November 26, 2023, 10:04am UTC](https://discourse.julialang.org/t/whats-your-standard-julia-project-toolkit/106732/7 "2023-11-26T10:04:43Z")

</div>

And I am using these packages for modeling and control of dynamic systems (well, wind turbines actually)…

| Name | Version | Description |
| --- | --- | --- |
| [Revise](https://timholy.github.io/Revise.jl/stable/) | 3.5.7 | Automatically update function definitions in a running Julia session |
| [MKL](https://github.com/JuliaLinearAlgebra/MKL.jl) | 0.6.1 | Linear Algebra library, needed for parallel simulations |
| [ModelingToolkit](https://docs.sciml.ai/ModelingToolkit/stable/) | 8.72.2 | An acausal modeling framework for automatically parallelized scientific machine learning (SciML) in Julia. |
| [ControlSystemsBase](https://juliacontrol.github.io/ControlSystems.jl/stable/man/introduction/) | 1.9.5 | A Control Systems Toolbox for Julia |
| [OrdinaryDiffEq](https://docs.sciml.ai/OrdinaryDiffEq/stable/) | 6.58.1 | High performance ordinary differential equation (ODE) and differential-algebraic equation (DAE) solver. |
| [SteadyStateDiffEq](https://docs.sciml.ai/DiffEqDocs/stable/solvers/steady_state_solve/#SteadyStateDiffEq.jl) | 1.16.1 | Solvers for steady states in scientific machine learning (SciML) |
| [DataInterpolations](https://docs.sciml.ai/DataInterpolations/stable/) | 4.5.0 | A library of data interpolation and smoothing functions |
| [Interpolations](https://juliamath.github.io/Interpolations.jl/stable/) | 0.14.7 | Fast, continuous interpolation of discrete datasets in Julia |
| [FastChebInterp](https://github.com/JuliaMath/FastChebInterp.jl) | 1.2.0 | Fast multidimensional Chebyshev interpolation and regression in Julia |
| [DataStructures](https://juliacollections.github.io/DataStructures.jl/v0.18/) | 0.18.15 | Julia implementation of Data structures |
| [DocStringExtensions](https://docstringextensions.juliadocs.org/v0.9/) | 0.9.3 | Extensions for Julia’s docsystem. |
| [EnumX](https://github.com/fredrikekre/EnumX.jl) | 1.0.4 | This is what I wish `Base.@enum` was. |
| [FFTW](https://juliamath.github.io/FFTW.jl/v1.7/) | 1.7.1 | Julia bindings to the FFTW library for fast Fourier transforms |
| [JLD2](https://juliaio.github.io/JLD2.jl/v0.4/) | 0.4.38 | HDF5-compatible file format in pure Julia |
| [LaTeXStrings](https://github.com/JuliaStrings/LaTeXStrings.jl) | 1.3.1 | Convenient input and display of LaTeX equation strings for the Julia language |
| [MAT](https://juliaio.github.io/MAT.jl/stable/) | 0.10.6 | Julia module for reading MATLAB files |
| [PackageCompiler](https://julialang.github.io/PackageCompiler.jl/v2.1/) | 2.1.11 | Compile your Julia Package |
| [PyCall](https://github.com/JuliaPy/PyCall.jl) | 1.96.2 | Package to call Python functions from the Julia language |
| [PyPlot](https://github.com/JuliaPy/PyPlot.jl) | 2.11.2 | Plotting for Julia based on matplotlib.pyplot |
| [Roots](https://github.com/JuliaMath/Roots.jl) | 2.0.20 | Root finding functions for Julia |
| [Timers](https://github.com/ufechner7/Timers.jl) | 0.1.5 | Timers for Julia |
| [YAML](https://github.com/JuliaData/YAML.jl) | 0.4.9 | Parse yer YAMLs |
