packages feed

shibuya-kafka-adapter-0.5.0.1: shibuya-kafka-adapter.cabal

cabal-version:   3.12
name:            shibuya-kafka-adapter
version:         0.5.0.1
synopsis:        Kafka adapter for the Shibuya queue processing framework
description:
  A Shibuya adapter that integrates with Apache Kafka via kafka-effectful
  and hw-kafka-client. Provides polling, offset commit semantics, partition
  awareness, and graceful shutdown.

author:          Nadeem Bitar
copyright:       2026 Nadeem Bitar
maintainer:      nadeem@gmail.com
homepage:        https://github.com/shinzui/shibuya-kafka-adapter
bug-reports:     https://github.com/shinzui/shibuya-kafka-adapter/issues
license:         MIT
license-file:    LICENSE
build-type:      Simple
tested-with:     GHC ==9.12.2
category:        Concurrency, Streaming
extra-doc-files:
  CHANGELOG.md
  README.md

source-repository head
  type:     git
  location: https://github.com/shinzui/shibuya-kafka-adapter.git

common warnings
  ghc-options:
    -Wall -Wcompat -Widentities -Wincomplete-uni-patterns
    -Wincomplete-record-updates -Wredundant-constraints
    -fhide-source-paths -Wmissing-export-lists -Wpartial-fields
    -Wmissing-deriving-strategies

library
  import:             warnings
  exposed-modules:
    Shibuya.Adapter.Kafka
    Shibuya.Adapter.Kafka.Config
    Shibuya.Adapter.Kafka.Convert
    Shibuya.Adapter.Kafka.Internal

  default-extensions:
    DeriveAnyClass
    DerivingStrategies
    DuplicateRecordFields
    LambdaCase
    NoFieldSelectors
    OverloadedLabels
    OverloadedRecordDot
    OverloadedStrings
    QuasiQuotes

  build-depends:
    , base                                   ^>=4.21.0.0
    , bytestring                             ^>=0.12
    , containers                             ^>=0.7
    , effectful-core                         ^>=2.6.1.0
    , hs-opentelemetry-api                   ^>=0.3
    , hs-opentelemetry-semantic-conventions  ^>=0.1
    , hw-kafka-client                        >=5.3       && <6
    , hw-kafka-streamly                      ^>=0.2
    , kafka-effectful                        ^>=0.1
    , shibuya-core                           ^>=0.5
    , stm                                    ^>=2.5
    , streamly                               ^>=0.11
    , streamly-core                          ^>=0.3
    , text                                   ^>=2.1
    , time                                   ^>=1.14
    , unordered-containers                   ^>=0.2

  hs-source-dirs:     src
  default-language:   GHC2024

test-suite shibuya-kafka-adapter-test
  import:             warnings
  default-language:   GHC2024
  type:               exitcode-stdio-1.0
  ghc-options:        -threaded -rtsopts -with-rtsopts=-N
  hs-source-dirs:     test
  main-is:            Main.hs
  default-extensions:
    DeriveAnyClass
    DerivingStrategies
    DuplicateRecordFields
    LambdaCase
    NoFieldSelectors
    OverloadedLabels
    OverloadedRecordDot
    OverloadedStrings
    QuasiQuotes

  other-modules:
    Kafka.TestEnv
    Shibuya.Adapter.Kafka.AdapterTest
    Shibuya.Adapter.Kafka.ConvertTest
    Shibuya.Adapter.Kafka.IntegrationTest

  build-depends:
    , async                                  ^>=2.2
    , base                                   ^>=4.21.0.0
    , bytestring
    , containers
    , effectful-core
    , hs-opentelemetry-api                   ^>=0.3
    , hs-opentelemetry-semantic-conventions  ^>=0.1
    , hw-kafka-client
    , kafka-effectful
    , process
    , random
    , shibuya-core
    , shibuya-kafka-adapter
    , stm
    , streamly
    , streamly-core
    , tasty                                  ^>=1.5
    , tasty-hunit                            ^>=0.10
    , text
    , time
    , unordered-containers                   ^>=0.2