Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/r-lib/zip

Platform independent zip compression via miniz
https://github.com/r-lib/zip

Last synced: 4 days ago
JSON representation

Platform independent zip compression via miniz

Awesome Lists containing this project

README

        

---
output: github_document
---

```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```

# zip

> Cross-Platform 'zip' Compression

[![R-CMD-check](https://github.com/r-lib/zip/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/r-lib/zip/actions/workflows/R-CMD-check.yaml)
[![](https://www.r-pkg.org/badges/version/zip)](https://www.r-pkg.org/pkg/zip)
[![CRAN RStudio mirror downloads](https://cranlogs.r-pkg.org/badges/zip)](https://www.r-pkg.org/pkg/zip)
[![Codecov test coverage](https://codecov.io/gh/r-lib/zip/graph/badge.svg)](https://app.codecov.io/gh/r-lib/zip)

## Installation

Stable version:

```{r eval = FALSE}
install.packages("zip")
```

Development version:

```{r eval = FALSE}
pak::pak("r-lib/zip")
```

## Usage

```{r, include = FALSE, echo = FALSE, results = "hide"}
library(zip)
```

```{r}
library(zip)
```

### Creating ZIP files

`zip()` creates a new ZIP archive. (It overwrites the output file if it
exists.) Simply supply all directories and files that you want to include
in the archive.

It makes sense to change to the top-level directory of the files before
archiving them, so that the files are stored using a relative path name.

```{r}
zip("sources.zip", c("R", "src"))
file.info("sources.zip")
```

Directories are added recursively by default.

`zip_append()` is similar to `zip()`, but it appends files to an existing
ZIP archive.

### Listing ZIP files

`zip_list()` lists files in a ZIP archive. It returns a data frame:

```{r}
zip_list("sources.zip")
```

### Uncompressing ZIP files

`unzip()` uncompresses a ZIP archive:

```{r}
exdir <- tempfile()
unzip("sources.zip", exdir = exdir)
dir(exdir)
```

### Compressing and uncompressing in background processes

You can use the `zip_process()` and `unzip_process()` functions to
create background zip / unzip processes. These processes were implemented
on top of the `processx::process` class, so they are pollable.

## License

MIT