FREEDOM251

Freedom251 › Code Transpilers

PureScript Registry

Paid APIWeb

Visit PureScript Registry Alternatives

PureScript Registry's own site

What PureScript Registry is

The PureScript Registry is a package registry for the PureScript programming language. It fetches package source from a specified public location, validates and compiles it, creates a tarball, and updates its indexes. Supported source locations include arbitrary Git repositories, not only GitHub. Packages must meet source verification requirements, including a `src` directory with at least one `.purs` file and a successful compile. The registry curates package sets whose members are known to compile together and attempts to produce new sets daily when eligible packages are available. Spago is identified as the standard PureScript package manager and the registry's reference implementation; the repository says it is the only package manager with official registry support. After a successful publish, documentation publication to Pursuit is attempted, though that step requires compiler version 0.14.7 or later and its failure does not prevent the package publish. The registry records SHA256 hashes for tarballs. Anyone can publish a version, while unpublishing or transferring requires an authenticated package-owner action. Unpublishing is generally limited to 48 hours after publication, except for legal removals.

Who it suits

The registry is for PureScript package authors and users, especially those working with Spago. Authors can publish from supported Git locations, while package managers can retrieve stored source tarballs.

What it does well

  • Accepts packages from Git repositories beyond GitHub.
  • Curates package sets known to compile together.
  • Records SHA256 hashes for package tarballs.
  • Anyone can publish a package version.
  • Supports package publishing and installation through Spago.

What to know first

  • Source must include a `src` directory and `.purs` file.
  • Official registry support is limited to Spago.
  • Unpublishing is generally limited to 48 hours.
  • Pursuit documentation publishing requires compiler 0.14.7 or later.

Limits

A package version can generally be unpublished only during the first 48 hours after publication, except for legal removals. Documentation publication to Pursuit requires compiler version 0.14.7 or later, and a package must compile successfully with a supported compiler.

Getting started

  1. Open https://registry.purescript.org/
  2. Prepare a package with an accepted manifest and a src directory containing a .purs file
  3. Place the source at a supported public location such as a Git repository
  4. Request publication so the registry can fetch, compile, and package the source
  5. Use Spago to publish and install packages, or use the API to publish packages

Verdict

The PureScript Registry combines package validation, tarball storage and curated package sets for the PureScript ecosystem. Authors should check its source requirements and the limited unpublishing window before publishing.

Questions

Is PureScript Registry free?

Yes. Its pricing model is free, and it is open source.

Which package managers support it?

Spago is the standard PureScript package manager and the only package manager with official registry support described by the repository.

Where can package source be hosted?

Authors can specify supported locations including arbitrary Git repositories, not only GitHub.

What manifests are accepted?

The registry currently accepts purs.json and spago.yaml. bower.json and spago.dhall are also accepted for adding or updating packages, with legacy manifests still accepted for now.

Can anyone publish a package version?

Anyone can publish a package version. Unpublishing or transferring a package requires an authenticated operation signed with an SSH key belonging to a package owner or registry trustee.

What happens after publishing?

The registry validates and compiles the source, creates a tarball, records its SHA256 hash, updates indexes, and attempts to publish documentation to Pursuit.

Facts from PureScript Registry's own pages

API operations
The API supports registering, publishing, updating, transferring, and unpublishing packages, along with package set updates. · github.com, 9 Oct 2026
Build checks
The specification says registry packages are verified to solve and compile with at least one supported compiler version. · github.com, 9 Oct 2026
Documentation limit
Publishing documentation to Pursuit requires compiler version 0.14.7 or later, and a documentation publishing failure does not fail the package publish operation. · github.com, 4 Oct 2026
Integrations
Spago integrates with the registry for package publishing and installation, and published documentation is uploaded to Pursuit. · github.com, 9 Oct 2026
Integrity
Published package tarballs have SHA256 hashes that package managers can use to verify integrity. · github.com, 9 Oct 2026
Manifest limits
To add or update a package, it must contain a bower.json, spago.dhall, or purs.json manifest; legacy manifests are still accepted for now. · github.com, 9 Oct 2026
Owner security
Sensitive package actions such as transfers and unpublishing require an authenticated operation signed with an SSH key belonging to a package owner or registry trustee. · github.com, 9 Oct 2026
Package age limit
The specification says packages published before May 2019 are not included if they cannot satisfy the registry's compiler compatibility requirement. · github.com, 9 Oct 2026
Package locations
Packages can be published from supported locations including arbitrary Git repositories, not only GitHub. · github.com, 4 Oct 2026
Package manager use
Most PureScript users interact with the registry through package managers; the repository says Spago is the only package manager with official registry support. · github.com, 9 Oct 2026
Package publishing
The registry fetches package source from a specified location, validates and compiles it, creates a tarball, and updates its indexes. · github.com, 4 Oct 2026
Package sets
Curated package sets list package versions known to compile together and are updated daily. · github.com, 9 Oct 2026
Package storage
The registry stores package source tarballs for package managers to download. · github.com, 9 Oct 2026
Publication model
Authors request that the registry fetch package code from a public location rather than uploading package files directly. · github.com, 9 Oct 2026
Publishing access
Anyone can publish a package version, while unpublishing or transferring a package requires an authenticated operation by a package owner. · github.com, 4 Oct 2026
Publishing workflow
The registry fetches package code from a remote location, attempts to compile it, uploads documentation to Pursuit, and adds it to the day's package set batch. · github.com, 9 Oct 2026
Purpose
The PureScript Registry stores PureScript packages and metadata and provides an API for package operations. · github.com, 9 Oct 2026
Pursuit integration
After a successful package publish, the registry attempts to publish the package documentation to Pursuit. · github.com, 4 Oct 2026
Spago integration
Spago is identified as the standard PureScript package manager and the registry's reference implementation. · github.com, 4 Oct 2026
Support and administration
The repository directs authors who want to publish without Spago to open an issue using its Publish workflow. · github.com, 9 Oct 2026
Supported manifests
The registry currently accepts packages with a purs.json or spago.yaml manifest. · github.com, 4 Oct 2026
Unpublishing limit
A package version can generally be unpublished only within 48 hours of publication, unless the registry must remove it for legal reasons. · github.com, 4 Oct 2026
Validation limit
A package must contain a src directory with at least one .purs file and compile successfully to pass source verification. · github.com, 4 Oct 2026

Where PureScript Registry stands on Freedom251

Look at these too