# Getting Archive tarballs out of gitlab

**URL:** <https://discourse.julialang.org/t/getting-archive-tarballs-out-of-gitlab/71536>\
**Category:** Package Management\
**Created:** [November 16, 2021, 2:08am UTC](https://discourse.julialang.org/t/getting-archive-tarballs-out-of-gitlab/71536 "2021-11-16T02:08:03Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Allan\_Baker](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/allan_baker/32/42645_2.png) [@Allan\_Baker](https://discourse.julialang.org/u/Allan_Baker)\
**Post date:** [November 16, 2021, 2:08am UTC](https://discourse.julialang.org/t/getting-archive-tarballs-out-of-gitlab/71536/1 "2021-11-16T02:08:03Z")

</div>

I successfully created an archive tarball using the help from this website. I thought the documentation was not as clear as this blog.

> **[Julia Artifacts for Dummies](https://levelup.gitconnected.com/julia-artifacts-for-dummies-f2eef4fc193a?gi=85dabc91cb8b)**
>
> A clever system to make images, binaries, trainings sets and other data available in your package which matches your architecture.

I do have a problem though. I thought I could create a gitlab repo, and inside that gitlab repo put the tar ball and then give the url for the Artifacts.toml as that single file’s url without having to clone the entire repo, etc.

But when I test it with “download\_artifact”, this seems to create a new sha256 hash every time so perhaps gitlab does not work this way.

Any ideas on what I’m doing wrong or what I should be doing?

---

<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:** [November 16, 2021, 2:18am UTC](https://discourse.julialang.org/t/getting-archive-tarballs-out-of-gitlab/71536/2 "2021-11-16T02:18:03Z")

</div>

The module `Pkg.Artifacts` has a rather low-level API. [`ArtifactUtils.jl`](https://github.com/simeonschaub/ArtifactUtils.jl) is much more user-friendly.

---

<div class="post-metadata">

**Author:** ![Allan\_Baker](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/allan_baker/32/42645_2.png) [@Allan\_Baker](https://discourse.julialang.org/u/Allan_Baker)\
**Post date:** [November 16, 2021, 12:52pm UTC](https://discourse.julialang.org/t/getting-archive-tarballs-out-of-gitlab/71536/3 "2021-11-16T12:52:21Z")

</div>

That looks interesting. It looks like a manual call though, is there a way to automated it with the package’s Artifacts.toml so that things get installed lazily for the user of the package? I’m just now downloading the package… I probably should have tried it out first before adding this follow up.

---

<div class="post-metadata">

**Author:** ![Allan\_Baker](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/allan_baker/32/42645_2.png) [@Allan\_Baker](https://discourse.julialang.org/u/Allan_Baker)\
**Post date:** [November 16, 2021, 1:03pm UTC](https://discourse.julialang.org/t/getting-archive-tarballs-out-of-gitlab/71536/4 "2021-11-16T13:03:28Z")

</div>

I think I know what the problem is after looking at your script. When I just do the “download” by itself, I get a webpage back asking for gitlab verification. Even though the package manager knows how to normally access gitlab for internal packages, it seems to be having a problem. I’ll see if I can figure out that part. I’m getting a gitlab webpage back from the download instead of the tarball.

---

<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:** [November 18, 2021, 1:24am UTC](https://discourse.julialang.org/t/getting-archive-tarballs-out-of-gitlab/71536/5 "2021-11-18T01:24:05Z")

</div>

Is that a private page which requires authentication? If so, I’m afraid artifacts can’t handle that at the moment. Depending on what you need exactly, there may be alternatives. If I remember correctly [`DataDeps.jl`](https://github.com/oxinabox/DataDeps.jl) supports authentication to fetch files.
