# `CauldronGPU.Setup.Fetch`
[🔗](https://github.com/jaman/cauldron/blob/v0.3.3/cauldron_gpu/lib/cauldron_gpu/setup/fetch.ex#L1)

Downloads for `CauldronGPU.Setup`: an archive fetched over HTTPS, with the server's
certificate checked against the operating system's certificate store, and unpacked into
a folder.

    :ok = Fetch.unpack("https://example.com/thing.zip", :zip, "/tmp/thing")

# `download`

```elixir
@spec download(String.t()) :: {:ok, binary()} | {:error, String.t()}
```

The body of `url`, following redirects.

# `unpack`

```elixir
@spec unpack(String.t(), :zip | :tar_gz, Path.t()) :: :ok | {:error, String.t()}
```

Downloads `url` and unpacks it, a `:zip` or `:tar_gz` archive, into `dir`, replacing
what `dir` held.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
