kiroku-store-0.2.0.0: kiroku-store.cabal
cabal-version: 3.0
name: kiroku-store
version: 0.2.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
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
, 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.CategoryIdleNoSpin
Test.Causation
Test.Concurrency
Test.ConsumerGroup
Test.ConsumerGroupEffect
Test.ConsumerGroupSql
Test.EventTypeFilter
Test.FailureInjection
Test.Helpers
Test.InterpreterHooks
Test.Properties
Test.PublisherRestartNoRebroadcast
Test.ReadStream
Test.StreamNameLookup
Test.SubscriptionPauseResume
Test.SubscriptionReconnect
Test.SubscriptionRegistry
Test.SubscriptionRetryDeadLetter
Test.SubscriptionState
Test.Transaction
ghc-options: -threaded -rtsopts -with-rtsopts=-N
build-depends:
, aeson >=2.1 && <2.3
, async >=2.2 && <2.3
, base >=4.18 && <5
, 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-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
, 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
, 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.6 && <0.7
, 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