-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.qmd
More file actions
83 lines (67 loc) · 3.47 KB
/
Copy pathindex.qmd
File metadata and controls
83 lines (67 loc) · 3.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# Welcome! {.unnumbered}
::: {.content-visible when-format="html"}
{{< include /includes/_badges.qmd >}}
:::
::: callout-caution
These documents are very much a work in progress and very much incomplete. We
work on it slowly and when we can.
:::
There are little to no resources available online on how to develop data as a
package similar to developing software as a package, e.g. [R
packages](https://r-pkgs.org/), [Python
packages](https://packaging.python.org/), or [Rust
packages](https://doc.rust-lang.org/cargo/). There are many resources on how to
build data warehouses or data lakes/lakehouses, along with many enterprise-level
tools and platforms to build them. However, these are often overengineered and
excessively complicated for the needs within science and research. This guide is
an attempt at providing a practical how-to guide on treating data with a
"package" mindset. We walk through how to build up data following practices from
the software package development cycle so that the final "data package" (or
"data product") is findable, accessible, interoperable, and reusable
([FAIR](https://www.go-fair.org/fair-principles/)) and
[tidy](https://doi.org/10.18637/jss.v059.i10).
::: {.callout-note appearance="default"}
This guide mostly follows the [diátaxis](https://diataxis.fr/how-to-guides/)
"how-to guide" style, though not strictly. It is a living and constantly
evolving guide that is regularly updated as we learn and refine how we work and
develop data packages. We intend to continually update and release it with
every update to Zenodo and as GitHub releases. We don't expect this guide to
ever be considered "done".
:::
## Who you are
We've written these documents with a few types of people in mind:
- **New contributors/team members**: This is our primary audience for this
guide. If you are new to working with us on the Seedcase Project, these
documents are designed with you in mind.
- **Research software/data engineers**: If you work in another organization or
group, we write these documents to share our practices with you. You can use
this either as a guide or as a reference to help you build your own data
packages and learn how we work.
## Contributing
Check out our [contributing document](CONTRIBUTING.md) for information on how to
contribute to this guide.
::: content-hidden
<!-- TODO: Unhide after having more contributors -->
### Contributors
{{< include /includes/_contributors.qmd >}}
:::
## Changes
Check out our [changelog](CHANGELOG.md) for information on what has changed in
each version of the guide. Previous versions can be found in the
[releases](https://github.com/seedcase-project/data-pkg-guide/releases) page of
the GitHub repository.
::: content-hidden
<!-- TODO: Uncomment after building the PDF and uploading as an artifact -->
<!-- TODO: Add Zenodo link here once created -->
The PDF version of the guide is available in the releases page, as well as
the Zenodo archive.
:::
## How the website is made
The website and PDF (download link on the top of the website's sidebar) are
created using [Quarto](https://quarto.org) to write the material and create the
book format. [GitHub](https://github.com/) hosts the [Git](https://git-scm.com/)
repository of the material, while [GitHub
Actions](https://github.com/features/actions) builds and releases the book with
every change. [Netlify](https://www.netlify.com/) hosts the website and manages
the domain. The source material is in the
[`{{< meta gh.repo >}}`]({{< meta links.github >}}) GitHub repository.