Skip to main content

A powerful, model based Cassandra wrapper for Python.

Project description

https://travis-ci.org/gradfly/maelstrom.svg?branch=develop

A model based database library for Apache Cassandra built on top of DataStax Python Driver. This library has tested support for Python 2.7.

Installation

Installing through pip is recommended:

$ pip install maelstrom-py

You must have setuptools installed prior to installation. To install the package manually please refer to our installation guide.

Get Started

Example usage of Maelstrom:

from uuid import uuid4
import maelstrom
from maelstrom.base import Base
      from maelstrom.lookup import import LookUp

#ip1 and ip2 are IP address of some, but not necessarily all, nodes of your Cassandra cluster.
maelstrom.start([ip1, ip2])

class User(Base):

  __tablename__ = "users"

  defaults = {
    'id' = uuid4(),
    'name' = '',
    'email' = '',
  }

  lookups = ["email"]

  def __init__(self, *args, **kwargs):
    self.update_data(**self.defaults)
    Base.__init__(self, *arks, **kwargs)

#constructs table in the specified keyspace
User.build()
LookUp.build()

new_user = User(name = "Joe", email="example@email.com")
new_user.commit()

get_user = Account.get_by_lookup("example@email.com")

maelstrom.stop()

Documentation

TODO

License

Copyright 2014 Matt Morse, Joe Peacock and contributors

Maelstrom is licensed under the MIT License.

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

maelstrom-py-0.1.32.tar.gz (9.1 kB view hashes)

Uploaded Source

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