kafka-effectful-0.3.1.0: kafka-effectful.cabal
cabal-version: 3.4
name: kafka-effectful
version: 0.3.1.0
synopsis: Effectful effects for hw-kafka-client
description:
Effectful effects and interpreters for hw-kafka-client, a Haskell
binding to Apache Kafka via librdkafka. Provides typed, composable
KafkaProducer and KafkaConsumer effects.
license: MIT
license-file: LICENSE
author: Nadeem Bitar
maintainer: Nadeem Bitar
category: Network, Messaging
build-type: Simple
extra-doc-files:
CHANGELOG.md
README.md
source-repository head
type: git
location: https://github.com/shinzui/kafka-effectful.git
flag examples
description: Build example executables
manual: True
default: False
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:
Kafka.Effectful
Kafka.Effectful.Consumer
Kafka.Effectful.Consumer.Classify
Kafka.Effectful.Consumer.Effect
Kafka.Effectful.Consumer.Interpreter
Kafka.Effectful.OpenTelemetry
Kafka.Effectful.OpenTelemetry.Consumer.Interpreter
Kafka.Effectful.OpenTelemetry.Producer.Interpreter
Kafka.Effectful.OpenTelemetry.Propagation
Kafka.Effectful.OpenTelemetry.Semantic
Kafka.Effectful.Producer
Kafka.Effectful.Producer.Effect
Kafka.Effectful.Producer.Interpreter
Kafka.Effectful.Producer.Transaction
build-depends:
base >=4.21 && <5,
bytestring >=0.11 && <0.13,
case-insensitive >=1.2 && <1.3,
containers >=0.6 && <0.8,
effectful-core >=2.5 && <2.8,
hs-opentelemetry-api ^>=1.0,
hs-opentelemetry-semantic-conventions >=1.40 && <2,
http-types >=0.12 && <0.13,
hw-kafka-client >=5.3 && <6,
text >=2.0 && <2.2,
unliftio-core >=0.2 && <0.3,
unordered-containers >=0.2 && <0.3,
hs-source-dirs: src
default-language: GHC2024
default-extensions:
DataKinds
DuplicateRecordFields
GADTs
GeneralisedNewtypeDeriving
ImportQualifiedPost
LambdaCase
NoFieldSelectors
OverloadedRecordDot
OverloadedStrings
TypeFamilies
TypeOperators
executable example-sync-publish
import: warnings
main-is: SyncPublish.hs
hs-source-dirs: examples
default-language: GHC2024
default-extensions:
ImportQualifiedPost
LambdaCase
OverloadedStrings
TypeApplications
if !flag(examples)
buildable: False
build-depends:
base >=4.21 && <5,
bytestring >=0.11 && <0.13,
effectful-core >=2.5 && <2.8,
hw-kafka-client >=5.3 && <6,
kafka-effectful,
executable example-transactional-etl
import: warnings
main-is: TransactionalEtl.hs
hs-source-dirs: examples
default-language: GHC2024
default-extensions:
ImportQualifiedPost
LambdaCase
OverloadedStrings
TypeApplications
if !flag(examples)
buildable: False
build-depends:
base >=4.21 && <5,
bytestring >=0.11 && <0.13,
containers >=0.6 && <0.8,
effectful-core >=2.5 && <2.8,
hw-kafka-client >=5.3 && <6,
kafka-effectful,
executable example-otel-tracing
import: warnings
main-is: OtelTracing.hs
hs-source-dirs: examples
-- The hs-opentelemetry batch span processor requires the threaded
-- runtime; without it, initializeGlobalTracerProvider raises at
-- runtime.
ghc-options: -threaded
default-language: GHC2024
default-extensions:
DuplicateRecordFields
ImportQualifiedPost
LambdaCase
NoFieldSelectors
OverloadedRecordDot
OverloadedStrings
TypeApplications
if !flag(examples)
buildable: False
build-depends:
base >=4.21 && <5,
bytestring >=0.11 && <0.13,
effectful-core >=2.5 && <2.8,
hs-opentelemetry-api ^>=1.0,
hs-opentelemetry-exporter-otlp ^>=1.0,
hs-opentelemetry-sdk ^>=1.0,
hw-kafka-client >=5.3 && <6,
kafka-effectful,
text >=2.0 && <2.2,
test-suite kafka-effectful-test
import: warnings
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs: test
-- The hs-opentelemetry batch span processor requires the threaded
-- runtime. Without -threaded, even initializing the global tracer
-- provider in PropagationTest's withResource block raises an
-- exception at runtime.
ghc-options: -threaded
default-language: GHC2024
default-extensions:
DataKinds
DuplicateRecordFields
GADTs
ImportQualifiedPost
LambdaCase
OverloadedRecordDot
OverloadedStrings
TypeApplications
TypeOperators
other-modules:
Kafka.Effectful.Consumer.ClassifyTest
Kafka.Effectful.Consumer.InterpreterTest
Kafka.Effectful.OpenTelemetry.ConsumerSpanTest
Kafka.Effectful.OpenTelemetry.PropagationTest
Kafka.Effectful.OpenTelemetry.SemanticTest
Kafka.Effectful.OpenTelemetry.ShibuyaCompatibilityTest
build-depends:
base >=4.21 && <5,
bytestring >=0.11 && <0.13,
case-insensitive >=1.2 && <1.3,
containers >=0.6 && <0.8,
effectful-core >=2.5 && <2.8,
hs-opentelemetry-api ^>=1.0,
hs-opentelemetry-exporter-in-memory ^>=1.0,
hs-opentelemetry-sdk ^>=1.0,
hs-opentelemetry-semantic-conventions >=1.40 && <2,
http-types >=0.12 && <0.13,
hw-kafka-client >=5.3 && <6,
kafka-effectful,
tasty ^>=1.5,
tasty-hunit ^>=0.10,
text >=2.0 && <2.2,
unordered-containers >=0.2 && <0.3,