Skip to main content

Twisted CQL Cassandra Client

Project description

build coverage

Silverberg is a connection pooled, low-level client API for Cassandra CQL3 in Twisted python.

Named after the SSS Silverberg, which contained the computer Cassandra in an episode of Red Dwarf. Hey, all of the mythological references to Cassandra are all getting kinda old, no?

CQL3 is the new query language for Apache Cassandra 1.2 and onward. You can use it almost, but not quite, like SQL from a traditional relational database.

CQL3 reference

https://cassandra.apache.org/doc/cql3/CQL.html

Installation

pip install silverberg

Prerequisites:

  • Python >= 2.7

  • Twisted

  • Thrift

  • Cassandra >= 1.2

Version History

  • 0.1.12
    • Marshalling list correctly

  • 0.1.11
    • Unmarshalling bool type

  • 0.1.10
    • (vvoznesensky) Fixed authentication

  • 0.1.9
    • (harii) Adding new timestamp type from Cassandra 2.0

  • 0.1.8
    • Option to disconnect TCP connection when cancelling running query

  • 0.1.7
    • (jmahonin) Added support for unmarshalling Cassandra list types, double

      types, and 32-bit signed int types (int, as opposed to varint)

    • fixed incompatibility with Python 2.6

  • 0.1.6
    • Added disconnect() method to LoggingCQLClient

  • 0.1.5
    • Different claim ids are logged when lock is not acquired

    • Removed logging of intermittent ‘Released lock’ messages that occurred when lock acquisition was tried again

    • Logging node info when connection to a node is lost in an unclean fashion

  • 0.1.4
    • LoggingCQLClient logs cql failures as msg

    • null values unmarshal correctly now, no matter what the type, because null values will just always be unmarshalled as None

    • BasicLock takes optional log argument that if given logs when the lock was acquired and released along with time taken

  • 0.1.3
    • RoundRobinCassandraCluster tries the next node in the cluster if it gets conection error

    • LoggingCQLClient class implemented that will log every CQL query, parameters and seconds taken to execute the query

    • Fixed bug in locks recipe where it didn’t get row in some rare scenarios

    • Fix marshalling of counter

    • Issue with how round robin cluster keeps track of rotating client

  • 0.1.2
    • Fix marshalling of timestamps

  • 0.1.1
    • Adding locks recipe for cassandra-based named locks

  • 0.1.0
    • Changed API, cleaned up return valeus

  • 0.0.x
    • Early development version

Running Tests and Lint

make test and make lint

License

Silverberg is distributed under the Apache license v2.0. See LICENSE.txt

Contributing

We love pull requests! Please:

  • Follow reasonable GitHub Pull Request practices

  • Make sure that your new contributed code contains reasonable unit tests

  • Unit tests and lint continue to pass

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

silverberg-0.1.12.tar.gz (58.4 kB view details)

Uploaded Source

File details

Details for the file silverberg-0.1.12.tar.gz.

File metadata

  • Download URL: silverberg-0.1.12.tar.gz
  • Upload date:
  • Size: 58.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for silverberg-0.1.12.tar.gz
Algorithm Hash digest
SHA256 29bf534e532227c7915b15db41063c96ee6aeb0ef0737ee7b7f0d39f97db35fa
MD5 295cfe93b658b0ffeb74d7926c1e5abd
BLAKE2b-256 a9288e01785d7f7799886950cc14754cf0aadaef4c739d0704d6f85c68629d9a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page