# Find where a package comes from

**URL:** <https://discourse.julialang.org/t/find-where-a-package-comes-from/56402>\
**Category:** General Usage\
**Tags:** pkg\
**Created:** [March 3, 2021, 12:14pm UTC](https://discourse.julialang.org/t/find-where-a-package-comes-from/56402 "2021-03-03T12:14:42Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![sijo](https://avatars.discourse-cdn.com/v4/letter/s/da6949/32.png) [@sijo](https://discourse.julialang.org/u/sijo)\
**Post date:** [March 3, 2021, 12:14pm UTC](https://discourse.julialang.org/t/find-where-a-package-comes-from/56402/1 "2021-03-03T12:14:42Z")

</div>

`pkg> status` shows that I have the `Symbolics` package added to my project.

I wanted to check if it’s the old one ([https://github.com/MasonProtter/Symbolics.jl](https://github.com/MasonProtter/Symbolics.jl)) or the new one ([https://github.com/JuliaSymbolics/Symbolics.jl](https://github.com/JuliaSymbolics/Symbolics.jl)).

What’s the simplest way to do that? I looked for a pkg command such as `info Symbolics` or `show Symbolics` but didn’t find anything.

---

<div class="post-metadata">

**Author:** ![david-pl](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/david-pl/32/6224_2.png) [@david-pl](https://discourse.julialang.org/u/david-pl)\
**Post date:** [March 3, 2021, 12:43pm UTC](https://discourse.julialang.org/t/find-where-a-package-comes-from/56402/2 "2021-03-03T12:43:53Z")

</div>

You can check the UUIDs in the respective Project.toml files against the output of `Base.identify_package("Symbolics")`

---

<div class="post-metadata">

**Author:** ![sijo](https://avatars.discourse-cdn.com/v4/letter/s/da6949/32.png) [@sijo](https://discourse.julialang.org/u/sijo)\
**Post date:** [March 3, 2021, 1:20pm UTC](https://discourse.julialang.org/t/find-where-a-package-comes-from/56402/3 "2021-03-03T13:20:16Z")

</div>

I have

```julia
julia> Base.identify_package("Symbolics")
Symbolics [0c5d862f-8b57-4792-8d23-62f2024744c7]

```

and

```julia
shell> cat Project.toml
[deps]
Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7"

```

but that doesn’t say where the `Symbolics` package comes from…

---

<div class="post-metadata">

**Author:** ![david-pl](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/david-pl/32/6224_2.png) [@david-pl](https://discourse.julialang.org/u/david-pl)\
**Post date:** [March 3, 2021, 1:33pm UTC](https://discourse.julialang.org/t/find-where-a-package-comes-from/56402/4 "2021-03-03T13:33:30Z")

</div>

What I meant is to check against this: [https://github.com/JuliaSymbolics/Symbolics.jl/blob/1f2188d9da92abfe7901ecea064da462bdca1522/Project.toml#L2](https://github.com/JuliaSymbolics/Symbolics.jl/blob/1f2188d9da92abfe7901ecea064da462bdca1522/Project.toml#L2)

So it seems you have the new package.

Actually, I just realized that I don’t think Mason’s package was ever registered, so if you did `pkg> add Symbolics` it can only be the new one.

---

<div class="post-metadata">

**Author:** ![sijo](https://avatars.discourse-cdn.com/v4/letter/s/da6949/32.png) [@sijo](https://discourse.julialang.org/u/sijo)\
**Post date:** [March 3, 2021, 2:25pm UTC](https://discourse.julialang.org/t/find-where-a-package-comes-from/56402/5 "2021-03-03T14:25:23Z")

</div>

Ah OK that makes sense. It’s a bit cumbersome but it works if you know where to look (i.e. you have a guess for the repository URL)…

But then what if you have no prior idea where the package might come from? 🙂

---

<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:** [March 3, 2021, 3:52pm UTC](https://discourse.julialang.org/t/find-where-a-package-comes-from/56402/6 "2021-03-03T15:52:16Z")

</div>

`Pkg.status("Symbolics")` should tell you where it comes from if it’s not straight out of the registry. E.g. I have

```julia
julia> Pkg.status("LongestPaths")
Status `~/.julia/environments/v1.5/Project.toml`
  [3a25c17e] LongestPaths v0.2.0 `https://github.com/GunnarFarneback/LongestPaths.jl.git#weighted_paths`

julia> Pkg.status("YAML")
Status `~/.julia/environments/v1.5/Project.toml`
  [ddb6d928] YAML v0.4.5

```

where the latter is from the registry.

---

<div class="post-metadata">

**Author:** ![sijo](https://avatars.discourse-cdn.com/v4/letter/s/da6949/32.png) [@sijo](https://discourse.julialang.org/u/sijo)\
**Post date:** [March 3, 2021, 4:16pm UTC](https://discourse.julialang.org/t/find-where-a-package-comes-from/56402/7 "2021-03-03T16:16:27Z")

</div>

Right, then if it does come from the registry I can go to [GitHub - JuliaRegistries/General: The official registry of general Julia packages](https://github.com/JuliaRegistries/General.git), navigate to the package directory and find the `repo` entry in the `Project.toml`.

The registry URL itself can be found with `pkg> registry status`.

More cumbersome than expected but I think it covers all cases 🙂
