Hackage有API吗?

时间:2013-03-17 23:17:20

标签: haskell hackage

我希望能够搜索包并获取下载链接以及所有依赖项的列表。有没有一种简单的方法可以通过命令行或Haskell模块执行此操作?

2 个答案:

答案 0 :(得分:3)

cabal(可从cabal-install包中获取,如果您还没有)可以执行此操作。我会无耻地使用刚刚发布的universe包作为运行示例。搜索:

sorghum:~% cabal list universe
* universe
    Synopsis: Classes for types where we know all the values
    Default available version: 0.0
    Installed versions: 0.0
    License:  BSD3

* universe-th
    Synopsis: Construct a Dec's ancestor list.
    Default available version: 0.0.0.6
    Installed versions: [ Not installed ]
    Homepage: http://github.com/jfishcoff/universe-th
    License:  BSD3

对于依赖性信息:

sorghum:~% cabal info universe
* universe         (library)
    Synopsis:      Classes for types where we know all the values
    Versions available: 0.0
    Versions installed: 0.0
    Homepage:      [ Not specified ]
    Bug reports:   [ Not specified ]
    Description:   A small package, in the spirit of data-default, which allows
                   the munging of finite and recursively enumerable types
    Category:      Data
    License:       BSD3
    Author:        Daniel Wagner
    Maintainer:    daniel@wagner-home.com
    Source repo:   [ Not specified ]
    Dependencies:  base ==4.*, void >=0.1 && <0.6
    Documentation: /home/dmwit/.cabal/x86_64/share/doc/universe-0.0/html
    Cached:        No
    Modules:
        Data.Universe
        Data.Universe.Helpers

下载并解压缩:

sorghum:~% cabal unpack universe
Downloading universe-0.0...
Unpacking to universe-0.0/

您也可以在不使用cabal fetch解压缩的情况下下载,您可以享受--no-dependencies标记(或者可能不会)。

答案 1 :(得分:1)

AFAIK目前的hackage没有它。但新的has一些基本的API调用。他们中的大多数都返回html,但其中一些返回JSON表示。