packages feed

cassy-0.6: cassy.cabal

Name:                cassy
Version:             0.6
Synopsis:            A high level driver for the Cassandra datastore
License:             BSD3
License-file:        LICENSE
Author:              Ozgun Ataman
Maintainer:          ozataman@gmail.com
Homepage:            http://github.com/ozataman/cassy
Category:            Database
Build-type:          Simple
description:
  The objective is to completely isolate away the thrift layer, providing
  a more idiomatic and naruall Haskell experience working with Cassandra. Be sure
  to check out the README on Github for some more explanation and
  Release Notes, which is helpful in talking about what this library
  can do.
  .
  Certain parts of the API was inspired by pycassa (Python client) and
  hscassandra (on Hackage).
  .
  Please see the Github repository for more detailed documentation,
  release notes and examples.
  .
  A brief explanation of modules:
  . 
  * /Database.Cassandra.Basic/: Contains a low level, simple
    implementation of Cassandra interaction using the thrift API
    underneath.
  .
  * /Database.Cassandra.Marshall/: Intended to be the main high level
    module that you should use, Marshall allows you to pick the
    serialization strategy you would like to use at each function
    call. We recommend using 'casSafeCopy' due to its support for
    evolving data types, although casJSON maybe another popular
    choice.
  .
  * /Database.Cassandra.JSON/: (Now deprecated; use Marshall instead)
    A higher level API that operates on values with ToJSON and
    FromJSON isntances from the /aeson/ library. This module has in
    part been inspired by Bryan O\'Sullivan\'s /riak/ client for
    Haskell.
  .
  * /Database.Cassandra.Pool/: Handles a /pool/ of connections to
    multiple servers in a cluster, splitting the load among them.
  .
  * /Database.Cassandra.Pack/: Handles column types that Cassandra
    recognizes and adds support for Composite Columns.
  .
  * /Database.Cassandra.Types/: A common set of types used everywhere.
  .
  Potential TODOs include:
  .
  * Support for counters and batch mutators
  .
  * Support for database admin operations

-- Extra-source-files:  

Cabal-version:       >=1.8



Library
  hs-source-dirs: src
  Exposed-modules:
    Database.Cassandra.Basic
    Database.Cassandra.Marshall
    Database.Cassandra.JSON
    Database.Cassandra.Pool
    Database.Cassandra.Types
    Database.Cassandra.Pack

  Build-depends:
      base >= 4 && < 5
    , bytestring
    , binary
    , cereal
    , safecopy
    , containers
    , network
    , time
    , mtl
    , stm
    , syb
    , text
    , attoparsec >= 0.10 && < 0.11
    , aeson
    , Thrift >= 0.6
    , cassandra-thrift >= 0.8
    , resource-pool
    , data-default
    , async
    , errors
    , monad-control
    , transformers-base
    , lifted-base
    , retry >= 0.3
    , conduit >= 0.5


test-suite test
  type: exitcode-stdio-1.0
  main-is: Test.hs
  ghc-options: -Wall
  hs-source-dirs: test src
  Build-depends:
      base >= 4 && < 5
    , bytestring
    , binary
    , cereal
    , safecopy
    , containers
    , network
    , time
    , mtl
    , stm
    , syb
    , text
    , attoparsec                >= 0.10    && < 0.11
    , aeson
    , Thrift >= 0.6
    , cassandra-thrift >= 0.8
    , resource-pool
    , data-default
    , errors
    , monad-control
    , transformers-base
    , lifted-base
    , retry >= 0.3

    , test-framework >= 0.6
    , test-framework-quickcheck2 >= 0.2.12.2
    , test-framework-hunit >= 0.2.7
    , QuickCheck
    , HUnit
    , derive