Find file
Fetching contributors…
Cannot retrieve contributors at this time
121 lines (113 sloc) 3.32 KB
Name: cassy
Version: 0.8
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.16
Library
default-language: Haskell2010
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
, Thrift >= 0.6
, aeson
, async
, attoparsec >= 0.10 && < 0.14
, binary
, bytestring
, cassandra-thrift >= 0.8
, cereal
, conduit >= 1.1 && < 1.3
, containers
, data-default
, errors
, exceptions
, mtl
, network
, resource-pool
, retry >= 0.7 && < 0.8
, safecopy
, stm
, syb
, text
, time
, transformers-base
test-suite test
type: exitcode-stdio-1.0
main-is: Test.hs
ghc-options: -Wall
hs-source-dirs: test
Build-depends:
base >= 4 && < 5
, cassy
, bytestring
, text
, Thrift
, network
, cassandra-thrift
, time
, containers
, test-framework >= 0.6
, test-framework-quickcheck2 >= 0.2.12.2
, test-framework-hunit >= 0.2.7
, QuickCheck
, HUnit
, derive