# Temporarily disable Project.toml "sources" so I can \`dev\` the local dependency version instead

**URL:** <https://discourse.julialang.org/t/temporarily-disable-project-toml-sources-so-i-can-dev-the-local-dependency-version-instead/137082>\
**Category:** General Usage\
**Tags:** pkg\
**Created:** [May 11, 2026, 8:09pm UTC](https://discourse.julialang.org/t/temporarily-disable-project-toml-sources-so-i-can-dev-the-local-dependency-version-instead/137082 "2026-05-11T20:09:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nathan\_Boyer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nathan_boyer/32/14825_2.png) [@Nathan\_Boyer](https://discourse.julialang.org/u/Nathan_Boyer)\
**Post date:** [May 11, 2026, 8:09pm UTC](https://discourse.julialang.org/t/temporarily-disable-project-toml-sources-so-i-can-dev-the-local-dependency-version-instead/137082/1 "2026-05-11T20:09:28Z")

</div>

I have a personal package `MyPackage` that depends on another personal package `MyPackageDependency`. I am using the [sources](https://pkgdocs.julialang.org/v1.12/toml-files/#The-%5Bsources%5D-section) section of the `MyPackage` `Project.toml` file to point to the `MyPackageDependency` GitHub repository.

However, if I want to test some changes to `MyPackageDependency` with `MyPackage` before committing and pushing them, then I need to `rm MyPackageDependency` from the `MyPackage` environment, `dev` it back in via a local path, and then change its “sources” line from a URL to a path in the `Project.toml` file.

Then when I’m happy with the `MyPackageDependency` changes, I need to remember to revert all the `MyPackage` environment and `.toml` changes before I commit and push `MyPackage` again.

Is there a better process or flag I can use to streamline this process of testing local dependency package changes’ effect on a package without altering the code of the package itself?

---

<div class="post-metadata">

**Author:** ![greatpet](https://avatars.discourse-cdn.com/v4/letter/g/e495f1/32.png) [@greatpet](https://discourse.julialang.org/u/greatpet)\
**Post date:** [May 15, 2026, 9:34am UTC](https://discourse.julialang.org/t/temporarily-disable-project-toml-sources-so-i-can-dev-the-local-dependency-version-instead/137082/2 "2026-05-15T09:34:40Z")

</div>

You could add `MyPackageDependency` as a [git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules) and always use it as a local dependency. This allows you to easily switch between different commits of `MyPackageDependency`, e.g. between the commit synced with GitHub and a local development commit. The exact commit used is tracked in the parent `MyPackage` repository, which ensures reproducibility: when you know some code in the parent repo works, git also knows exactly which commit of the submodule is used together to make the code work.

---

<div class="post-metadata">

**Author:** ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Post date:** [May 17, 2026, 11:06am UTC](https://discourse.julialang.org/t/temporarily-disable-project-toml-sources-so-i-can-dev-the-local-dependency-version-instead/137082/3 "2026-05-17T11:06:42Z")

</div>

If I’m reading the question correctly, you can just make a separate environment which develops both of the packages by path, and do the testing with that environment active.
