user

CRAN (R) Feeds Come to ProGet!

Introduction

Alex Papadimoulis

Alex Papadimoulis


LATEST POSTS

ProGet Debian & Linux Feeds: A Feature Refresh 10th November, 2023

Self-hosted and User-friendly CI/CD with BuildMaster 08th March, 2023

Inedo

CRAN (R) Feeds Come to ProGet!

Posted on .

When you upgrade to ProGet 2023.23, you may notice that you can create CRAN Feeds along with the existing, extensive list of supported feeds. This new feed type was borne out of a feature request from our user community, and we’re happy to finally implement these in ProGet.

A CRAN feed is used for R packages, which are used primarily by data scientists. This new feed type will not only allow you to “proxy” packages from the central CRAN repository (while detecting vulnerabilities and licenses along the way), but to host your own, private packages.

This article will give a quick introduction to CRAN, R packages, and how they work in ProGet.

Background: ProGet 2023’s New Indexing System

Since its inception as a private NuGet server, ProGet has undergone significant development.

Our initial design, influenced by NuGet-type feeds and npm-type feeds, always included plans to support various package types. But each time we added a new feed, it often felt like we were “bolting” them on. Each feed was its own distinct product, linked by ProGet’s web interface but operating independently with different protocols and data models.

As ProGet evolved from a basic repository into a comprehensive Software Composition Analysis (SCA) and Security solution, it was clear we needed a more unified approach. In ProGet 2023, we basically redid the back-end to establish better first-class support for all package types.

This not only enhanced existing feed types but made it much easier to integrate new ones. CRAN (R) feeds are a testament to these ongoing improvements.

Introducing CRAN (R) Feeds

Like all package formats and feed types, CRAN (R) has a lot of subtle quirks that make it slightly different than other types. But the experience in ProGet should be the same as others.

See the CRAN (R) Feeds Documentation to learn:

  • How to install CRAN (R) packages and specific versions
  • Working with authenticated feeds in R
  • Publishing Packages
  • Connecting to other repositories (like the main CRAN repository)

What Package Types / Feeds Should we Support Next?

We’re very open to your feedback! Of course, understanding the ins and outs of a third-party package format can be a bit of a challenge. This is why we’d like to team-up with our users: you’re usually way more familiar with these package formats, and can tell us how to use them, give us the low down on conventions and internals, and help us take a test drive with a proof-of-concept.

Are there any feed types you would like to see supported in future versions of ProGet? Let us know by posting something in our forums; we can link to it from our feed types page, and track it fairly easily.

Alex Papadimoulis

Alex Papadimoulis

Navigation