keiro-0.3.0.0: keiro.cabal
cabal-version: 3.0
name: keiro
version: 0.3.0.0
synopsis: Event sourcing framework and workflow engine
description:
A library that composes kiroku, keiki, and shibuya into an
event-sourcing and workflow-orchestration framework.
license: BSD-3-Clause
author: Nadeem Bitar
maintainer: nadeem@gmail.com
copyright: 2026 Nadeem Bitar
category: Control
homepage: https://github.com/shinzui/keiro#readme
bug-reports: https://github.com/shinzui/keiro/issues
build-type: Simple
tested-with: GHC >=9.12 && <9.13
extra-doc-files:
CHANGELOG.md
README.md
source-repository head
type: git
location: https://github.com/shinzui/keiro.git
common warnings
ghc-options:
-Wall -Wcompat -Widentities -Wincomplete-record-updates
-Wincomplete-uni-patterns -Wpartial-fields -Wredundant-constraints
common shared
default-language: GHC2024
default-extensions:
DeriveAnyClass
DuplicateRecordFields
MultilineStrings
OverloadedLabels
OverloadedStrings
PackageImports
library
import: warnings, shared
exposed-modules:
Keiro
Keiro.Command
Keiro.Connection
Keiro.DeadLetter
Keiro.DeadLetter.Replay
Keiro.DeadLetter.Schema
Keiro.Inbox
Keiro.Inbox.Kafka
Keiro.Inbox.Schema
Keiro.Inbox.Types
Keiro.Outbox
Keiro.Outbox.Kafka
Keiro.Outbox.Schema
Keiro.Outbox.Types
Keiro.ProcessManager
Keiro.Projection
Keiro.ReadModel
Keiro.ReadModel.Rebuild
Keiro.ReadModel.Schema
Keiro.Router
Keiro.Snapshot
Keiro.Snapshot.Codec
Keiro.Snapshot.Schema
Keiro.Subscription.Shard
Keiro.Subscription.Shard.Schema
Keiro.Subscription.Shard.Worker
Keiro.Telemetry
Keiro.Timer
Keiro.Timer.Schema
Keiro.Timer.Types
Keiro.Wake
Keiro.Workflow
Keiro.Workflow.Awakeable
Keiro.Workflow.Awakeable.Schema
Keiro.Workflow.Child
Keiro.Workflow.Child.Schema
Keiro.Workflow.Gc
Keiro.Workflow.Instance
Keiro.Workflow.Resume
Keiro.Workflow.Schema
Keiro.Workflow.Sleep
Keiro.Workflow.Snapshot
Keiro.Workflow.Types
reexported-modules:
keiro-core:Keiro.Codec,
keiro-core:Keiro.EventStream,
keiro-core:Keiro.EventStream.Validate,
keiro-core:Keiro.Integration.Event,
keiro-core:Keiro.Prelude,
keiro-core:Keiro.Snapshot.Policy,
keiro-core:Keiro.Stream
hs-source-dirs: src
build-depends:
, aeson >=2.2
, aeson-casing >=0.2
, base >=4.21 && <5
, bytestring >=0.11
, containers >=0.6
, contravariant-extras >=0.3
, deepseq >=1.5
, effectful >=2.6
, effectful-core >=2.6
, generic-lens >=2.2
, hasql >=1.10
, hasql-pool >=1.2
, hasql-transaction >=1.1
, hs-opentelemetry-api >=1.0 && <1.1
, hs-opentelemetry-propagator-w3c >=1.0 && <1.1
, hs-opentelemetry-semantic-conventions >=1.40 && <2
, keiki >=0.2 && <0.3
, keiki-codec-json >=0.2 && <0.3
, keiro-core ^>=0.3.0.0
, kiroku-store >=0.3 && <0.4
, lens >=5.2
, mmzk-typeid >=0.7
, scientific >=0.3
, shibuya-core >=0.8.0.1 && <0.9
, stm >=2.5
, streamly >=0.11
, streamly-core >=0.3
, text >=2.1
, time >=1.12
, unliftio-core >=0.2
, uuid >=1.3
, vector >=0.13
test-suite keiro-test
import: warnings, shared
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Main.hs
ghc-options: -threaded -rtsopts -with-rtsopts=-N
build-depends:
, aeson >=2.2
, base >=4.21 && <5
, bytestring >=0.11
, containers >=0.6
, contravariant-extras >=0.3
, effectful >=2.6
, effectful-core >=2.6
, hasql >=1.10
, hasql-pool >=1.2
, hasql-transaction >=1.1
, hs-opentelemetry-api >=1.0 && <1.1
, hs-opentelemetry-exporter-in-memory >=1.0 && <1.1
, hs-opentelemetry-propagator-w3c >=1.0 && <1.1
, hs-opentelemetry-sdk >=1.0 && <1.1
, hs-opentelemetry-semantic-conventions >=1.40 && <2
, hspec >=2.11
, keiki
, keiki-codec-json
, keiro
, keiro-test-support
, kiroku-store >=0.3 && <0.4
, process >=1.6
, shibuya-core >=0.8.0.1 && <0.9
, stm >=2.5
, streamly-core >=0.3
, text >=2.1
, time >=1.12
, unliftio-core >=0.2
, uuid >=1.3
, vector >=0.13
benchmark keiro-bench
import: warnings, shared
type: exitcode-stdio-1.0
hs-source-dirs: bench
main-is: Main.hs
ghc-options: -threaded -rtsopts -with-rtsopts=-N
build-depends:
, base >=4.21 && <5
, bytestring >=0.11
, effectful >=2.6
, hasql-transaction >=1.1
, hs-opentelemetry-api >=1.0 && <1.1
, hs-opentelemetry-sdk >=1.0 && <1.1
, keiro
, keiro-core ^>=0.3.0.0
, keiro-test-support
, kiroku-store >=0.3 && <0.4
, tasty-bench >=0.4
, text >=2.1
, time >=1.12
, uuid >=1.3