# Is there a way to separate development dependencies from runtime dependencies in Project.toml?

**URL:** <https://discourse.julialang.org/t/is-there-a-way-to-separate-development-dependencies-from-runtime-dependencies-in-project-toml/55568>\
**Category:** New to Julia\
**Created:** [February 18, 2021, 6:48pm UTC](https://discourse.julialang.org/t/is-there-a-way-to-separate-development-dependencies-from-runtime-dependencies-in-project-toml/55568 "2021-02-18T18:48:38Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![flipgthb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/flipgthb/32/29080_2.png) [@flipgthb](https://discourse.julialang.org/u/flipgthb)\
**Post date:** [February 18, 2021, 6:48pm UTC](https://discourse.julialang.org/t/is-there-a-way-to-separate-development-dependencies-from-runtime-dependencies-in-project-toml/55568/1 "2021-02-18T18:48:39Z")

</div>

Suppose I’m working on a project that depends on DataFrames.jl and Gadfly.jl to run and I decide to work on it using Pluto.jl or IJulia.jl. As far as I know, I can create `Pkg.activate` an environment for this project and add all these packages, but I would like to specify that the “real” dependencies are just the former two (somewhat like pipenv or poetry for python). Is it possible?

---

<div class="post-metadata">

**Author:** ![sylvaticus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sylvaticus/32/203883_2.png) [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)\
**Post date:** [February 18, 2021, 9:04pm UTC](https://discourse.julialang.org/t/is-there-a-way-to-separate-development-dependencies-from-runtime-dependencies-in-project-toml/55568/2 "2021-02-18T21:04:27Z")

</div>

Maybe not the most clean way, but you can work on your project keeping your default environment (or an other one), and switch to the in-development environment just to add the really-needed packages.

---

<div class="post-metadata">

**Author:** ![alejandromerchan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alejandromerchan/32/10500_2.png) [@alejandromerchan](https://discourse.julialang.org/u/alejandromerchan)\
**Post date:** [February 18, 2021, 9:16pm UTC](https://discourse.julialang.org/t/is-there-a-way-to-separate-development-dependencies-from-runtime-dependencies-in-project-toml/55568/3 "2021-02-18T21:16:19Z")

</div>

What I do, maybe not the best, but it works for me. I have an environment where I develop the package and it has the package dependencies. And I also open another VSCode window in another environment where I can play with the package I’m developing, using packages that are not direct dependencies but they go into that environment. I do that a lot because I connect with a database and a lot of my packages need data from the DB. So, I have a Playground environment with all the things that I need to connect and get data, and I can test my package. I don’t remember now if Revise works this way, which can be annoying because you need to reload the package constantly.
