# Canonical way to get a list of all stdibs

**URL:** <https://discourse.julialang.org/t/canonical-way-to-get-a-list-of-all-stdibs/88115>\
**Category:** General Usage\
**Tags:** stdlib\
**Created:** [October 2, 2022, 9:22am UTC](https://discourse.julialang.org/t/canonical-way-to-get-a-list-of-all-stdibs/88115 "2022-10-02T09:22:55Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Lilith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lilith/32/27492_2.png) [@Lilith](https://discourse.julialang.org/u/Lilith)\
**Post date:** [October 2, 2022, 9:22am UTC](https://discourse.julialang.org/t/canonical-way-to-get-a-list-of-all-stdibs/88115/1 "2022-10-02T09:22:55Z")

</div>

What is the best way to get this vector?

```julia
stdlibs = [
    :ArgTools,
    :Artifacts,
    :Base64,
    :CRC32c,
    :CompilerSupportLibraries_jll,
    :Dates,
    :Distributed,
    :Downloads,
    :FileWatching,
    :Future,
    :GMP_jll,
    :InteractiveUtils,
    :LLD_jll,
    :LLVMLibUnwind_jll,
    :LazyArtifacts,
    :LibCURL,
    :LibCURL_jll,
    :LibGit2,
    :LibGit2_jll,
    :LibSSH2_jll,
    :LibUV_jll,
    :LibUnwind_jll,
    :Libdl,
    :LinearAlgebra,
    :Logging,
    :MPFR_jll,
    :Makefile,
    :Markdown,
    :MbedTLS_jll,
    :Mmap,
    :MozillaCACerts_jll,
    :NetworkOptions,
    :OpenBLAS_jll,
    :OpenLibm_jll,
    :PCRE2_jll,
    :Pkg,
    :Printf,
    :Profile,
    :REPL,
    :Random,
    :SHA,
    :Serialization,
    :SharedArrays,
    :Sockets,
    :SparseArrays,
    :Statistics,
    :SuiteSparse,
    :SuiteSparse_jll,
    :TOML,
    :Tar,
    :Test,
    :UUIDs,
    :Unicode,
    :Zlib_jll,
    :dSFMT_jll,
    :libLLVM_jll,
    :libblastrampoline_jll,
    :nghttp2_jll,
    :p7zip_jll]

```

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [October 2, 2022, 11:26am UTC](https://discourse.julialang.org/t/canonical-way-to-get-a-list-of-all-stdibs/88115/2 "2022-10-02T11:26:41Z")

</div>

`Pkg.Types.get_last_stdlibs(VERSION)` (or `Symbol.(first.(values(Pkg.Types.get_last_stdlibs(VERSION))))` if only want those symbols) but this is internal Pkg API amenable to be broken at any point, use at your own risk.

---

<div class="post-metadata">

**Author:** ![Lilith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lilith/32/27492_2.png) [@Lilith](https://discourse.julialang.org/u/Lilith)\
**Post date:** [October 2, 2022, 11:34am UTC](https://discourse.julialang.org/t/canonical-way-to-get-a-list-of-all-stdibs/88115/3 "2022-10-02T11:34:06Z")

</div>

Thanks! That’s good but not ideal.

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [October 2, 2022, 11:42am UTC](https://discourse.julialang.org/t/canonical-way-to-get-a-list-of-all-stdibs/88115/4 "2022-10-02T11:42:00Z")

</div>

What would be ideal exactly?

---

<div class="post-metadata">

**Author:** ![Lilith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lilith/32/27492_2.png) [@Lilith](https://discourse.julialang.org/u/Lilith)\
**Post date:** [October 2, 2022, 11:58am UTC](https://discourse.julialang.org/t/canonical-way-to-get-a-list-of-all-stdibs/88115/5 "2022-10-02T11:58:43Z")

</div>

A single, documented function call or global constant that will keep working for all of `1.x` would be ideal.

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [October 2, 2022, 7:22pm UTC](https://discourse.julialang.org/t/canonical-way-to-get-a-list-of-all-stdibs/88115/6 "2022-10-02T19:22:33Z")

</div>

Most of Pkg functions are undocumented and non-public 🤷 but if you need that in Julia Base, it shouldn’t be a problem.
