# Which should I use \`\_\_init\_\_\` or \`deps/build.jl\`?

**URL:** <https://discourse.julialang.org/t/which-should-i-use-init-or-deps-build-jl/50216>\
**Category:** New to Julia\
**Tags:** question\
**Created:** [November 16, 2020, 8:40am UTC](https://discourse.julialang.org/t/which-should-i-use-init-or-deps-build-jl/50216 "2020-11-16T08:40:15Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![paalon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/paalon/32/5784_2.png) [@paalon](https://discourse.julialang.org/u/paalon)\
**Post date:** [November 16, 2020, 8:40am UTC](https://discourse.julialang.org/t/which-should-i-use-init-or-deps-build-jl/50216/1 "2020-11-16T08:40:15Z")

</div>

I’m writing a module which has a CSV file as data, and should be expanded and processed to `DataFrame` and saved as JLD2 file. However the data size of the generated JLD2 file is much larger than original CSV file, I want to generate them when the module is going to be used.

I came up with two ways:

- Write the process in the ` __init__ ` function of the module
- Write the process in `deps/build.jl`

Which (or another way) should I choose?

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [November 16, 2020, 9:40am UTC](https://discourse.julialang.org/t/which-should-i-use-init-or-deps-build-jl/50216/2 "2020-11-16T09:40:09Z")

</div>

> [@paalon](#):
>
> Which (or another way) should I choose?

Artifacts?

---

<div class="post-metadata">

**Author:** ![dmbates](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dmbates/32/44_2.png) [@dmbates](https://discourse.julialang.org/u/dmbates)\
**Post date:** [November 16, 2020, 7:26pm UTC](https://discourse.julialang.org/t/which-should-i-use-init-or-deps-build-jl/50216/3 "2020-11-16T19:26:26Z")

</div>

Also, is it important that the DataFrame be saved as JLD2? Arrow storage from `Arrow.jl` is often more compact and usually much faster to read than other formats. In [`MixedModels.jl`](https://github.com/JuliaStats/MixedModels.jl) we use an Artifact with .arrow files to store and access data for tests and examples. That has worked well for us.
