Message Boards Message Boards

7
|
8337 Views
|
12 Replies
|
10 Total Likes
View groups...
Share
Share this post:

Mathematica Package Repository (Paclet Server) Updates

Posted 5 years ago

The server is open for submissions. Please do. All you have to do is fill out a form.


A while back I posted here about a paclet server, which is to say a repository for Mathematica packages which people can easily install and use

The key, here, is the easily. As in single-line installation and integrated with all of Mathematica's standard tools.

enter image description here

The server is hosted on GitHub and so everything is open source and anyone can contribute. The deployment is done with GitHub pages as the cloud is still insufficient for a number of reasons. There is also a GitHub Wiki that provides notes on how you can install from the server, upload to the server, etc.

This server has been slowly evolving over the past just-under-a-year as I get a better handle on how to make it easier to add paclets, easier to customize, and nicer in general.

I decided to start this thread to track this progress in a place that Mathematica users would see.

Any suggestions people can provide are greatly appreciated and feel free to communicate with us on Gitter for potentially faster discussion.

POSTED BY: b3m2a1 ​ 
12 Replies
Posted 5 years ago

Site Search

The site may be searched to find the relevant paclets to you:

enter image description here

It also provides many different types of aggregations, e.g. by Author:

enter image description here

Other navigation aides may be developed if there is demand.

POSTED BY: b3m2a1 ​ 

What does it exactly do? What do you expect to find in the repository?

POSTED BY: Kuba Podkalicki
Posted 5 years ago

Analytics

You can now see some of the analytics for the site, as pulled from Google Analytics. They're a little bit sad, but hopefully they'll improve in the future.

One caveat is that these numbers are for users not pageviews, which are subtly different. The former is expected to be much lower than the latter.

enter image description here

POSTED BY: b3m2a1 ​ 
Posted 5 years ago

Submissions

Paclet submissions are as easy as writing some text on a page, e.g. this one:

sample submissions

Provide me with the package name, the author name and email, and a URL linking to your package (either as a paclet or the source code) and we'll figure out how to get it packaged up as a paclet and uploaded.

POSTED BY: b3m2a1 ​ 
Posted 5 years ago

Installation

Installation is stupid easy, as it's just a small layer on top of PacletInstall. The instructions are also on every page, and this is copied directly from the MeshTools page:

<< https://paclets.github.io/PacletServer/Install.wl
PublicPacletInstall["MeshTools"]

enter image description here

You can also install directly using PacletInstall from the Repository cache:

PacletInstall[
 "ImportMesh",
 "Site" -> "http://raw.githubusercontent.com/paclets/Repository/master"
 ]

enter image description here

The former simply provides a nice layer for people to specify alternate download locations, which can be helpfull.

POSTED BY: b3m2a1 ​ 
Posted 5 years ago

Feedback

Every paclet pages has a comments section at the bottom where you can provide feedback which will be passed on to the author if possible. An example is this one:

enter image description here

POSTED BY: b3m2a1 ​ 
Posted 5 years ago

The idea is to have something like the Python Package Index or the stuff behind npm:

npm

The main reason for it is just a backend to PacletInstall though, where people can submit their repos so as to centralize installation, encourage the use of paclets, and make a place where everyone can see and easily install packages.

POSTED BY: b3m2a1 ​ 
Posted 5 years ago

Extensions

Custom metadata may be provided in a "PacletServer" extension in the PacletInfo.m:

enter image description here

This is where all customizations that the server can use may be provided.

POSTED BY: b3m2a1 ​ 
Posted 5 years ago

Documentation

One future goal is to be able to include documentation on the paclet server. In the coming few weeks I'm hoping to integrate some work I've done on making documentation that both integrates with the Mathematica Documentation Center and also can be exported to Markdown and thus can be used to build a site.

An example of such a site is here:

enter image description here

I want to provide the ability to make a site like that under the main paclet server page and link to it.

POSTED BY: b3m2a1 ​ 
Posted 5 years ago

Visual Updates

No proper updates to report here, but it looks a lot better now:

 server

POSTED BY: b3m2a1 ​ 
Posted 5 years ago

No Update Requests Required

For certain types of projects (namely those hosted on paclet servers or distributed via GitHub releases) no maintenance is necessary on the submitter side. Updates can be loaded automatically found and loaded at build time.

This motivates an approximately bi-weekly build process on maybe Monday and Friday. (TBD when). As always, though, it's possible to build the server on one's own. Just ask me how and you can get fast builds whenever you'd like.

POSTED BY: b3m2a1 ​ 
Posted 5 years ago

Submission Form Created

To make submissions quicker and easier to do I created a form you can use to submit links to your paclets:

enter image description here

POSTED BY: b3m2a1 ​ 
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract