# Pkg3 "General" registry: dependencies in stdlib

**URL:** <https://discourse.julialang.org/t/pkg3-general-registry-dependencies-in-stdlib/13442>\
**Category:** Internals & Design\
**Created:** [August 14, 2018, 1:08pm UTC](https://discourse.julialang.org/t/pkg3-general-registry-dependencies-in-stdlib/13442 "2018-08-14T13:08:18Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![galenlynch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/galenlynch/32/17947_2.png) [@galenlynch](https://discourse.julialang.org/u/galenlynch)\
**Post date:** [August 14, 2018, 1:08pm UTC](https://discourse.julialang.org/t/pkg3-general-registry-dependencies-in-stdlib/13442/1 "2018-08-14T13:08:18Z")

</div>

I noticed that the “General” registry has added dependencies to my package, which are the packages in the standard library that my project uses but I forgot to add to my `REQUIRE` in METADATA. I’m curious, how was this determined? I don’t see any obvious hints in the scripts in Pkg that make the general registry.

Should I amend my `REQUIRE` file to explicitly include packages in the standard library?

Also, one of these standard libraries is only used during testing for my package. From the Pkg3 documentation it seems like test-specific dependencies should be declared using the `[extras]` and `[targets]` tables of `Project.toml`. I understand from reading discourse that `Project.toml` should not be in packages until Julia catches up to v1.0. Would this have been handled properly if I had put the test-specific dependencies in a `REQUIRE` file in my package’s `/test` directory?

---

<div class="post-metadata">

**Author:** ![galenlynch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/galenlynch/32/17947_2.png) [@galenlynch](https://discourse.julialang.org/u/galenlynch)\
**Post date:** [August 14, 2018, 1:19pm UTC](https://discourse.julialang.org/t/pkg3-general-registry-dependencies-in-stdlib/13442/2 "2018-08-14T13:19:21Z")

</div>

Also how do I determine what ‘versions’ of standard library packages should be placed in the `REQUIRE` file? Version informations seems to be missing from their status in the package manager.

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [August 14, 2018, 1:21pm UTC](https://discourse.julialang.org/t/pkg3-general-registry-dependencies-in-stdlib/13442/3 "2018-08-14T13:21:42Z")

</div>

You shouldn’t put any stdlibs in `REQUIRE` files. It is determined by looking in the source code but when things are transitioned to Project files they will be determined by looking there.

Standard libraries are not versioned yet.

---

<div class="post-metadata">

**Author:** ![galenlynch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/galenlynch/32/17947_2.png) [@galenlynch](https://discourse.julialang.org/u/galenlynch)\
**Post date:** [August 14, 2018, 1:26pm UTC](https://discourse.julialang.org/t/pkg3-general-registry-dependencies-in-stdlib/13442/4 "2018-08-14T13:26:02Z")

</div>

Thanks!

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [August 14, 2018, 7:31pm UTC](https://discourse.julialang.org/t/pkg3-general-registry-dependencies-in-stdlib/13442/5 "2018-08-14T19:31:57Z")

</div>

By very high tech means: it uses `git grep` to look for `import` or `using` followed by the name of a stdlib. Has been surprisingly effective.
