packages feed

shibuya-kafka-adapter-0.2.0.0: shibuya-kafka-adapter.cabal

cabal-version:   3.12
name:            shibuya-kafka-adapter
version:         0.2.0.0
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
    Shibuya.Adapter.Kafka.Tracing

  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
    , hw-kafka-client       >=5.3       && <6
    , hw-kafka-streamly     ^>=0.1
    , kafka-effectful       ^>=0.1
    , shibuya-core          ^>=0.1.0.0
    , stm                   ^>=2.5
    , streamly              ^>=0.11
    , streamly-core         ^>=0.3
    , text                  ^>=2.1
    , time                  ^>=1.14

  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
    Shibuya.Adapter.Kafka.TracingTest

  build-depends:
    , async                  ^>=2.2
    , base                   ^>=4.21.0.0
    , bytestring
    , containers
    , effectful-core
    , hs-opentelemetry-api   ^>=0.3
    , 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