Posit Connect
Posit Connect is a publishing platform for the work your teams create in R and Python. Share Shiny applications, R Markdown reports, Plumber Application Programming Interfaces (APIs), dashboards, plots, Jupyter Notebooks, and more in one convenient place. To learn more, visit the Posit Connect Product Page and contact your Posit Customer Success Representative.
For the latest information on integrating Posit Package Manager with Connect, see the Integration with Posit Package Manager section of the Connect admin guide.
If you want to configure Connect to install packages from an authenticated repository, see Authenticated Repositories below.
Integrating Connect with Package Manager for Python
Connect installs Python packages on the server using pip or uv, so you point Connect at Package Manager through standard Python tooling configuration rather than a Connect setting. Configure the index URL once on the Connect server, and all content installs from Package Manager.
The Python package source is not a Connect configuration setting. Connect reads the standard uv and pip configuration files on the server. For Connect-side options, including the [PythonPackageRepository] section, see the Python package management section of the Connect admin guide.
Use the PyPI repository URL from the Package Manager Setup UI, and replace packagemanager.example.com with your Package Manager server address.
For uv (the default installer in Connect), add the following to /etc/uv/uv.toml:
/etc/uv/uv.toml
[[index]]
url = "https://packagemanager.example.com/pypi/latest/simple"
default = trueFor pip, add the following to /etc/pip.conf:
/etc/pip.conf
[global]
index-url = https://packagemanager.example.com/pypi/latest/simpleTo install from a repository that requires authentication, see Authenticated repositories below.
Authenticated repositories
Connect 2026.05 introduced a dedicated Package Manager integration that authenticates to R and Python repositories through identity federation. When an administrator enables the integration, deployments automatically receive short-lived access tokens for the configured repositories, which avoids storing shared credentials on the server. In Connect 2026.05 and later, we recommend this integration over the netrc method described below. To set it up, see the Integration with Posit Package Manager section of the Connect admin guide.
The netrc instructions below remain the supported method for earlier Connect versions.
Getting a token
You can create a token to use for repository authentication using the rspm create token Command Line Interface (CLI) command. See Creating API Tokens for details.
Configure Connect for authenticated R repositories
If any of your R repositories require authentication, you can configure credentials for Connect by creating a netrc file. This method is widely supported and provides a secure way to access authenticated repositories in R.
Create a
netrcfile in a location that is accessible to theRunAsuser (typicallyrstudio-connect), such as/etc/netrc.Add the following content, replacing
[packagemanager.example.com]with your Package Manager server address and[your-token]with your actual token./etc/netrc
machine [packagemanager.example.com] login __token__ password [your-token]The machine field should not contain a protocol, port, or repository path. If your repository Uniform Resource Locator (URL) is
https://packagemanager.example.com/cran/__linux__/noble/latest, use packagemanager.example.com for the machine field.Create a
.curlrcfile in the home directory of the defaultRunAsuser, typically at/home/rstudio-connect/.curlrc. Add the following content:/home/rstudio-connect/.curlrc
--netrc-file /etc/netrc
Users should also configure credentials when deploying content by following the instructions in the Authenticated R Repositories section of the User Guide.
All deployed content can access the credentials stored in /etc/netrc. To mitigate this security risk, ensure that your API token restricts scopes to repos:read for the necessary repositories.
Configure Connect for authenticated Python repositories
Connect uses uv by default to install Python packages. You can configure credentials for Connect by creating a netrc file, which works with both uv and pip.
If any of your Python repositories require authentication, you can configure credentials for Connect by creating a netrc file. This method is widely supported and provides a secure way to access authenticated repositories in Python.
Create a
netrcfile in a location that is accessible to all users, such as/etc/netrc.Add the following content, replacing
[packagemanager.example.com]with your Package Manager server address and[your-token]with your actual token./etc/netrc
machine [packagemanager.example.com] login __token__ password [your-token]
The machine field should not contain a protocol, port, or repository path. If your repository URL is https://packagemanager.example.com/pypi/latest, use packagemanager.example.com for the machine field.
Set the
NETRC=/etc/netrcenvironment variable for the Connect server process. If the Connect service is managed by systemd, you can simply add the environment variable to/etc/default/rstudio-connect. If the file does not exist, create it./etc/default/rstudio-connect
NETRC=/etc/netrcConfigure the repository URL for Connect. Since Connect uses
uvby default, we recommend configuringuv. If you have legacy content that requirespip, you can configure both. You can check compatibility using Astral’s compatibility page.For uv (recommended), add the following lines to
/etc/uv/uv.toml, replacingpackagemanager.example.comwith your Package Manager server address:/etc/uv/uv.toml
[[index]] url = "https://packagemanager.example.com/pypi/latest/simple" default = trueFor pip (legacy content), add the following lines to
/etc/pip.conf:/etc/pip.conf
[global] timeout = 60 index-url = https://packagemanager.example.com/pypi/latest/simple trusted-host = packagemanager.example.comBoth
uvandpipwill automatically use the credentials from thenetrcfile when accessing authenticated repositories.
Users should also configure credentials when deploying content by following the instructions in the Authenticated Python Repositories section of the User Guide.
When deploying projects that use uv to manage dependencies, you must generate a requirements.txt file for Connect. See the Package Manager Setup User Interface (UI) for detailed instructions on using uv export to generate the requirements file with the correct index URL configuration.
All deployed content can access the credentials stored in /etc/netrc. To mitigate this security risk, ensure that your API token restricts scopes to repos:read for the necessary repositories.