Masala: The Repository of Curry Packages

Last page: ?



Masala is a web-based system to upload and publish software packages written in the declarative multi-paradigm language Curry. The packages uploaded to Masala can easily be downloaded and installed with the Curry Package Manager (CPM) on a local machine.

Uploading packages

Before uploading a new package or a new version of an existing package, one has to register to Masala in order to get a validated account. If you have a Masala account, there are two ways to upload a package:

  1. Via this web page: Log in into Masala (see the buttons/links in the top-right part of the web page). After logging in, select "Upload a new package (version)" in your user menu (top-right part of the web page). Then you get a web page with a text area into which you can copy the contents of the package.json file of your package which you want to upload.
  2. Via the Curry Package Manager CPM (version 3.2.0 or higher): This is the preferred and simpler way: Go into the source code of your package and use the command cypm upload to upload this package. This command first tests the package and, if this is successful, uploads the package to Masala (you will be asked for your login name and password of your Masala account).
In both cases, the package specification must contain a source field pointing to a git repository or http address containing the source of your package. This source will be downloaded and stored in Masala.

When you upload a new package, you are the maintainer of this package. Later, you can also invite other registered users as maintainers of your package. Note that only maintainers of a package can upload new versions of the same package.

Package specifications require one or more categories to which they belong. When uploading a package, the specified categories must exist in the current list of categories. If you want to add a new category to Masala, please contact the system administrator (e.g., via the right-top user menu when you are logged in).

Publishing packages

Packages or package versions are not immediately visible to other Curry programmers so that they can download them via CPM. In order to publish a package, i.e., make a package visible and downloadable via CPM, you must either be a trusted user (ask the Masala administrator to upgrade you to a trusted user) or inform the Masala administrator to publish your package. This is necessary to avoid the publication of useless packages or packages with unacceptable contents. The administrator can be contacted inside Masala if you are logged in (see the right-top user menu when you are logged in).

When a package has been published, it is visible in Masala and ready for downloading, but it might require some time to appear in the documentation of all Curry packages since this is nightly generated.


You can freely register to Masala. This is necessary to upload new packages or watch the activity of other packages. To register, use the "Login/Register" menu in the top-right corner. For the registration, you need a valid email address which is used to verify your account, sending lost passwords, etc. This email address is not shown to other users of Masala. You must also choose a public name which is shown with your uploaded packages. Later you can also decide to add a public email address to your profile. In this case, this email address is shown to other users if they want to contact you.

Further information