Есть ли у Hackage API?

Я хочу иметь возможность искать пакет и получить ссылку для загрузки, а также список всех зависимостей. Есть ли простой способ сделать это через командную строку или модуль Haskell?

2 ответа

Решение

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 флаг (или еще раз, может быть, нет).

AFAIK текущий хакер не имеет его. Но у нового есть несколько базовых вызовов API. Большинство из них возвращает HTML, но некоторые возвращают представление JSON.

Другие вопросы по тегам