Would it be possible to add temporary dependency graph?

For Julia packages dependency graphs are saved in Project/Manifest files.

Would it be possible to have a way to add to the dependency graph branches that are session-specific?
My user case is a MainPackage that call function foo!(a_dic) of packages that are defined in a settings file (could be name, url, version…).
If I programmatically Pkg.add these packages, I would change the Project/Manifest, while I would like this changes to live only in memory for the current session.

Any though?

Just activate a temporary environment and start adding.

Be prepared that switching environments during a session can be brittle since package versions in different environments may differ and the first loaded version will be used, which may or may not lead to compatibility problems.

Ok, I’ll try with adding a separate temp environment, altought I think it is nicer to have one environment, where some components are just not permanent

If you initialize the temporary environment with your current Project and Manifest files, the effect should be rather similar to what you’re asking for?