pqi-native-0.0.1.0: pqi-native.cabal
cabal-version: 3.0
name: pqi-native
version: 0.0.1.0
category: Database, PostgreSQL
synopsis: Native (pure-Haskell) adapter for pqi
description:
A @pqi@ adapter that speaks the PostgreSQL frontend\/backend wire
protocol directly, with no dependency on the C @libpq@ library. The transport
layer (framing, message serialization\/deserialization, socket I\/O) is
isolated in an internal @transport@ sub-library built on @ptr-poker@ and
@ptr-peeker@; the public library is an abstraction over it that implements the
@pqi@ capability classes.
homepage: https://github.com/nikita-volkov/pqi-native
bug-reports: https://github.com/nikita-volkov/pqi-native/issues
author: Nikita Volkov <nikita.y.volkov@mail.ru>
maintainer: Nikita Volkov <nikita.y.volkov@mail.ru>
copyright: (c) 2026, Nikita Volkov
license: MIT
license-file: LICENSE
extra-doc-files:
CHANGELOG.md
LICENSE
README.md
source-repository head
type: git
location: https://github.com/nikita-volkov/pqi-native
common base
default-language: Haskell2010
default-extensions:
ApplicativeDo
BangPatterns
BinaryLiterals
BlockArguments
ConstraintKinds
DataKinds
DefaultSignatures
DeriveDataTypeable
DeriveFoldable
DeriveFunctor
DeriveTraversable
DerivingStrategies
DerivingVia
DuplicateRecordFields
EmptyDataDecls
ExistentialQuantification
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
GeneralizedNewtypeDeriving
LambdaCase
LiberalTypeSynonyms
MagicHash
MultiParamTypeClasses
MultiWayIf
NamedFieldPuns
NoFieldSelectors
NoImplicitPrelude
NoMonomorphismRestriction
NumericUnderscores
OverloadedRecordDot
OverloadedStrings
ParallelListComp
PatternGuards
QuasiQuotes
RankNTypes
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
StrictData
TemplateHaskell
TupleSections
TypeApplications
TypeFamilies
TypeOperators
UnboxedTuples
ViewPatterns
common test
import: base
ghc-options:
-threaded
-with-rtsopts=-N
library comms
import: base
visibility: public
hs-source-dirs: src/comms
exposed-modules:
Pqi.Native.Comms
build-depends:
base >=4.11 && <5,
bytestring >=0.10 && <0.13,
ptr-peeker ^>=0.2,
ptr-poker ^>=0.1.3,
transformers >=0.5 && <0.7,
library transport
import: base
visibility: public
hs-source-dirs: src/transport
exposed-modules:
Pqi.Native.Transport
Pqi.Native.Transport.Message
other-modules:
Pqi.Native.Transport.Prelude
build-depends:
base >=4.11 && <5,
bytestring >=0.10 && <0.13,
network >=3.1 && <3.3,
pqi-native:comms,
ptr-poker ^>=0.1.3,
transformers >=0.5 && <0.7,
library
import: base
hs-source-dirs: src/library
exposed-modules:
Pqi.Native
other-modules:
Pqi.Native.Auth
Pqi.Native.Connection
Pqi.Native.LargeObject
Pqi.Native.Prelude
Pqi.Native.Query
Pqi.Native.Types
build-depends:
base >=4.11 && <5,
base64-bytestring >=1.2 && <1.3,
bytestring >=0.10 && <0.13,
containers >=0.6 && <0.9,
crypton >=0.34 && <2,
pqi ^>=0,
pqi-native:transport,
ptr-poker ^>=0.1.3,
test-suite native-test
import: test
type: exitcode-stdio-1.0
hs-source-dirs: src/test
main-is: Spec.hs
build-depends:
base >=4.11 && <5,
hspec >=2.11 && <2.12,
pqi-conformance,
pqi-native,