kiroku-store-0.4.0.0: kiroku-store.cabal
cabal-version: 3.0
name: kiroku-store
version: 0.4.0.0
synopsis: High-performance PostgreSQL event store
description:
Kiroku is a PostgreSQL-backed event store for Haskell applications. It
provides append, read, link, lifecycle, transaction, subscription, consumer
group, and observability primitives around immutable domain events.
homepage: https://github.com/shinzui/kiroku
bug-reports: https://github.com/shinzui/kiroku/issues
author: Nadeem Bitar
maintainer: nadeem@gmail.com
license: BSD-3-Clause
build-type: Simple
category: Database, Eventing
extra-doc-files: CHANGELOG.md
source-repository head
type: git
location: https://github.com/shinzui/kiroku.git
common common
default-language: GHC2024
default-extensions:
DeriveAnyClass
DuplicateRecordFields
OverloadedLabels
OverloadedStrings
library
import: common
exposed-modules:
Kiroku.Store
Kiroku.Store.Append
Kiroku.Store.Causation
Kiroku.Store.Connection
Kiroku.Store.Effect
Kiroku.Store.Effect.Resource
Kiroku.Store.Error
Kiroku.Store.Lifecycle
Kiroku.Store.Link
Kiroku.Store.Notification
Kiroku.Store.Observability
Kiroku.Store.Read
Kiroku.Store.Settings
Kiroku.Store.SQL
Kiroku.Store.Subscription
Kiroku.Store.Subscription.Effect
Kiroku.Store.Subscription.EventPublisher
Kiroku.Store.Subscription.Fsm
Kiroku.Store.Subscription.Stream
Kiroku.Store.Subscription.Types
Kiroku.Store.Subscription.Worker
Kiroku.Store.Transaction
Kiroku.Store.Types
other-modules: Kiroku.Store.Subscription.CheckpointInventory.SQL
build-depends:
, aeson >=2.1 && <2.3
, async >=2.2 && <2.3
, base >=4.18 && <5
, bytestring >=0.11 && <0.13
, containers >=0.6 && <0.8
, contravariant-extras >=0.3 && <0.4
, effectful-core >=2.4 && <2.7
, generic-lens >=2.2 && <2.4
, hasql >=1.10 && <1.11
, hasql-notifications >=0.2 && <0.3
, hasql-pool >=1.2 && <1.5
, hasql-transaction >=1.1 && <1.3
, lens >=5.2 && <5.4
, mmzk-typeid >=0.6 && <0.8
, mtl >=2.3 && <2.4
, stm >=2.5 && <2.6
, streamly-core >=0.3 && <0.4
, text >=2.0 && <2.2
, time >=1.12 && <1.15
, unliftio-core >=0.2 && <0.3
, uuid >=1.3 && <1.4
, vector >=0.13 && <0.14
hs-source-dirs: src
test-suite kiroku-store-test
import: common
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs: test
other-modules:
Test.CatchupDbErrorNoPrematureSwitch
Test.Category
Test.CategoryIdleNoSpin
Test.Causation
Test.Concurrency
Test.ConsumerGroup
Test.ConsumerGroupEffect
Test.ConsumerGroupSql
Test.EventTypeFilter
Test.FailureInjection
Test.Helpers
Test.InterpreterHooks
Test.NotifyGuard
Test.Properties
Test.PublisherCallbackResilience
Test.PublisherIdleAdvance
Test.PublisherRestartNoRebroadcast
Test.ReadStream
Test.StartupFailureSurfacing
Test.StreamBridgeTermination
Test.StreamNameLookup
Test.SubscriptionCheckpointInventory
Test.SubscriptionCheckpointInventoryMock
Test.SubscriptionPauseResume
Test.SubscriptionReconnect
Test.SubscriptionRegistry
Test.SubscriptionRetryDeadLetter
Test.SubscriptionState
Test.Transaction
Test.TruncateBefore
ghc-options: -threaded -rtsopts -with-rtsopts=-N
build-depends:
, aeson >=2.1 && <2.3
, async >=2.2 && <2.3
, base >=4.18 && <5
, bytestring >=0.11 && <0.13
, containers >=0.6 && <0.8
, contravariant-extras >=0.3
, directory
, effectful-core >=2.4 && <2.7
, ephemeral-pg >=0.2 && <0.3
, generic-lens >=2.2 && <2.4
, hasql >=1.10 && <1.11
, hasql-notifications >=0.2 && <0.3
, hasql-pool >=1.2 && <1.5
, hasql-transaction >=1.1 && <1.3
, hedgehog >=1.4 && <1.8
, hspec >=2.10 && <2.12
, hspec-hedgehog >=0.0 && <0.4
, kiroku-store
, kiroku-test-support
, lens >=5.2 && <5.4
, mmzk-typeid >=0.6 && <0.8
, stm >=2.5 && <2.6
, streamly-core >=0.3 && <0.4
, text >=2.0 && <2.2
, time >=1.12 && <1.15
, uuid >=1.3 && <1.4
, vector >=0.13 && <0.14
benchmark kiroku-store-bench
import: common
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs: bench
ghc-options: -threaded -rtsopts "-with-rtsopts=-N -A32m"
build-depends:
, aeson >=2.1 && <2.3
, async >=2.2 && <2.3
, base >=4.18 && <5
, deepseq >=1.4
, ephemeral-pg >=0.2 && <0.3
, generic-lens >=2.2 && <2.4
, hasql >=1.10 && <1.11
, hasql-pool >=1.2 && <1.5
, hasql-transaction >=1.1 && <1.3
, kiroku-store
, kiroku-test-support
, lens >=5.2 && <5.4
, mmzk-typeid >=0.6
, tasty-bench >=0.4
, text >=2.0 && <2.2
, time >=1.12 && <1.15
, uuid >=1.3 && <1.4
, vector >=0.13 && <0.14
benchmark kiroku-shibuya-overhead
import: common
type: exitcode-stdio-1.0
main-is: ShibuyaOverhead.hs
hs-source-dirs: bench
ghc-options: -threaded -rtsopts "-with-rtsopts=-N -A32m"
build-depends:
, aeson >=2.1 && <2.3
, base >=4.18 && <5
, containers >=0.6 && <0.8
, effectful >=2.4 && <2.7
, effectful-core >=2.4 && <2.7
, ephemeral-pg >=0.2 && <0.3
, generic-lens >=2.2 && <2.4
, kiroku-store
, lens >=5.2 && <5.4
, shibuya-core >=0.8 && <0.9
, stm >=2.5 && <2.6
, streamly >=0.11
, streamly-core >=0.3 && <0.4
, text >=2.0 && <2.2
, time >=1.12 && <1.15
, unliftio >=0.2
, unordered-containers >=0.2 && <0.3
, uuid >=1.3 && <1.4
benchmark kiroku-store-bench-explain
import: common
type: exitcode-stdio-1.0
main-is: Explain.hs
hs-source-dirs: bench
ghc-options: -threaded -rtsopts "-with-rtsopts=-N -A32m"
build-depends:
, aeson >=2.1 && <2.3
, base >=4.18 && <5
, bytestring >=0.11 && <0.13
, directory >=1.3
, ephemeral-pg >=0.2 && <0.3
, filepath >=1.4
, generic-lens >=2.2 && <2.4
, hasql >=1.10 && <1.11
, hasql-pool >=1.2 && <1.5
, kiroku-store
, lens >=5.2 && <5.4
, text >=2.0 && <2.2
, time >=1.12 && <1.15
, uuid >=1.3 && <1.4
, vector >=0.13 && <0.14