Message Boards Message Boards

GROUPS:

[CALL] for package submissions to a new package manager

Posted 6 months ago
801 Views
|
1 Reply
|
8 Total Likes
|

I recently set up a package server in GitHub and need some people to submit packages to see how this can work. The server is here: https://paclets.github.io/PacletServer/

pm pick

It can handle one-line installation, gives a log of who changed which paclets, and can deal with submissions from anyone.

I'm looking for people to test this system out. Szabolcs kindly submitted a few of his and gave me feedback, but obviously he really knows what he's doing and so the system didn't bump into any real issues. That is likely not the case for most of us (not for me at least).

I'd like people to submit their packages via the instructions on the GitHub repo so I can see where things can be improved.

Posted 6 months ago

Update 2:

The interface paclet has a new, simpler way to run things.

First get it off the paclet server here.

Then load it and run:

<<PublicPacletServer` 
PublicPacletServer[
  "RegisterPaclet", 
  <|
    "Name"->"YourPacletName",
    "URL"->"https://github.com/your/yourCoolPaclet",
    "Author"->"Your Name"
    |>
  ]

This will create a request on the GitHub page to merge your paclet in. A maintainer (currently only me and likely for a long time only to be me) will then merge it in and handle the rest.

If anyone gives it a try and something doesn't work, raise an issue on the GitHub page and it will be fixed.

Update:

I now have confirmation that this works for someone other than me:

I've just sent my eigenvalue package (CompoundMatrixMethod) to your paclet server, it was very straightforward to do.
-KraZug

And the deployed paclet is here for those who'd like to install it: CompoundMatrixMethod

Original:

So to entice more people to do this I've tried to make the process super easy (as in like hopefully 2 lines of code easy).

First, install the (in beta) PublicPacletServer` package. You can find installation instructions on its main paclet page:

page

Once you have it installed, simply load the paclet:

<< PublicPacletServer`

You can expect to see a loading panel which tells you its installing a helper package from the server:

loading

The package exposes a single function, PublicPacletServer which supports various methods and uses autocompletion to make life nice:

zump

Now, if you want to upload a paclet that you already have installed on your computer this can be done in a single line. Say I want to upload a ServiceConnection to Wolfram Community. I can check that I have it installed like so:

PacletFind["ServiceConnection_WolframCommunity"]

blah

Since I have it installed, I can simply run:

PublicPacletServer["SubmitPaclet", "ServiceConnection_WolframCommunity"]

If instead it were in a directory that couldn't be found by PacletFind we'd simply use the directory as the second argument. This will add it to the review queue on my personal fork of the server. To get this onto the public review queue we need to submit a pull request, which can be done simply via:

PublicPacletServer["SubmitPullRequest"]

Now there are two things to keep in mind here, one, since this works via GitHub you'll need to a) have a GitHub account and b) provide your credentials. At some point you'll see a screen that looks like:

blimp

You'll just type in your username and password and my code does the rest.

You will also need to fork the server, but that's something you need only do once and the package will prompt you to do.

Once you've submitted your pull-request sometime in probably the next few hours the changes will be merged:

blasdasd

After that the server will be rebuilt, published, and your paclet will be visible to the world:

zamn

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