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

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?

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.

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.