Function Repository Resource:

PacletUpdatePanel

Source Notebook

Create a panel to manage paclet updates

Contributed by: Bob Sandheinrich

ResourceFunction["PacletUpdatePanel"][sites]

opens a palette listing local paclets with updates available from the specified paclet sites sites.

ResourceFunction["PacletUpdatePanel"][sites,incl]

specifies which types of paclets to include in the palette.

Details and Options

The paclet update panel contains a grid where each row represents a paclet that exists on the local computer. When an update is available for the paclet an Install button is provided.
Clicking the Install button will use PacletInstall to install the latest version. Typically, the paclet will still need to be loaded with Needs or Get before the updated code is accessed. Depending on the paclet restarting the kernel with Quit may be necessary to remove the effects of the previous paclet version.
Clicking the paclet name will copy the PacletObject expression for the local paclet to the clipboard.
The sites specifies paclet sites from which updates should be listed. Supported values include:
Automatic (default)only the Wolfram Language Paclet Repository
Allall sites included in PacletSites[]
{site1,site2,}list of paclet site urls or PacletSite objects
The incl specifies which paclets should be included in the palette. Support values include:
Automatic (default)only paclets with available updates
Allall local paclets also available from the paclet sites
ResourceFunction["PacletUpdatePanel"] supports the following options:
MaxItems20maximum number of paclets to display
UpdatePacletSitesAutomaticwhether to download the latest information from paclet servers
When the number of paclets exceeds the MaxItems value, a Show More button is included to dynamically increase the number displayed.
With the default option UpdatePacletSitesAutomatic, each paclet site will be updated once per kernel session. Using True or False will force that choice on each evaluation.
A progress indicator is displayed when gathering information about many paclets.
This function is a fork of PacletObjectBrowser in the Paclet Repository. Updates to this function will lag behind the paclet.

Examples

Basic Examples (2) 

Create a panel for updating installed paclets from the Wolfram Language Paclet Repository:

In[1]:=
panel = ResourceFunction["PacletUpdatePanel"][]
Out[1]=

Create a palette from the panel:

In[2]:=
CreatePalette@ResourceFunction["PacletUpdatePanel"][]
Out[2]=

Scope (3) 

Include paclets from all paclet sites in PacletSites[]:

In[3]:=
ResourceFunction["PacletUpdatePanel"][All]
Out[3]=

Include paclets for which the latest version is already installed:

In[4]:=
ResourceFunction["PacletUpdatePanel"][Automatic, All]
Out[4]=

Include all local paclets with versions available on any paclet site:

In[5]:=
ResourceFunction["PacletUpdatePanel"][All, All]
Out[5]=

Options (3) 

MaxItems (1) 

Limit the displayed output to a small number. Note the Show More button:

In[6]:=
ResourceFunction["PacletUpdatePanel"][MaxItems -> 3]
Out[6]=

UpdatePacletSites (2) 

Force the paclet sites to update on each evaluation:

In[7]:=
First@AbsoluteTiming@
  ResourceFunction["PacletUpdatePanel"][UpdatePacletSites -> True]
Out[7]=

Prevent the paclet site from updating:

In[8]:=
First@AbsoluteTiming@
  ResourceFunction["PacletUpdatePanel"][UpdatePacletSites -> False]
Out[8]=

Version History

  • 1.0.0 – 08 February 2023

Related Resources

Author Notes

In a future version, I'd like to add a method to install this persistently into the Palette menu

License Information