packages feed

huggingface-0.1.0.0: huggingface.cabal

cabal-version:      3.0
name:               huggingface
version:            0.1.0.0
synopsis:           Haskell bindings to the Hugging Face Hub and Inference APIs
description:
  A typed HTTP client for discovering models, datasets, and Spaces on the
  Hugging Face Hub, retrieving repository metadata and files, and running
  hosted inference. Includes chat completions, feature extraction, text
  generation, and classification, with explicit errors and pagination.
homepage:           https://github.com/emilypi/huggingface
bug-reports:        https://github.com/emilypi/huggingface/issues
license:            BSD-3-Clause
license-file:       LICENSE
author:             Emily Pillmore
maintainer:         Emily Pillmore <emilypi@cohomolo.gy>
copyright:          (c) 2026 Emily Pillmore
category:           Network, Machine Learning
build-type:         Simple
tested-with:        GHC ==9.6.7 || ==9.8.4 || ==9.10.3 || ==9.12.4 || ==9.14.1
extra-doc-files:
  README.md
  CHANGELOG.md
  CONTRIBUTING.md
extra-source-files:
  scripts/validate.sh
  default.nix

source-repository head
  type:     git
  location: https://github.com/emilypi/huggingface.git

common settings
  default-language: Haskell2010
  ghc-options:      -Wall -Wcompat -Wincomplete-uni-patterns -Wincomplete-record-updates
  build-depends:    base >=4.18 && <4.23

library
  import: settings
  hs-source-dirs: src
  exposed-modules:
    HuggingFace
    HuggingFace.Client
    HuggingFace.Error
    HuggingFace.Hub
    HuggingFace.Inference
    HuggingFace.Monad
    HuggingFace.Types
    HuggingFace.Types.Auth
    HuggingFace.Types.Chat
    HuggingFace.Types.Hub
    HuggingFace.Types.Pagination
    HuggingFace.Types.Parameters
    HuggingFace.Types.Repository
    HuggingFace.Types.Routing
    HuggingFace.Types.Tasks
    HuggingFace.Utils
    HuggingFace.Internal.HTTP
  build-depends:
      aeson           >=2.1   && <2.4
    , bytestring      >=0.11  && <0.13
    , http-client     >=0.7.13 && <0.8
    , http-client-tls >=0.3.6 && <0.5
    , http-types      >=0.12  && <0.13
    , mtl             >=2.3.1 && <2.4
    , network-uri     >=2.6   && <2.7
    , parsec          >=3.1.16 && <3.2
    , text            >=2.0   && <2.3

test-suite huggingface-tests
  import: settings
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  ghc-options: -threaded -rtsopts
  build-depends:
      huggingface
    , aeson
    , bytestring
    , http-client
    , http-types
    , tasty            >=1.4 && <1.6
    , tasty-hunit      >=0.10 && <0.11
    , tasty-quickcheck >=0.10 && <0.12
    , text
    , wai              >=3.2 && <3.3
    , warp             >=3.3 && <3.5

executable huggingface-example
  import: settings
  hs-source-dirs: examples
  main-is: Main.hs
  ghc-options: -threaded
  build-depends:
      huggingface
    , optparse-applicative >=0.18 && <0.20
    , text