About HackageDB
HackageDB is a collection of released Haskell packages. Each package is in the Cabal format, a standard way of packaging Haskell source code that makes it easy to build and install. (HackageDB and Cabal are components of a broader Haskell infrastructure effort called Hackage.) These pages are a basic web interface to the Hackage package database.
This isn't the official HackageDB. It's an in-progress rewrite of the server using the happstack web framework.
Finding packages
The Packages link above lists the available packages and provides a full text search of the package pages (via Google), while What's new lists recent additions (also available as an RSS feed). You can also do a simple text search of package descriptions:
There are a few other package indices:
- All tags
- All packages by name, with tags
- All packages with reverse dependencies
- All packages by download (since old download data isn't imported, this will look somewhat barren)
- All packages with preferred versions
- All deprecated packages
- All candidate packages
See How to install a Cabal package for instructions on installing the packages you find here.
Releasing packages through HackageDB
To upload your own releases, you'll first need to package them as Cabal source packages. See How to create a Haskell package for a tutorial. You can check and upload your package using the Upload link above, though you'll need a HackageDB username and password.
Getting the raw data
Development
See the HackageDB wiki page. There is also a document in progress summarizing the architecture of the new hackage-server. Check out the code yourself:
darcs get http://code.haskell.org/hackage-serverWe'd like to make it as simple as possible for anyone to set up a Hackage server.