PureScript Registry
The PureScript Registry is a free, open-source package registry for the PureScript programming language.
What PureScript Registry is
The PureScript Registry is a free, open-source package registry for the PureScript programming language. Authors ask it to fetch package code from a public location, including arbitrary Git repositories, rather than uploading files directly. The registry validates and compiles the source, creates a tarball, records its SHA256 hash, and updates indexes. Accepted manifests include purs.json and spago.yaml, with legacy bower.json and spago.dhall manifests still accepted for now. A package must contain a src directory with at least one .purs file and compile successfully for source verification. Curated package sets contain packages known to compile together, with new sets attempted daily when eligible packages exist. Spago is the standard package manager and reference implementation. After publishing, documentation is sent to Pursuit when possible; that requires compiler version 0.14.7 or later, and failure does not cancel publication. Anyone can publish a version, while transfers and unpublishing require authenticated owner actions. Unpublishing is generally limited to 48 hours after publication.
Good
- Free and open source
- Accepts packages from arbitrary Git repositories
- Validates and compiles source before indexing
- Records SHA256 hashes for tarball verification
- Curates compatible package sets
Watch out
- Source needs a src directory with a .purs file
- Documentation publishing requires compiler 0.14.7 or later
- Unpublishing is generally limited to 48 hours
- Official registry support is limited to Spago
Who it suits
It suits PureScript developers publishing or installing packages through registry-compatible tooling. Authors using Spago, Git repositories, package sets, and Pursuit documentation can use its publishing workflow.
Verdict
PureScript Registry provides a structured publish-and-verify path with package sets, tarball hashes, and Spago integration. Its manifest, source, compiler, and ownership rules define what authors must meet before and after publication.
The facts
Each one read from PureScript Registry's own pages, with the date it was checked.
What it does
- API operations
- The API supports registering, publishing, updating, transferring, and unpublishing packages, along with package set updates.checked 9 Oct 2026
- Build checks
- The specification says registry packages are verified to solve and compile with at least one supported compiler version.checked 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.checked 4 Oct 2026
- Integrations
- Spago integrates with the registry for package publishing and installation, and published documentation is uploaded to Pursuit.checked 9 Oct 2026
- Integrity
- Published package tarballs have SHA256 hashes that package managers can use to verify integrity.checked 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.checked 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.checked 9 Oct 2026
- Package locations
- Packages can be published from supported locations including arbitrary Git repositories, not only GitHub.checked 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.checked 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.checked 4 Oct 2026
- Package sets
- Curated package sets list package versions known to compile together and are updated daily.checked 9 Oct 2026
- Package storage
- The registry stores package source tarballs for package managers to download.checked 9 Oct 2026
- Publication model
- Authors request that the registry fetch package code from a public location rather than uploading package files directly.checked 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.checked 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.checked 9 Oct 2026
- Purpose
- The PureScript Registry stores PureScript packages and metadata and provides an API for package operations.checked 9 Oct 2026
- Pursuit integration
- After a successful package publish, the registry attempts to publish the package documentation to Pursuit.checked 4 Oct 2026
- Spago integration
- Spago is identified as the standard PureScript package manager and the registry's reference implementation.checked 4 Oct 2026
- Support and administration
- The repository directs authors who want to publish without Spago to open an issue using its Publish workflow.checked 9 Oct 2026
- Supported manifests
- The registry currently accepts packages with a purs.json or spago.yaml manifest.checked 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.checked 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.checked 4 Oct 2026
The company
- 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.checked 9 Oct 2026
Alternatives to PureScript Registry
- 1
JSweet
Free planOpen sourceAndroidiOSWebAPI7.7Free plan - 2

SWC
Free planAndroidWebAPILinux7.1Free plan - 3
Transcrypt
Free planWebLinuxmacOSSelf-hosted6.7Free plan - 4
TypeScript Playground
Free planWeb6.6Free plan - 5
Google Web Toolkit
Free planWebExtensionLinuxmacOS6.5Free plan - 6
Haxelib
Free planAPILinuxmacOSWindows6.5Free plan
