MyNixOS website logo
Description

Practical Utilities for Package Development and Session Auditing.

Provides a comprehensive collection of practical R utilities designed to streamline the full life cycle of package development, interactive data analysis, and session management. It offers tools for package management, development workflows, debugging, data processing, and system optimization. These utilities help R developers and data scientists automate release tasks, manage and scan dependencies, audit session states, optimize memory usage, and scramble sensitive Personally Identifiable Information ('PII').

devkit

R-CMD-check pkgdown Lifecycle: experimental License: MIT codecov

devkit is a professional, zero-dependency R development toolkit designed to streamline package management, environment setup, session auditing, and batch processing. It provides a suite of utilities to help developers maintain CRAN compliance and optimize their development workflow.

๐Ÿš€ Installation

Install the released version of devkit from CRAN with:

install.packages("devkit")

Or install the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("zankrut20/devkit")

๐Ÿ› ๏ธ Usage

Once installed, simply load the library to access all utilities:

library(devkit)

# Example: Audit your package dependencies
audit_dependencies()

# Example: Clean up memory hogs
hunt_zombies()

๐Ÿ“ฆ Toolkit Overview

๐Ÿ“ฆ Package Management

  • audit_dependencies(): Verifies DESCRIPTION file vs actual code usage.
  • remove_package(): Smart package removal with orphan dependency checking.
  • remove_user_installed_packages(): Cleans all user-installed packages while preserving base/recommended ones.
  • scan_dependencies(): Identifies unused packages in your session.

๐Ÿงน Memory Management

  • sweep_memory(): Removes large objects and triggers garbage collection.
  • hunt_zombies(): Cleans hidden temp files and orphaned graphics devices.
  • sweep_temp_cache(): Flushes R session caches across the system.

๐Ÿ”ง Development Environment

  • bootstrap_dev_env(): Installs and attaches core dev tools.
  • manage_deprecation(): Scaffolds deprecation wrappers and refactors calls.
  • setup_preflight(): Configures Git pre-commit hooks for safety.
  • setup_sentinel(): Enables dual-logging for session reproducibility.

๐Ÿ“Š Session Management

  • audit_script(): Snapshots session state before and after script execution.
  • detect_masking(): Resolves namespace conflicts and function masking.
  • export_snapshot(): Exports attached packages to an installation script.

โš™๏ธ Batch Processing

  • dispatch_checkpoints(): Crash-resilient batch processing with recovery.
  • loop_guardian(): Memory-safe iteration with RAM monitoring.
  • network_diplomat(): Rate-limited network requests with exponential backoff.

๐Ÿ—๏ธ Code Generation

  • architect_release(): Automates version bumping and release notes.
  • architect_vignette(): Scaffolds CRAN-compliant vignettes.
  • scaffold_parallel(): Generates parallel processing boilerplate.
  • scaffold_tests(): Generates testthat boilerplate.
  • simulate_clean_room(): Verifies script reproducibility in a vanilla session.

๐Ÿ” Privacy

  • mask_identity(): Interactively anonymizes PII in datasets.

๐Ÿ› ๏ธ Utilities

  • benchmark_branches(): Compares performance across Git branches.
  • dictate_dictionary(): Generates roxygen2 documentation for data frames.

๐Ÿ“ License

This package is licensed under the MIT License.

๐Ÿค Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Metadata

Version

1.0.0

License

Unknown

Platformsย (79)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    wasip1
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • 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
  • sh4-linux
  • vc4-none
  • wasm32-wasip1
  • wasm64-wasip1
  • x86_64-cygwin
  • 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