MyNixOS website logo
Description

Read and Write Files from 'Egnyte'.

Provides functions to read and write files from 'Egnyte' cloud storage using the 'Egnyte' API <https://developers.egnyte.com/docs>. Supports both API key and 'OAuth' 2.0 authentication for file transfer operations.

egnyte

Lifecycle: experimental

Overview

egnyte provides an interface for reading and writing files directly to and from Egnyte cloud storage. If you work in an environment where Egnyte is your file storage solution, this package lets you interact with those files programmatically from R without manually downloading and uploading through the web interface.

The package supports multiple authentication methods (API keys and OAuth 2.0) and handles a variety of file formats commonly used in data analysis. Under the hood, egnyte leverages the excellent readr, readxl, and haven packages for file parsing, so if you're familiar with those packages, the interfaces here should feel natural.

Installation

You can install egnyte from GitHub:

# install.packages("pak")
pak::pak("atorus-research/egnyte")

Getting Started

Before you can interact with Egnyte, you need to authenticate. The simplest approach is using an API key:

library(egnyte)

eg_auth(
  domain = "your-company",
  api_key = "your-api-key"
)

Once authenticated, reading and writing files is straightforward:

# Read a CSV file from Egnyte
dat <- eg_read_csv("/Shared/Data/analysis.csv")

# Write results back to Egnyte
eg_write_csv(results, "/Shared/Data/results.csv")

For a more complete walkthrough, see vignette("configuration") to set up your credentials and vignette("authorization") to understand the different authentication options.

Supported File Formats

egnyte provides format-specific functions for common data file types. These functions use readr, readxl, writexl, and haven under the hood, so all arguments you're familiar with from those packages are available here.

FormatReadWriteUnderlying Package
CSVeg_read_csv()eg_write_csv()readr
Delimitedeg_read_delim()eg_write_delim()readr
Exceleg_read_excel()eg_write_excel()readxl / writexl
SAS (.sas7bdat)eg_read_sas()haven
SAS Transport (.xpt)eg_read_xpt()eg_write_xpt()haven
Stata (.dta)eg_read_stata()eg_write_stata()haven
SPSS (.sav)eg_read_spss()eg_write_spss()haven
RDSeg_read_rds()eg_write_rds()base R

For any file type not listed above, you can use eg_read() and eg_write() to transfer raw files.

Authentication Methods

egnyte supports three authentication approaches:

  • API Key: Simplest option, good for personal use and scripting
  • OAuth Authorization Code: Interactive browser-based login, supports token refresh
  • OAuth Password: Direct username/password authentication

See vignette("authorization") for details on when to use each method.

Learn More

  • vignette("configuration") - Setting up your API key and environment
  • vignette("authorization") - Understanding authentication methods
  • vignette("file-transfer") - Uploading and downloading files
  • vignette("reading-writing") - Working with data files

Code of Conduct

Please note that the egnyte project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Metadata

Version

0.1.2

License

Unknown

Platforms (78)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows