# Edit an externally hosted standard library

**URL:** <https://discourse.julialang.org/t/edit-an-externally-hosted-standard-library/90740>\
**Category:** Internals & Design\
**Created:** [November 24, 2022, 5:54am UTC](https://discourse.julialang.org/t/edit-an-externally-hosted-standard-library/90740 "2022-11-24T05:54:09Z")\
**Posts on this page:** 5\
**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:** [November 24, 2022, 5:54am UTC](https://discourse.julialang.org/t/edit-an-externally-hosted-standard-library/90740/1 "2022-11-24T05:54:09Z")

</div>

Most packages can be edited with `]dev DataFrames`. Code in Julia’s Base and internal stdlibs (those hosted in [GitHub - JuliaLang/julia: The Julia Programming Language](https://github.com/JuliaLang/julia)) can be edited by cloning Julia and using `Revise.track(Base)` or `Revise.track(Dates)`. What is a good workflow for testing my changes to SparseArrays (hosted at [GitHub - JuliaSparse/SparseArrays.jl: SparseArrays.jl is a Julia stdlib](https://github.com/JuliaSparse/SparseArrays.jl)) locally before making a PR?

---

<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:** [November 24, 2022, 5:54am UTC](https://discourse.julialang.org/t/edit-an-externally-hosted-standard-library/90740/2 "2022-11-24T05:54:32Z")

</div>

See also: [Editing a package in stdlib](https://discourse.julialang.org/t/editing-a-package-in-stdlib/10199)

---

<div class="post-metadata">

**Author:** ![dilumaluthge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dilumaluthge/32/29283_2.png) [@dilumaluthge](https://discourse.julialang.org/u/dilumaluthge)\
**Post date:** [November 24, 2022, 6:42am UTC](https://discourse.julialang.org/t/edit-an-externally-hosted-standard-library/90740/3 "2022-11-24T06:42:59Z")

</div>

See e.g. [Pkg.jl/README.md at master · JuliaLang/Pkg.jl · GitHub](https://github.com/JuliaLang/Pkg.jl/blob/master/README.md#using-the-development-version-of-pkgjl)

---

<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:** [November 24, 2022, 9:31am UTC](https://discourse.julialang.org/t/edit-an-externally-hosted-standard-library/90740/4 "2022-11-24T09:31:34Z")

</div>

Would it be possible to make `]dev SparseArrays` carry out those steps for me?

---

<div class="post-metadata">

**Author:** ![wsshin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wsshin/32/360_2.png) [@wsshin](https://discourse.julialang.org/u/wsshin)\
**Post date:** [February 2, 2023, 9:12pm UTC](https://discourse.julialang.org/t/edit-an-externally-hosted-standard-library/90740/5 "2023-02-02T21:12:12Z")

</div>

Related, I wanted to apply a particular patch in SparseArrays before it was introduced in the beta version of Julia. I was able to achieve what I wanted by modifying the commit hash of the SparseArrays patch in `julia/stdlib/SparseArrays.version`. For detailed step-by-step instructions, see [Huge v1.8 regression in sparse matrix division with diagonal matrix · Issue #290 · JuliaSparse/SparseArrays.jl · GitHub](https://github.com/JuliaSparse/SparseArrays.jl/issues/290#issuecomment-1414374512).
