Coder Social home page Coder Social logo

pr130 / usethis Goto Github PK

View Code? Open in Web Editor NEW

This project forked from r-lib/usethis

0.0 0.0 0.0 8.97 MB

Set up commonly used πŸ“¦ components

Home Page: https://usethis.r-lib.org

License: GNU General Public License v3.0

R 99.59% Shell 0.10% Rebol 0.08% C 0.01% C++ 0.03% Makefile 0.19%

usethis's Introduction

usethis

R build status Codecov test coverage CRAN status Lifecycle: stable

usethis is a workflow package: it automates repetitive tasks that arise during project setup and development, both for R packages and non-package projects.

Installation

Install the released version of usethis from CRAN:

install.packages("usethis")

Or install the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("r-lib/usethis")

Usage

Most use_*() functions operate on the active project: literally, a directory on your computer. If you’ve just used usethis to create a new package or project, that will be the active project. Otherwise, usethis verifies that current working directory is or is below a valid project directory and that becomes the active project. Use proj_get() or proj_sitrep() to manually query the project and read more in the docs.

A few usethis functions have no strong connections to projects and will expect you to provide a path.

usethis is quite chatty, explaining what it’s doing and assigning you tasks. βœ” indicates something usethis has done for you. ● indicates that you’ll need to do some work yourself.

Below is a quick look at how usethis can help to set up a package. But remember, many usethis functions are also applicable to analytical projects that are not packages.

library(usethis)

# Create a new package -------------------------------------------------
path <- file.path(tempdir(), "mypkg")
create_package(path)
#> βœ“ Creating '/var/folders/yx/3p5dt4jj1019st0x90vhm9rr0000gn/T/RtmpCtQAkY/mypkg/'
#> βœ“ Setting active project to '/private/var/folders/yx/3p5dt4jj1019st0x90vhm9rr0000gn/T/RtmpCtQAkY/mypkg'
#> βœ“ Creating 'R/'
#> βœ“ Writing 'DESCRIPTION'
#> Package: mypkg
#> Title: What the Package Does (One Line, Title Case)
#> Version: 0.0.0.9000
#> Authors@R (parsed):
#>     * First Last <[email protected]> [aut, cre] (<https://orcid.org/YOUR-ORCID-ID>)
#> Description: What the package does (one paragraph).
#> License: `use_mit_license()`, `use_gpl3_license()` or friends to pick a
#>     license
#> Encoding: UTF-8
#> LazyData: true
#> Roxygen: list(markdown = TRUE)
#> RoxygenNote: 7.1.0
#> βœ“ Writing 'NAMESPACE'
#> βœ“ Setting active project to '<no active project>'
# only needed since this session isn't interactive
proj_activate(path)
#> βœ“ Setting active project to '/private/var/folders/yx/3p5dt4jj1019st0x90vhm9rr0000gn/T/RtmpCtQAkY/mypkg'
#> βœ“ Changing working directory to '/var/folders/yx/3p5dt4jj1019st0x90vhm9rr0000gn/T/RtmpCtQAkY/mypkg/'

# Modify the description ----------------------------------------------
use_mit_license("My Name")
#> βœ“ Setting License field in DESCRIPTION to 'MIT + file LICENSE'
#> βœ“ Writing 'LICENSE.md'
#> βœ“ Adding '^LICENSE\\.md$' to '.Rbuildignore'
#> βœ“ Writing 'LICENSE'

use_package("MASS", "Suggests")
#> βœ“ Adding 'MASS' to Suggests field in DESCRIPTION
#> ● Use `requireNamespace("MASS", quietly = TRUE)` to test if package is installed
#> ● Then directly refer to functons like `MASS::fun()` (replacing `fun()`).

# Set up other files -------------------------------------------------
use_readme_md()
#> βœ“ Writing 'README.md'

use_news_md()
#> βœ“ Writing 'NEWS.md'

use_test("my-test")
#> βœ“ Adding 'testthat' to Suggests field in DESCRIPTION
#> βœ“ Creating 'tests/testthat/'
#> βœ“ Writing 'tests/testthat.R'
#> ● Call `use_test()` to initialize a basic test file and open it for editing.
#> βœ“ Writing 'tests/testthat/test-my-test.R'
#> ● Edit 'tests/testthat/test-my-test.R'

x <- 1
y <- 2
use_data(x, y)
#> βœ“ Adding 'R' to Depends field in DESCRIPTION
#> βœ“ Creating 'data/'
#> βœ“ Saving 'x', 'y' to 'data/x.rda', 'data/y.rda'
#> ● Document your data (see 'https://r-pkgs.org/data.html')

# Use git ------------------------------------------------------------
use_git()
#> βœ“ Initialising Git repo
#> βœ“ Adding '.Rhistory', '.RData', '.Rproj.user' to '.gitignore'

Code of Conduct

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.