Welcome to Hackage!
Hackage is the Haskell community's central package archive of open source software. Package authors use it to publish their libraries and programs while other Haskell programmers use tools like cabal-install to download and install packages (or people get the packages via their distro).
This web interface to Hackage lets you:
- Browse the packages (sorted by category)
- Search for packages by keyword (in the name or description)
- See what packages have been uploaded recently
- Upload your own packages to Hackage (note that you'll need an account)
Each package includes:
- A description of what it does
- Licence information
- Author information
- A downloadable gzipped tarball
- A list of modules in the package
- Haddock documentation (if available) with source links
Guidelines for Hackage Packages:
- All packages should follow the Package Versioning Policy (PVP).
- Packages cannot be deleted, so you should consider uploading new versions packages as a package candidate and testing before publishing it to the main index.
- Please consult the documentation for uploading packages for more in-depth information about Hackage's policies.
In addition to the main package list page, there are a few other package indices:
- All tags
- All packages by name, with tags
- All packages by download
- All packages with preferred versions
- All deprecated packages
- All candidate packages
- Taking over a package on Hackage
- Hackage trustees and what they do
- Submitting changes for the core libraries
For issues with accounts or permissions please contact the administrators by email at firstname.lastname@example.org
For bugs with the site code or server/hosting issues, please report them in our issue tracker.
Contributing to the development
The code is on github and we welcome pull requests.
There are open tickets describing existing bugs and features that we want or that are in need of improvement. Help on any of these would be greatly appreciated.
There is some developer and user documentation on the github wiki, including a quick guide to getting your own server instance up and running.
You can ask questions on the cabal-devel mailing list or on IRC in the
#hackage channel on freenode.
The new server has an automatically-generated site api. This is mainly intended as documentation for people working with the server, rather than as a user-oriented site map, but it can be interesting to see exactly what is available. This includes important resources like the machine-readable index of packages, used by clients like
Well-Typed and the Industrial Haskell Group (IHG) are very pleased to announce that Hackage 2 is now powering the official Hackage server.
Read on for an overview of the new features, system improvements, and for details of how you can help to make Hackage 2 even better.
Support from the Industrial Haskell Group
The IHG is a consortium of companies that rely on Haskell. The IHG members have funded the effort to get Hackage 2 up to feature parity and get it ready for the switchover. The IHG funded this effort because while the volunteer effort got us the “first 90%” of the way there (including adding a number of new features) there was still the “last 90%” to do to get it production ready.
The IHG members decided to fund Hackage 2 not just because they are good citizens, but out of enlightened self-interest. Hackage has over 5000 packages written by over 1000 people — including the world’s best Haskell developers. This is a massive resource. The IHG members recognise that improvements to the tools and infrastructure that the community uses helps the community to produce more and better code. This is a benefit to everyone in the community — including the commercial users.
The IHG is keen to increase its membership so that more resources can be dedicated to improving the Haskell development platform. If your organisation relies on Haskell in some way then you may want to consider joining. See the IHG website for more details or contact email@example.com.
Despite the help of the IHG in getting to this point, Hackage is a community project, and its success depends on the community maintaining and further improving the new server. The code is now on github so it is easier to contribute, and now that the server is live there is more immediate gratification for volunteers contributing fixes and new features.
The fastest Content Distribution Network
As the needs of the Haskell.org community increase, Hackage and other parts of our infrastructure demand increasing amounts of bandwidth, lower latency, and more storage and compute resources. Hackage contains code written from people all over the world, and uptime as well as speed are paramount to a clean user experience when developing.
Fastly.com has offered the Haskell.org community unlimited access to their CDN, allowing us to push TBs of data through their edge systems, provide resource shielding for servers, and get real-time analytics for all our users and data.
Though our main priority has been feature parity so that we can switch over, volunteers have contributed several new features, including better package search, a new site theme, improved security, the ability to fix package dependencies after a release, changelogs, and a REST-style interface.
See the new features page for more details on these, plus details of other features that are partially implemented or are in need of improvement.