File: INSTALL.md

package info (click to toggle)
zsv 1.3.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 49,168 kB
  • sloc: ansic: 175,811; cpp: 56,301; sh: 3,635; makefile: 3,049; javascript: 577; cs: 90; awk: 70; python: 41; sql: 15
file content (214 lines) | stat: -rw-r--r-- 3,963 bytes parent folder | download | duplicates (2)
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
# Install

Download pre-built binaries and packages for macOS, Windows, Linux and BSD from
the [Releases](https://github.com/liquidaty/zsv/releases) page.

> [!IMPORTANT]
>
> For [musl libc](https://www.musl-libc.org/) static build, the dynamic
> extensions are not supported!

> [!NOTE]
>
> All package artifacts are properly
> [attested](https://github.blog/news-insights/product-news/introducing-artifact-attestations-now-in-public-beta/)
> and can be verified using [GitHub CLI](https://cli.github.com/) like this:
>
> ```shell
> gh attestation verify <downloaded-artifact> --repo liquidaty/zsv
> ```

## macOS

### macOS: Homebrew

```shell
# Update
brew update

# Install
brew install zsv

# Uninstall
brew uninstall zsv
```

### macOS: Homebrew Custom Tap

```shell
# Tap
brew tap liquidaty/zsv

# Update
brew update

# Install
brew install zsv

# Uninstall
brew uninstall zsv
```

### macOS: MacPorts

```shell
sudo port install zsv
```

## Linux

### Linux: Homebrew

```shell
# Update
brew update

# Install
brew install zsv

# Uninstall
brew uninstall zsv
```

### Linux: `apt`

```shell
# Add repository
echo "deb [trusted=yes] https://liquidaty.github.io/zsv/packages/apt/amd64/ ./" | \
  sudo tee /etc/apt/sources.list.d/zsv.list

# Update
sudo apt update

# Install CLI
sudo apt install zsv

# Install library
sudo apt install zsv-dev
```

### Linux: `rpm`

```shell
# Add repository
sudo tee /etc/yum.repos.d/zsv.repo << EOF
[zsv]
name=zsv
baseurl=https://liquidaty.github.io/zsv/packages/rpm/amd64
enabled=1
gpgcheck=0
EOF

# Install CLI
sudo yum install zsv

# Install library
sudo yum install zsv-devel
```

To install the manually downloaded `deb`/`rpm`, follow these instructions:

For Linux (Debian/Ubuntu - `*.deb`):

```shell
# Install
sudo apt install ./zsv-VERSION-amd64-linux-gcc.deb

# Uninstall
sudo apt remove zsv
```

For Linux (RHEL/CentOS - `*.rpm`):

```shell
# Install
sudo yum install ./zsv-VERSION-amd64-linux-gcc.rpm

# Uninstall
sudo yum remove zsv
```

## Windows

### Windows: `winget`

```powershell
# Install with alias
winget.exe install zsv

# Install with id
winget.exe install --id liquidaty.zsv
```

### Windows: `nuget`

Install the downloaded `.nupkg` with `nuget.exe`:

```powershell
# Install via nuget custom feed (requires absolute paths)
md nuget-feed
nuget.exe add zsv path\to\nupkg -source path\to\nuget-feed
nuget.exe install zsv -version <version> -source path\to\nuget-feed

# Uninstall
nuget.exe delete zsv <version> -source path\to\nuget-feed
```

Alternatively, install the downloaded `.nupkg` with `choco.exe`:

```powershell
# Install
choco.exe install zsv --pre -source path\to\nupkg

# Uninstall
choco.exe uninstall zsv
```

## Node

The zsv parser library is available for node:

```shell
npm install zsv-lib
```

Please note:

- This package currently only exposes a small subset of the zsv library
  capabilities. More to come!
- The CLI is not yet available as a Node package
- If you'd like to use additional parser features, or use the CLI as a Node
  package, please feel free to post a request in an issue here.

## GHCR (GitHub Container Registry)

`zsv` CLI is also available as a container image from
[Packages](https://github.com/liquidaty?tab=packages).

The container image is published on every release. In addition to the specific
release tag, the image is also tagged as `latest` i.e. `zsv:latest` always
points the latest released version.

Example:

```shell
$ docker pull ghcr.io/liquidaty/zsv
# ...
$ cat worldcitiespop_mil.csv | docker run -i ghcr.io/liquidaty/zsv count
1000000
```

For image details, see [Dockerfile](./Dockerfile). You may use this as a
baseline for your own use cases as needed.

## GitHub Actions

In a GitHub Actions workflow, you can use [`zsv/setup-action`](./setup-action)
to set up zsv+zsvlib:

```yml
- name: Set up zsv+zsvlib
  uses: liquidaty/zsv/setup-action@main
```

See [zsv/setup-action/README](./setup-action/README.md) for more details.