rsconnect/ 0000755 0001762 0000144 00000000000 14536742742 012266 5 ustar ligges users rsconnect/NAMESPACE 0000644 0001762 0000144 00000003212 14513230050 013456 0 ustar ligges users # Generated by roxygen2: do not edit by hand
S3method(as.data.frame,rsconnect_secret)
S3method(format,rsconnect_secret)
S3method(print,linterResults)
S3method(print,rsconnect_secret)
S3method(str,rsconnect_secret)
export(accountInfo)
export(accountUsage)
export(accounts)
export(addAuthorizedUser)
export(addConnectServer)
export(addLinter)
export(addServer)
export(addServerCertificate)
export(appDependencies)
export(applications)
export(authorizedUsers)
export(configureApp)
export(connectApiUser)
export(connectUser)
export(deployAPI)
export(deployApp)
export(deployDoc)
export(deploySite)
export(deployTFModel)
export(deployments)
export(discoverServers)
export(forgetDeployment)
export(generateAppName)
export(lint)
export(linter)
export(listAccountEnvVars)
export(listBundleFiles)
export(listDeploymentFiles)
export(purgeApp)
export(removeAccount)
export(removeAuthorizedUser)
export(removeServer)
export(resendInvitation)
export(restartApp)
export(rpubsUpload)
export(serverInfo)
export(servers)
export(setAccountInfo)
export(setProperty)
export(showInvited)
export(showLogs)
export(showMetrics)
export(showProperties)
export(showUsage)
export(showUsers)
export(syncAppMetadata)
export(taskLog)
export(tasks)
export(terminateApp)
export(unsetProperty)
export(updateAccountEnvVars)
export(writeManifest)
import(rlang)
importFrom(lifecycle,deprecated)
importFrom(stats,na.omit)
importFrom(stats,setNames)
importFrom(utils,available.packages)
importFrom(utils,contrib.url)
importFrom(utils,getFromNamespace)
importFrom(utils,glob2rx)
importFrom(utils,installed.packages)
importFrom(utils,packageDescription)
importFrom(utils,packageVersion)
importFrom(utils,read.csv)
rsconnect/README.md 0000644 0001762 0000144 00000005421 14536655076 013552 0 ustar ligges users
# rsconnect
[](https://cran.r-project.org/package=rsconnect)
[](https://lifecycle.r-lib.org/articles/stages.html#stable)
[](https://github.com/rstudio/rsconnect/actions)
rsconnect makes it easy to publish your Shiny apps, RMarkdown and Quarto
documents, and Plumber APIs to [Posit
Connect](https://posit.co/products/enterprise/connect/),
[ShinyApps.io](https://www.shinyapps.io/), and [Posit
Cloud](https://posit.cloud/) from R.
(If you’re looking for the Python equivalent, try
[rsconnect-python](https://pypi.org/project/rsconnect-python/).)
## Installation
You can install the released version of rsconnect from
[CRAN](https://CRAN.R-project.org) with:
``` r
install.packages("rsconnect")
```
And the development version from [GitHub](https://github.com/) with:
``` r
# install.packages("devtools")
devtools::install_github("rstudio/rsconnect")
```
## Setup
To use rsconnect, you first need to teach it about the server you want
to publish to. If you use the RStudio IDE, the easiest way to get set up
is to use the publishing dialog, which you can find by clicking the
“Tools” menu, then selecting “Global options”, then clicking
“Publishing”. Click “Connect” to add new servers.
You can also connect from any R session by running a little code:
- For shinyapps.io, go to your [tokens
page](https://www.shinyapps.io/admin/#/tokens) and click “Add Token”,
then follow the instructions to copy and paste the appropriate call to
`setAccountInfo()`. Learn more in the [Getting Started
Guide](https://shiny.rstudio.com/articles/shinyapps.html).
- For Posit Connect, first use `addServer()` to register your server
with rsconnect, then call either `connectUser()` or
`connectApiUser()`. `connectUser()` is a bit simpler if you’re in an
interactive session; `connectApiUser()` works anywhere but requires a
you to copy and paste an API key from your user profile.
- For Posit Cloud, login, then click your name in the top-right corner,
click “Account”, then click “Tokens” in the navbar at the top of the
page. Click “New Token”, then “Copy” next to the token you just
created, and then follow the instructions to copy and paste the
appropriate call to `setAccountInfo()`.
Now that you’re setup you can use `deployApp()`, `deployDoc()`, and
friends to publish your apps, documentations, APIs and more.
rsconnect/man/ 0000755 0001762 0000144 00000000000 14536333553 013035 5 ustar ligges users rsconnect/man/rsconnect-package.Rd 0000644 0001762 0000144 00000002006 14513230050 016670 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/rsconnect-package.R
\docType{package}
\name{rsconnect-package}
\alias{rsconnect}
\alias{rsconnect-package}
\title{rsconnect: Deploy Docs, Apps, and APIs to 'Posit Connect', 'shinyapps.io', and 'RPubs'}
\description{
\if{html}{\figure{logo.png}{options: style='float: right' alt='logo' width='120'}}
Programmatic deployment interface for 'RPubs', 'shinyapps.io', and 'Posit Connect'. Supported content types include R Markdown documents, Shiny applications, Plumber APIs, plots, and static web content.
}
\seealso{
Useful links:
\itemize{
\item \url{https://github.com/rstudio/rsconnect}
\item Report bugs at \url{https://github.com/rstudio/rsconnect/issues}
}
}
\author{
\strong{Maintainer}: Aron Atkins \email{aron@posit.co}
Authors:
\itemize{
\item Toph Allen
\item Hadley Wickham
\item Jonathan McPherson
\item JJ Allaire
}
Other contributors:
\itemize{
\item Posit Software, PBC [copyright holder, funder]
}
}
\keyword{internal}
rsconnect/man/rsconnectPackages.Rd 0000644 0001762 0000144 00000000425 14513230050 016741 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/rsconnect-package.R
\name{rsconnectPackages}
\alias{rsconnectPackages}
\title{Using Packages with rsconnect}
\description{
See ?\code{\link[=appDependencies]{appDependencies()}}
}
\keyword{internal}
rsconnect/man/applicationConfigDir.Rd 0000644 0001762 0000144 00000000744 14435652570 017422 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/config.R
\name{applicationConfigDir}
\alias{applicationConfigDir}
\title{Application Configuration Directory}
\usage{
applicationConfigDir()
}
\value{
A string containing the path of the configuration folder.
}
\description{
Returns the root path used to store per user configuration data. Does not
check old locations or create the path; use \code{rsconnectConfigDir} for
most cases.
}
\keyword{internal}
rsconnect/man/addConnectServer.Rd 0000644 0001762 0000144 00000001677 14513230050 016547 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/servers-deprec.R
\name{addConnectServer}
\alias{addConnectServer}
\title{Add a server}
\usage{
addConnectServer(url, name = NULL, certificate = NULL, quiet = FALSE)
}
\arguments{
\item{url}{URL for the server. Can be a bare hostname like
\code{connect.mycompany.com} or a url like \verb{http://posit.mycompany.com/connect}.}
\item{name}{Server name. If omitted, the server hostname is used.}
\item{certificate}{Optional. Either a path to certificate file or a
character vector containing the certificate's contents.}
\item{quiet}{Suppress output and prompts where possible.}
}
\description{
\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#deprecated}{\figure{lifecycle-deprecated.svg}{options: alt='[Deprecated]'}}}{\strong{[Deprecated]}}
This function does the same thing as \code{\link[=addServer]{addServer()}} so has been removed.
}
\keyword{internal}
rsconnect/man/purgeApp.Rd 0000644 0001762 0000144 00000001705 14435652570 015113 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/purgeApp.R
\name{purgeApp}
\alias{purgeApp}
\title{Purge an Application}
\usage{
purgeApp(appName, account = NULL, server = NULL, quiet = FALSE)
}
\arguments{
\item{appName}{Name of application to purge}
\item{account}{Account name. If a single account is registered on the system
then this parameter can be omitted.}
\item{server}{Server name. Required only if you use the same account name on
multiple servers (see \code{\link[=servers]{servers()}})}
\item{quiet}{Request that no status information be printed to the console
during the termination.}
}
\description{
Purge a currently archived ShinyApps application.
}
\note{
This function only works for ShinyApps servers.
}
\examples{
\dontrun{
# purge an application
purgeApp("myapp")
}
}
\seealso{
\code{\link[=applications]{applications()}}, \code{\link[=deployApp]{deployApp()}}, and
\code{\link[=restartApp]{restartApp()}}
}
rsconnect/man/addAuthorizedUser.Rd 0000644 0001762 0000144 00000002450 14513230050 016732 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/auth.R
\name{addAuthorizedUser}
\alias{addAuthorizedUser}
\title{Add authorized user to application}
\usage{
addAuthorizedUser(
email,
appDir = getwd(),
appName = NULL,
account = NULL,
server = NULL,
sendEmail = NULL,
emailMessage = NULL
)
}
\arguments{
\item{email}{Email address of user to add.}
\item{appDir}{Directory containing application. Defaults to
current working directory.}
\item{appName}{Name of application.}
\item{account, server}{Uniquely identify a remote server with either your
user \code{account}, the \code{server} name, or both. If neither are supplied, and
there are multiple options, you'll be prompted to pick one.
Use \code{\link[=accounts]{accounts()}} to see the full list of available options.}
\item{sendEmail}{Send an email letting the user know the application
has been shared with them.}
\item{emailMessage}{Optional character vector of length 1 containing a
custom message to send in email invitation. Defaults to NULL, which
will use default invitation message.}
}
\description{
Add authorized user to application
}
\note{
This function works only for ShinyApps servers.
}
\seealso{
\code{\link[=removeAuthorizedUser]{removeAuthorizedUser()}} and \code{\link[=showUsers]{showUsers()}}
}
rsconnect/man/configureApp.Rd 0000644 0001762 0000144 00000003020 14513230050 015720 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/configureApp.R
\name{configureApp}
\alias{configureApp}
\title{Configure an Application}
\usage{
configureApp(
appName,
appDir = getwd(),
account = NULL,
server = NULL,
redeploy = TRUE,
size = NULL,
instances = NULL,
logLevel = c("normal", "quiet", "verbose")
)
}
\arguments{
\item{appName}{Name of application to configure}
\item{appDir}{Directory containing application. Defaults to
current working directory.}
\item{account, server}{Uniquely identify a remote server with either your
user \code{account}, the \code{server} name, or both. If neither are supplied, and
there are multiple options, you'll be prompted to pick one.
Use \code{\link[=accounts]{accounts()}} to see the full list of available options.}
\item{redeploy}{Re-deploy application after its been configured.}
\item{size}{Configure application instance size}
\item{instances}{Configure number of application instances}
\item{logLevel}{One of \code{"quiet"}, \code{"normal"} or \code{"verbose"}; indicates how
much logging to the console is to be performed. At \code{"quiet"} reports no
information; at \code{"verbose"}, a full diagnostic log is captured.}
}
\description{
Configure an application running on a remote server.
}
\note{
This function works only for ShinyApps servers.
}
\examples{
\dontrun{
# set instance size for an application
configureApp("myapp", size="xlarge")
}
}
\seealso{
\code{\link[=applications]{applications()}}, \code{\link[=deployApp]{deployApp()}}
}
rsconnect/man/syncAppMetadata.Rd 0000644 0001762 0000144 00000001007 14513230050 016357 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/applications.R
\name{syncAppMetadata}
\alias{syncAppMetadata}
\title{Update deployment records}
\usage{
syncAppMetadata(appPath = ".")
}
\arguments{
\item{appPath}{The path to the directory or file that was deployed.}
}
\description{
Update the deployment records for applications published to Posit Connect.
This updates application title and URL, and deletes records for deployments
where the application has been deleted on the server.
}
rsconnect/man/deployTFModel.Rd 0000644 0001762 0000144 00000001534 14513230050 016015 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/deployTFModel.R
\name{deployTFModel}
\alias{deployTFModel}
\title{Deploy a TensorFlow saved model}
\usage{
deployTFModel(modelDir, ...)
}
\arguments{
\item{modelDir}{Path to the saved model directory. Unused.}
\item{...}{Unused.}
}
\description{
This function is defunct. Posit Connect no longer supports hosting of
TensorFlow Model APIs. A TensorFlow model can be deployed as a
\href{https://tensorflow.rstudio.com/guides/deploy/plumber.html}{Plumber API},
\href{https://tensorflow.rstudio.com/guides/deploy/shiny}{Shiny application}, or
other supported content type.
}
\seealso{
Other Deployment functions:
\code{\link{applications}()},
\code{\link{deployAPI}()},
\code{\link{deployApp}()},
\code{\link{deployDoc}()},
\code{\link{deploySite}()}
}
\concept{Deployment functions}
rsconnect/man/generateAppName.Rd 0000644 0001762 0000144 00000002620 14513230050 016337 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/title.R
\name{generateAppName}
\alias{generateAppName}
\title{Generate Application Name}
\usage{
generateAppName(appTitle, appPath = NULL, account = NULL, unique = TRUE)
}
\arguments{
\item{appTitle}{A descriptive title for the application.}
\item{appPath}{The path to the application's content, either a directory
or an individual document. Optional.}
\item{account}{The account where the application will be deployed. Optional.}
\item{unique}{Whether to try to generate a unique name.}
}
\value{
Returns a valid short name for the application.
}
\description{
Generate a short name (identifier) for an application given an application
title.
}
\details{
This function modifies the title until it forms a suitable application name.
Suitable application names are 3 - 64 characters long and contain only
alphanumeric characters.
The function is intended to be used to find a name for a new application.
If \code{appPath} and \code{account} are both specified, then the returned
name will also be unique among locally known deployments of the directory
(note that it is not guaranteed to be unique on the server). This behavior
can be disabled by setting \code{unique = FALSE}.
}
\examples{
\dontrun{
# Generate a short name for a sample application
generateAppName("My Father's Country", "~/fathers-country", "myacct")
}
}
\keyword{internal}
rsconnect/man/servers.Rd 0000644 0001762 0000144 00000001603 14513230050 014774 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/servers.R
\name{servers}
\alias{servers}
\alias{serverInfo}
\title{Server metadata}
\usage{
servers(local = FALSE)
serverInfo(name = NULL)
}
\arguments{
\item{local}{Return only local servers? (i.e. not automatically registered
cloud servers)}
\item{name}{Server name. If omitted, you'll be prompted to pick a server.}
}
\value{
\code{servers()} returns a data frame with registered server names and URLs.
\code{serverInfo()} returns a list with details for a particular server.
}
\description{
\code{servers()} lists all known servers; \code{serverInfo()} gets metadata about
a specific server. Cloud servers \code{shinyapps.io} and \code{posit.cloud} are always
automatically registered and available.
}
\examples{
# List all registered servers
servers()
# Get information about a server
serverInfo("posit.cloud")
}
rsconnect/man/addServer.Rd 0000644 0001762 0000144 00000002674 14513230050 015233 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/servers.R
\name{addServer}
\alias{addServer}
\alias{removeServer}
\alias{addServerCertificate}
\title{Server management}
\usage{
addServer(url, name = NULL, certificate = NULL, validate = TRUE, quiet = FALSE)
removeServer(name = NULL)
addServerCertificate(name, certificate, quiet = FALSE)
}
\arguments{
\item{url}{URL for the server. Can be a bare hostname like
\code{connect.mycompany.com} or a url like \verb{http://posit.mycompany.com/connect}.}
\item{name}{Server name. If omitted, the server hostname is used.}
\item{certificate}{Optional. Either a path to certificate file or a
character vector containing the certificate's contents.}
\item{validate}{Validate that \code{url} actually points to a Posit Connect
server?}
\item{quiet}{Suppress output and prompts where possible.}
}
\description{
These functions manage the list of known servers:
\itemize{
\item \code{addServer()} registers a Posit connect server. Once it has been
registered, you can connect to an account on the server using
\code{\link[=connectUser]{connectUser()}}.
\item \code{removeServer()} removes a server from the registry.
\item \code{addServerCertificate()} adds a certificate to a server.
}
}
\examples{
\dontrun{
# register a local server
addServer("http://myrsconnect/", "myserver")
# list servers
servers(local = TRUE)
# connect to an account on the server
connectUser(server = "myserver")
}
}
rsconnect/man/showInvited.Rd 0000644 0001762 0000144 00000001627 14513230050 015614 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/auth.R
\name{showInvited}
\alias{showInvited}
\title{List invited users for an application}
\usage{
showInvited(appDir = getwd(), appName = NULL, account = NULL, server = NULL)
}
\arguments{
\item{appDir}{Directory containing application. Defaults to
current working directory.}
\item{appName}{Name of application.}
\item{account, server}{Uniquely identify a remote server with either your
user \code{account}, the \code{server} name, or both. If neither are supplied, and
there are multiple options, you'll be prompted to pick one.
Use \code{\link[=accounts]{accounts()}} to see the full list of available options.}
}
\description{
List invited users for an application
}
\note{
This function works only for ShinyApps servers.
}
\seealso{
\code{\link[=addAuthorizedUser]{addAuthorizedUser()}} and \code{\link[=showUsers]{showUsers()}}
}
rsconnect/man/removeAuthorizedUser.Rd 0000644 0001762 0000144 00000002014 14513230050 017473 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/auth.R
\name{removeAuthorizedUser}
\alias{removeAuthorizedUser}
\title{Remove authorized user from an application}
\usage{
removeAuthorizedUser(
user,
appDir = getwd(),
appName = NULL,
account = NULL,
server = NULL
)
}
\arguments{
\item{user}{The user to remove. Can be id or email address.}
\item{appDir}{Directory containing application. Defaults to
current working directory.}
\item{appName}{Name of application.}
\item{account, server}{Uniquely identify a remote server with either your
user \code{account}, the \code{server} name, or both. If neither are supplied, and
there are multiple options, you'll be prompted to pick one.
Use \code{\link[=accounts]{accounts()}} to see the full list of available options.}
}
\description{
Remove authorized user from an application
}
\note{
This function works only for ShinyApps servers.
}
\seealso{
\code{\link[=addAuthorizedUser]{addAuthorizedUser()}} and \code{\link[=showUsers]{showUsers()}}
}
rsconnect/man/unsetProperty.Rd 0000644 0001762 0000144 00000002155 14513230050 016211 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/configureApp.R
\name{unsetProperty}
\alias{unsetProperty}
\title{Unset Application property}
\usage{
unsetProperty(
propertyName,
appPath = getwd(),
appName = NULL,
account = NULL,
server = NULL,
force = FALSE
)
}
\arguments{
\item{propertyName}{Name of property}
\item{appPath}{Directory or file that was deployed. Defaults to current
working directory.}
\item{appName}{Name of application}
\item{account, server}{Uniquely identify a remote server with either your
user \code{account}, the \code{server} name, or both. If neither are supplied, and
there are multiple options, you'll be prompted to pick one.
Use \code{\link[=accounts]{accounts()}} to see the full list of available options.}
\item{force}{Forcibly unset the property}
}
\description{
Unset a property on currently deployed ShinyApps application (restoring to
its default value)
}
\note{
This function only works for ShinyApps servers.
}
\examples{
\dontrun{
# unset application package cache property to revert to default
unsetProperty("application.package.cache")
}
}
rsconnect/man/discoverServers.Rd 0000644 0001762 0000144 00000000751 14513230050 016476 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/servers-deprec.R
\name{discoverServers}
\alias{discoverServers}
\title{Discover servers automatically}
\usage{
discoverServers(quiet = FALSE)
}
\description{
\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#deprecated}{\figure{lifecycle-deprecated.svg}{options: alt='[Deprecated]'}}}{\strong{[Deprecated]}}
This function has never worked usefully, so has been removed.
}
\keyword{internal}
rsconnect/man/deployAPI.Rd 0000644 0001762 0000144 00000002021 14435652570 015146 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/deployAPI.R
\name{deployAPI}
\alias{deployAPI}
\title{Deploy a Plumber API}
\usage{
deployAPI(api, ...)
}
\arguments{
\item{api}{Path to the API project directory. Must contain either
\code{entrypoint.R} or \code{plumber.R}}
\item{...}{Additional arguments to \code{\link[=deployApp]{deployApp()}}.}
}
\description{
Deploys an application consisting of plumber API routes. The given directory
must contain a script returning a \code{plumb} object or a plumber API definition.
}
\details{
Deploy a plumber API definition by either supplying a directory
containing \code{plumber.R} (an API definition) or \code{entrypoint.R} that returns a
\code{plumb} object created by \code{plumber::plumb()}. See the plumber documentation
for more information.
}
\seealso{
Other Deployment functions:
\code{\link{applications}()},
\code{\link{deployApp}()},
\code{\link{deployDoc}()},
\code{\link{deploySite}()},
\code{\link{deployTFModel}()}
}
\concept{Deployment functions}
rsconnect/man/rsconnectConfigDir.Rd 0000644 0001762 0000144 00000001002 14435652570 017101 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/config.R
\name{rsconnectConfigDir}
\alias{rsconnectConfigDir}
\title{rsconnect Configuration Directory}
\usage{
rsconnectConfigDir(subDir = NULL)
}
\arguments{
\item{subDir}{An optional subdirectory to be included as the last element of
the path.}
}
\value{
The path to the configuration directory.
}
\description{
Forms the path to a location on disk where user-level configuration data for
the package is stored.
}
\keyword{internal}
rsconnect/man/setProperty.Rd 0000644 0001762 0000144 00000002267 14513230050 015652 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/configureApp.R
\name{setProperty}
\alias{setProperty}
\title{Set Application property}
\usage{
setProperty(
propertyName,
propertyValue,
appPath = getwd(),
appName = NULL,
account = NULL,
server = NULL,
force = FALSE
)
}
\arguments{
\item{propertyName}{Name of property}
\item{propertyValue}{Property value}
\item{appPath}{Directory or file that was deployed. Defaults to current
working directory.}
\item{appName}{Name of application}
\item{account, server}{Uniquely identify a remote server with either your
user \code{account}, the \code{server} name, or both. If neither are supplied, and
there are multiple options, you'll be prompted to pick one.
Use \code{\link[=accounts]{accounts()}} to see the full list of available options.}
\item{force}{Forcibly set the property}
}
\description{
Set a property on currently deployed ShinyApps application.
}
\note{
This function only works for ShinyApps servers.
}
\examples{
\dontrun{
# set instance size for an application
setProperty("application.instances.count", 1)
# disable application package cache
setProperty("application.package.cache", FALSE)
}
}
rsconnect/man/listAccountEnvVars.Rd 0000644 0001762 0000144 00000003003 14513230050 017074 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/envvars.R
\name{listAccountEnvVars}
\alias{listAccountEnvVars}
\alias{updateAccountEnvVars}
\title{Maintain environment variables across multiple applications}
\usage{
listAccountEnvVars(server = NULL, account = NULL)
updateAccountEnvVars(envVars, server = NULL, account = NULL)
}
\arguments{
\item{account, server}{Uniquely identify a remote server with either your
user \code{account}, the \code{server} name, or both. If neither are supplied, and
there are multiple options, you'll be prompted to pick one.
Use \code{\link[=accounts]{accounts()}} to see the full list of available options.}
\item{envVars}{Names of environment variables to update. Their
values will be automatically retrieved from the current process.
If you specify multiple environment variables, any application that
uses any of them will be updated with all of them.}
}
\value{
\code{listAccountEnvVars()} returns a data frame with one row
for each data frame. It has variables \code{id}, \code{guid}, \code{name}, and
\code{envVars}. \code{envVars} is a list-column.
}
\description{
\itemize{
\item \code{listAccountEnvVars()} lists the environment variables used by
every application published to the specified account.
\item \code{updateAccountEnvVars()} updates the specified environment variables with
their current values for every app that uses them.
}
Secure environment variable are currently only supported by Posit Connect
so other server types will generate an error.
}
rsconnect/man/applications.Rd 0000644 0001762 0000144 00000003601 14513230050 015771 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/applications.R
\name{applications}
\alias{applications}
\title{List Deployed Applications}
\usage{
applications(account = NULL, server = NULL)
}
\arguments{
\item{account, server}{Uniquely identify a remote server with either your
user \code{account}, the \code{server} name, or both. If neither are supplied, and
there are multiple options, you'll be prompted to pick one.
Use \code{\link[=accounts]{accounts()}} to see the full list of available options.}
}
\value{
Returns a data frame with the following columns:
\tabular{ll}{
\code{id} \tab Application unique id \cr
\code{name} \tab Name of application \cr
\code{title} \tab Application title \cr
\code{url} \tab URL where application can be accessed \cr
\code{status} \tab Current status of application. Valid values are \code{pending},
\code{deploying}, \code{running}, \code{terminating}, and \code{terminated} \cr
\code{size} \tab Instance size (small, medium, large, etc.) (on
ShinyApps.io) \cr
\code{instances} \tab Number of instances (on ShinyApps.io) \cr
\code{config_url} \tab URL where application can be configured \cr
}
}
\description{
List all applications currently deployed for a given account.
}
\note{
To register an account you call the \code{\link[=setAccountInfo]{setAccountInfo()}} function.
}
\examples{
\dontrun{
# list all applications for the default account
applications()
# list all applications for a specific account
applications("myaccount")
# view the list of applications in the data viewer
View(applications())
}
}
\seealso{
\code{\link[=deployApp]{deployApp()}}, \code{\link[=terminateApp]{terminateApp()}}
Other Deployment functions:
\code{\link{deployAPI}()},
\code{\link{deployApp}()},
\code{\link{deployDoc}()},
\code{\link{deploySite}()},
\code{\link{deployTFModel}()}
}
\concept{Deployment functions}
rsconnect/man/addLinter.Rd 0000644 0001762 0000144 00000003216 14513230050 015213 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/lint-framework.R, R/linters.R
\name{addLinter}
\alias{addLinter}
\title{Add a Linter}
\usage{
addLinter(name, linter)
addLinter(name, linter)
}
\arguments{
\item{name}{The name of the linter, as a string.}
\item{linter}{A \code{\link[=linter]{linter()}}.}
}
\description{
Add a linter, to be used in subsequent calls to \code{\link[=lint]{lint()}}.
Add a linter, to be used in subsequent calls to \code{\link[=lint]{lint()}}.
}
\examples{
addLinter("no.capitals", linter(
## Identify lines containing capital letters -- either by name or by index
apply = function(content, ...) {
grep("[A-Z]", content)
},
## Only use this linter on R files (paths ending with .r or .R)
takes = function(paths) {
grep("[rR]$", paths)
},
# Use the default message constructor
message = function(content, lines, ...) {
makeLinterMessage("Capital letters found on the following lines", content, lines)
},
# Give a suggested prescription
suggest = "Do not use capital letters in these documents."
))
addLinter("no.capitals", linter(
## Identify lines containing capital letters -- either by name or by index
apply = function(content, ...) {
grep("[A-Z]", content)
},
## Only use this linter on R files (paths ending with .r or .R)
takes = function(paths) {
grep("[rR]$", paths)
},
# Use the default message constructor
message = function(content, lines, ...) {
makeLinterMessage("Capital letters found on the following lines", content, lines)
},
# Give a suggested prescription
suggest = "Do not use capital letters in these documents."
))
}
rsconnect/man/lint.Rd 0000644 0001762 0000144 00000001220 14513230050 014244 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/lint.R
\name{lint}
\alias{lint}
\title{Lint a Project}
\usage{
lint(project, files = NULL, appPrimaryDoc = NULL)
}
\arguments{
\item{project}{Path to a project directory.}
\item{files}{Specific files to lint. Can be NULL, in which case all
the files in the directory will be linted.}
\item{appPrimaryDoc}{The primary file in the project directory. Can be NULL,
in which case it's inferred (if possible) from the directory contents.}
}
\description{
Takes the set of active linters (see \code{\link[=addLinter]{addLinter()}}), and applies
them to all files within a project.
}
rsconnect/man/showUsage.Rd 0000644 0001762 0000144 00000002451 14513230050 015252 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/usage.R
\name{showUsage}
\alias{showUsage}
\title{Show Application Usage}
\usage{
showUsage(
appDir = getwd(),
appName = NULL,
account = NULL,
server = NULL,
usageType = "hours",
from = NULL,
until = NULL,
interval = NULL
)
}
\arguments{
\item{appDir}{Directory containing application. Defaults to
current working directory.}
\item{appName}{Name of application}
\item{account, server}{Uniquely identify a remote server with either your
user \code{account}, the \code{server} name, or both. If neither are supplied, and
there are multiple options, you'll be prompted to pick one.
Use \code{\link[=accounts]{accounts()}} to see the full list of available options.}
\item{usageType}{Use metric to retreive (for example: "hours")}
\item{from}{Date range starting timestamp (Unix timestamp or relative time
delta such as "2d" or "3w").}
\item{until}{Date range ending timestamp (Unix timestamp or relative time
delta such as "2d" or "3w").}
\item{interval}{Summarization interval. Data points at intervals less then this
will be grouped. (Relative time delta e.g. "120s" or "1h" or "30d").}
}
\description{
Show application usage of a currently deployed application
}
\note{
This function only works for ShinyApps servers.
}
rsconnect/man/connectApiUser.Rd 0000644 0001762 0000144 00000002770 14513230050 016233 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/accounts.R
\name{connectApiUser}
\alias{connectApiUser}
\alias{connectUser}
\title{Register account on Posit Connect}
\usage{
connectApiUser(account = NULL, server = NULL, apiKey, quiet = FALSE)
connectUser(
account = NULL,
server = NULL,
quiet = FALSE,
launch.browser = getOption("rsconnect.launch.browser", interactive())
)
}
\arguments{
\item{account}{A name for the account to connect.}
\item{server}{The server to connect to.}
\item{apiKey}{The API key used to authenticate the user}
\item{quiet}{Whether or not to show messages and prompts while connecting the
account.}
\item{launch.browser}{If true, the system's default web browser will be
launched automatically after the app is started. Defaults to \code{TRUE} in
interactive sessions only. If a function is passed, it will be called
after the app is started, with the app URL as a parameter.}
}
\description{
\code{connectUser()} and \code{connectApiUser()} connect your Posit Connect account to
the rsconnect package so that it can deploy and manage applications on
your behalf.
\code{connectUser()} is the easiest place to start because it allows you to
authenticate in-browser to your Posit Connect server. \code{connectApiUser()} is
appropriate for non-interactive settings; you'll need to copy-and-paste the
API key from your account settings.
}
\seealso{
Other Account functions:
\code{\link{accounts}()},
\code{\link{setAccountInfo}()}
}
\concept{Account functions}
rsconnect/man/deployDoc.Rd 0000644 0001762 0000144 00000003350 14513230050 015226 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/deployDoc.R
\name{deployDoc}
\alias{deployDoc}
\title{Deploy a single document}
\usage{
deployDoc(doc, ..., logLevel = c("normal", "quiet", "verbose"))
}
\arguments{
\item{doc}{Path to the document to deploy.}
\item{...}{Additional arguments to \code{\link[=deployApp]{deployApp()}}. Do not supply \code{appDir},
\code{appFiles}, or \code{appPrimaryDoc}; these three parameters are automatically
generated by \code{deployDoc} from the document.}
\item{logLevel}{One of \code{"quiet"}, \code{"normal"} or \code{"verbose"}; indicates how
much logging to the console is to be performed. At \code{"quiet"} reports no
information; at \code{"verbose"}, a full diagnostic log is captured.}
}
\description{
Deploys a single R Markdown, Quarto document, or other file (e.g. \code{.html} or
\code{.pdf}).
When deploying an \code{.Rmd}, \code{.Qmd}, or \code{.html}, \code{deployDoc()} will attempt to
automatically discover dependencies using \code{\link[rmarkdown:find_external_resources]{rmarkdown::find_external_resources()}},
and include an \code{.Rprofile} if present. If you find that the document is
missing dependencies, either specify the dependencies explicitly in the
document (see \code{\link[rmarkdown:find_external_resources]{rmarkdown::find_external_resources()}} for details), or call
\code{\link[=deployApp]{deployApp()}} directly and specify your own file list in \code{appFiles}.
}
\examples{
\dontrun{
deployDoc("my-report.Rmd")
deployDoc("static-file.html")
}
}
\seealso{
Other Deployment functions:
\code{\link{applications}()},
\code{\link{deployAPI}()},
\code{\link{deployApp}()},
\code{\link{deploySite}()},
\code{\link{deployTFModel}()}
}
\concept{Deployment functions}
rsconnect/man/tasks.Rd 0000644 0001762 0000144 00000001621 14513230050 014430 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/tasks.R
\name{tasks}
\alias{tasks}
\title{List Tasks}
\usage{
tasks(account = NULL, server = NULL)
}
\arguments{
\item{account, server}{Uniquely identify a remote server with either your
user \code{account}, the \code{server} name, or both. If neither are supplied, and
there are multiple options, you'll be prompted to pick one.
Use \code{\link[=accounts]{accounts()}} to see the full list of available options.}
}
\value{
Returns a data frame with the following columns:
\tabular{ll}{
\code{id} \tab Task id \cr
\code{action} \tab Task action\cr
\code{status} \tab Current task status\cr
\code{created_time} \tab Task creation time\cr
\code{finished_time} \tab Task finished time\cr
}
}
\description{
List Tasks
}
\examples{
\dontrun{
# list tasks for the default account
tasks()
}
}
\seealso{
\code{\link[=taskLog]{taskLog()}}
}
rsconnect/man/writeManifest.Rd 0000644 0001762 0000144 00000011721 14513230050 016126 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/writeManifest.R
\name{writeManifest}
\alias{writeManifest}
\title{Create a \code{manifest.json}}
\usage{
writeManifest(
appDir = getwd(),
appFiles = NULL,
appFileManifest = NULL,
appPrimaryDoc = NULL,
appMode = NULL,
contentCategory = NULL,
python = NULL,
forceGeneratePythonEnvironment = FALSE,
quarto = NA,
image = NULL,
envManagement = NULL,
envManagementR = NULL,
envManagementPy = NULL,
verbose = FALSE,
quiet = FALSE
)
}
\arguments{
\item{appDir}{A directory containing an application (e.g. a Shiny app
or plumber API). Defaults to the current directory.}
\item{appFiles, appFileManifest}{Use \code{appFiles} to specify a
character vector of files to bundle in the app or \code{appManifestFiles}
to provide a path to a file containing a list of such files. If neither
are supplied, will bundle all files in \code{appDir}, apart from standard
exclusions and files listed in a \code{.rscignore} file. See
\code{\link[=listDeploymentFiles]{listDeploymentFiles()}} for more details.}
\item{appPrimaryDoc}{If the application contains more than one document, this
parameter indicates the primary one, as a path relative to \code{appDir}. Can be
\code{NULL}, in which case the primary document is inferred from the contents
being deployed.}
\item{appMode}{Optional; the type of content being deployed.
Provide this option when the inferred type of content is incorrect. This
can happen, for example, when static HTML content includes a downloadable
Shiny application \code{app.R}. Accepted values include \code{"shiny"}, \code{"api"},
\code{"rmd-static"}, \code{"rmd-shiny"}, \code{"quarto-static"}, \code{"quarto-shiny"}, and
\code{"static"}. The Posit Connect API Reference contains a full set of
available values. Not all servers support all types of content.}
\item{contentCategory}{Set this to \code{"site"} if you'd deploy with
\code{\link[=deploySite]{deploySite()}}; otherwise leave as is.}
\item{python}{Full path to a python binary for use by \code{reticulate}.
Required if \code{reticulate} is a dependency of the app being deployed.
If python = NULL, and RETICULATE_PYTHON or RETICULATE_PYTHON_FALLBACK is
set in the environment, its value will be used. The specified python binary
will be invoked to determine its version and to list the python packages
installed in the environment.}
\item{forceGeneratePythonEnvironment}{Optional. If an existing
\code{requirements.txt} file is found, it will be overwritten when this argument
is \code{TRUE}.}
\item{quarto}{Should the deployed content be built by quarto?
(\code{TRUE}, \code{FALSE}, or \code{NA}). The default, \code{NA}, will use quarto if
there are \code{.qmd} files in the bundle, or if there is a
\verb{_quarto.yml} and \code{.Rmd} files.
(This option is ignored and quarto will always be used if the
\code{metadata} contains \code{quarto_version} and \code{quarto_engines} fields.)}
\item{image}{Optional. The name of the image to use when building and
executing this content. If none is provided, Posit Connect will
attempt to choose an image based on the content requirements.}
\item{envManagement}{Optional. Should Posit Connect install R and Python
packages for this content? (\code{TRUE}, \code{FALSE}, or \code{NULL}).
The default, \code{NULL}, will not write any values to the bundle manifest,
and Connect will fall back to the application default environment
management strategy, or the server default if no application default
is defined.
(This option is a shorthand flag which overwrites the values of both
\code{envManagementR} and \code{envManagementPy}.)}
\item{envManagementR}{Optional. Should Posit Connect install R packages
for this content? (\code{TRUE}, \code{FALSE}, or \code{NULL}). The default, \code{NULL}, will
not write any values to the bundle manifest, and Connect will fall back to
the application default R environment management strategy, or the server
default if no application default is defined.
(This option is ignored when \code{envManagement} is non-\code{NULL}.)}
\item{envManagementPy}{Optional. Should Posit Connect install Python packages
for this content? (\code{TRUE}, \code{FALSE}, or \code{NULL}). The default, \code{NULL}, will
not write any values to the bundle manifest, and Connect will fall back to
the application default Python environment management strategy, or the
server default if no application default is defined.
(This option is ignored when \code{envManagement} is non-\code{NULL}.)}
\item{verbose}{If \code{TRUE}, prints detailed progress messages.}
\item{quiet}{If \code{FALSE}, prints progress messages.}
}
\description{
Use \code{writeManifest()} to generate a \code{manifest.json}. Among other things,
you can commit this file to git to activate
\href{https://docs.posit.co/connect/user/git-backed/}{Git-Backed content}
for Posit Connect.
\code{manifest.json} contains a list of all files in the app along with their
dependencies, so you will need to re-run \code{writeManifest()} when either of
these change.
}
rsconnect/man/taskLog.Rd 0000644 0001762 0000144 00000001536 14513230050 014714 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/tasks.R
\name{taskLog}
\alias{taskLog}
\title{Show task log}
\usage{
taskLog(taskId, account = NULL, server = NULL, output = NULL)
}
\arguments{
\item{taskId}{Task Id}
\item{account, server}{Uniquely identify a remote server with either your
user \code{account}, the \code{server} name, or both. If neither are supplied, and
there are multiple options, you'll be prompted to pick one.
Use \code{\link[=accounts]{accounts()}} to see the full list of available options.}
\item{output}{Where to write output. Valid values are \code{NULL} or \code{stderr}}
}
\description{
Writes the task log for the given task
}
\examples{
\dontrun{
# write task log to stdout
taskLog(12345)
# write task log to stderr
taskLog(12345, output="stderr")
}
}
\seealso{
\code{\link[=tasks]{tasks()}}
}
rsconnect/man/linter.Rd 0000644 0001762 0000144 00000004050 14513230050 014577 0 ustar ligges users % Generated by roxygen2: do not edit by hand
% Please edit documentation in R/lint-framework.R, R/linters.R
\name{linter}
\alias{linter}
\title{Create a Linter}
\usage{
linter(apply, takes, message, suggestion)
linter(apply, takes, message, suggestion)
}
\arguments{
\item{apply}{Function that, given the content of a file, returns the indices
at which problems were found.}
\item{takes}{Function that, given a set of paths, returns the subset of
paths that this linter uses.}
\item{message}{Function that, given content and lines, returns an
informative message for the user. Typically generated with
\code{\link[=makeLinterMessage]{makeLinterMessage()}}.}
\item{suggestion}{String giving a prescribed fix for the linted problem.}
}
\description{
Generate a linter, which can identify errors or problematic regions in a
project.
Generate a linter, which can identify errors or problematic regions in a
project.
}
\examples{
addLinter("no.capitals", linter(
## Identify lines containing capital letters -- either by name or by index
apply = function(content, ...) {
grep("[A-Z]", content)
},
## Only use this linter on R files (paths ending with .r or .R)
takes = function(paths) {
grep("[rR]$", paths)
},
# Use the default message constructor
message = function(content, lines, ...) {
makeLinterMessage("Capital letters found on the following lines", content, lines)
},
# Give a suggested prescription
suggest = "Do not use capital letters in these documents."
))
addLinter("no.capitals", linter(
## Identify lines containing capital letters -- either by name or by index
apply = function(content, ...) {
grep("[A-Z]", content)
},
## Only use this linter on R files (paths ending with .r or .R)
takes = function(paths) {
grep("[rR]$", paths)
},
# Use the default message constructor
message = function(content, lines, ...) {
makeLinterMessage("Capital letters found on the following lines", content, lines)
},
# Give a suggested prescription
suggest = "Do not use capital letters in these documents."
))
}
rsconnect/man/figures/ 0000755 0001762 0000144 00000000000 14513230050 014460 5 ustar ligges users rsconnect/man/figures/lifecycle-defunct.svg 0000644 0001762 0000144 00000002424 14513230050 020570 0 ustar ligges users
rsconnect/man/figures/lifecycle-maturing.svg 0000644 0001762 0000144 00000002430 14513230050 020763 0 ustar ligges users
rsconnect/man/figures/logo.png 0000644 0001762 0000144 00000057463 14435652570 016167 0 ustar ligges users PNG
IHDR ! gAMA a cHRM z&