Resource System Updates:
Function Repository, Paclet Repository and More

Bob Sandheinrich
2021/10/13

Updates

The Resource System is:

A platform for distributing Wolfram Language content

A server hosted in Wolfram Cloud

Wolfram Language functions for accessing content

Websites for exploring content

Notebook-based tools for creating new content

A collection of repositories each supporting a different type of content

Existing Repositories

Data

NeuralNet

Function

Paclet **New**

Notebook, Demonstration, WolframModels (supported by Resource System)

Using content from the Resource System

Finding content

By searching on the web

SystemOpen["https://resources.wolframcloud.com/search?i=conference"]

Or using ResourceSearch

searchresults=ResourceSearch["Conference"]

Using content

Each type of content has a unique integration into the Wolfram Language

randResourceByType=Normal@searchresults[GroupBy["ResourceType"],RandomChoice,"ResourceObject"]

Function → ResourceFunction

randResourceByType["Function"]

rf=ResourceFunction[%]

Data → ResourceData

randResourceByType["DataResource"]

data=ResourceData[%];

ByteCount[data]

NeuralNet → NetModel

randResourceByType["NeuralNet"]

net=NetModel[%]

Creating content for the Resource System

Definition Notebooks

CreateNotebook["FunctionResource"]

Deploy your resources to cloud to share, store, use, etc.

New in 13: Automatically generated personal index of deployed resources

Function Repository Content

New developers are submitting content the WFR every week. You should too.

Grid[{{,},
{,SpanFromAbove}},Alignment->{Center,Center}]

Note to Bob: Switch to Version 13 For Paclet

Dynamic[$VersionNumber]

Paclet Repository

Paclets

Tools for packaging extensions to the Wolfram Language

Code, Stylesheets, Documentation, Palettes, File Formats, ....

Existed for decades, documented in 12.1

PacletObject["ServiceConnection_Twitter"]

Introducing the Wolfram Paclet Repository

Hyperlink["https://resources.wolframcloud.com/PacletRepository/"]

Using the Wolfram Paclet Repository with PacletSymbol

Simple, easy, trial usage with PacletSymbol

PacletSymbol["Bob__BaseballReferenceData","PlayerSearch"]

PacletSymbol["Bob__BaseballReferenceData","PlayerSearch"]["Yadi"]

PacletSymbol notes

Works without Needs or Get

Does not modify $ContextPath

Returns symbol from within the paclet

Finds paclets and downloads paclet as needed automatically

PacletFind, PacletSites,$ResourceSystemPath

If the paclet is not installed, it downloads it but does NOT install it

Using a the Wolfram Paclet Repository with PacletInstall

Long term usage with PacletInstall

PacletInstall[ResourceObject["Bob: BaseballReferenceData"]]

Needs["Bob`BaseballReferenceData`"];

PlayerSearch["Wainwright"]

PacletInstall notes

Permanent (until PacletUninstall)

Paclet is available on startup every time

Developing for the Wolfram Paclet Repository

Restrictions and Conventions

Paclet name begins with “PublisherID__”

All code lives in PublisherID` context

Preferably PublisherID`PacletBaseName`

Symbols are documented with examples

Must create a Paclet Resource Definition Notebook

Paclet Resource Definition Notebook

NotebookPut@Import[CloudObject@"https://wolfr.am/pacletrepodemodefnb"]

Request to join the WPR Beta Program

Hyperlink["https://www.wolframcloud.com/obj/bobs/Forms/WTC-2021-WPR-BetaRequest"]

URLShorten["https://www.wolframcloud.com/obj/bobs/Forms/WTC-2021-WPR-BetaRequest","WPRBeta"]

Magnify[BarcodeImage["https://www.wolframcloud.com/obj/bobs/Forms/WTC-2021-WPC-BetaRequest","QR"],4]

See other Paclet Related Talks

Paclets and the Wolfram Paclet Repository Thursday 10AM CDT

Paclet Development Thursday 1:30PM CDT

Authoring Paclet Documentation Friday 1:00PM CDT

Office Hour Next

Bob Sandheinrich
bobs AT wolfram DOT com
@bobohilario