Comprehensive Upstream Provider Polling Assistant
Branch: master
Clone or download


Comprehensive Upstream Provider Polling Assistant

Go Report Card license


As a package maintainer, it's a challenging task to keep track of every new release of a piece of software. Usually this involves subscribing to mailing lists, signing up for notifications from FOSS portals like Github, or even subscribing to news sites. For a distro, this might also mean a repeated effort amongst its package maintainers. The inefficiency and time requirements of such an approach is inevitable. This has led several distros to create their own upstream tracking platforms to automate the process of tracking upstream releases. However, these platforms are often distro specific, leading to further duplication of effort between distros.


  • Support as many upstream providers as possible
  • Be completely distro agnostic
  • Extensibility
  • A+ Rating on Report Card


Supported Providers

  • CPAN
  • Github (with API Key support)
  • Hackage
  • Jetbrains
  • KDE
  • Launchpad
  • PyPi
  • RubyGems
  • Sourceforge

Planned Providers

  • BitBucket
  • FTP
  • Git
  • GitLab

Stretch Goal Providers

  • RSS

Both of these will require some level of scraping to get useful info.

Unsupported Providers

  • NPM Completely pointless as this will just pivot to another provider
  • Stackage Not really in scope for this project and they seem to be missing a web API


  1. Clone repo and enter its
  2. make
  3. sudo make install


Your configuration file must be located at $HOME/.config/cuppa

Github Personal Access Keys

Github limits the number of requests per day for unauthenticated clients. If you would like to get around this limitation, you can configure Cuppa to use a Personal Access Key (PAK) by following the instructions here. You do not need to enable any OAuth Scopes.


key = "<personal access key>"


All cuppa commands follow the format:

cuppa CMD URL

where CMD is the action to perform and URL is the link to an existing source.

Commands (CMD)

CMD Alias Description
help ? Get help for the other commands.
latest l Get the details for the latest (non-beta) release.
quick q Get just the new version number and URL if found.
releases r Get all known previous (non-beta) releases.

Example Sources

Provider URL


Copyright 2016-2018 Bryan T. Meyers

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.