# Deleting Part of Artifact

**URL:** <https://discourse.julialang.org/t/deleting-part-of-artifact/98801>\
**Category:** General Usage\
**Tags:** question\
**Created:** [May 13, 2023, 5:18pm UTC](https://discourse.julialang.org/t/deleting-part-of-artifact/98801 "2023-05-13T17:18:45Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![cadojo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cadojo/32/25328_2.png) [@cadojo](https://discourse.julialang.org/u/cadojo)\
**Post date:** [May 13, 2023, 5:18pm UTC](https://discourse.julialang.org/t/deleting-part-of-artifact/98801/1 "2023-05-13T17:18:45Z")

</div>

I have a package that depends on a subdirectory of a release of a GitHub project. The GitHub release format is convenient — it’s provided as a `tar.gz` file, which `Artifacts` supports! That’s all fine.

The expanded artifact directory for this artifact is like half a GB. I only care about one directory within the artifact: ~20 MB.

Forgetting licenses / permissions for modifying the artifact, **is deleting part of the artifact directory after downloading supported behavior?**

---

<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:** [May 13, 2023, 7:08pm UTC](https://discourse.julialang.org/t/deleting-part-of-artifact/98801/2 "2023-05-13T19:08:21Z")

</div>

Artifacts are [content-addressed](https://en.wikipedia.org/wiki/Content-addressable_storage), so changing the content is a very bad idea. No, artifacts are supposed to be immutable by design.

> [@cadojo](#):
>
> The GitHub release format is convenient — it’s provided as a `tar.gz` file, which `Artifacts` supports! That’s all fine.

Also using the github-generated tarball is a terrible idea as it [isn’t guaranteed to be immutable](https://github.blog/2023-02-21-update-on-the-future-stability-of-source-code-archives-and-hashes/), so downloading such artifact from github (if you don’t go through PkgServer) might fail in the future.

---

<div class="post-metadata">

**Author:** ![e3c6](https://avatars.discourse-cdn.com/v4/letter/e/e79b87/32.png) [@e3c6](https://discourse.julialang.org/u/e3c6)\
**Post date:** [May 13, 2023, 7:49pm UTC](https://discourse.julialang.org/t/deleting-part-of-artifact/98801/3 "2023-05-13T19:49:13Z")

</div>

> [@giordano](#):
>
> Also using the github-generated tarball is a terrible idea as it [isn’t guaranteed to be immutable](https://github.blog/2023-02-21-update-on-the-future-stability-of-source-code-archives-and-hashes/), so downloading such artifact from github (if you don’t go through PkgServer) might fail in the future.

Does this apply to Github Gists too? Thinking of [GitHub - JuliaPackaging/ArtifactUtils.jl: A tool for package developers for working with artifacts.](https://github.com/simeonschaub/ArtifactUtils.jl), which has a very convenient workflow to create artifacts as gists.
