cabal-version: 3.12
name: shibuya-kafka-adapter
version: 0.9.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 && <2.8,
hs-opentelemetry-api ^>=1.0,
hs-opentelemetry-semantic-conventions ^>=1.40,
hw-kafka-client >=5.3 && <6,
hw-kafka-streamly ^>=0.2,
kafka-effectful ^>=0.3.1.0,
shibuya-core ^>=0.9.0.1,
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.AckHandleTest
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 ^>=1.0,
hs-opentelemetry-semantic-conventions ^>=1.40,
hw-kafka-client,
kafka-effectful,
process,
random,
shibuya-core ^>=0.9.0.1,
shibuya-kafka-adapter,
stm,
streamly,
streamly-core,
tasty ^>=1.5,
tasty-hunit ^>=0.10,
text,
time,
unordered-containers ^>=0.2,