One more information: there are 2 high level clients for Cassandra/Thrift : Pycassa (http://github.com/pycassa/pycassa) and Telephus ( http://github.com/driftx/Telephus).
2010/12/30 Thomas Paviot <tpav...@gmail.com> > A few months ago, I had a look to the Apache Cassandra project ( > http://cassandra.apache.org/), contributed by Facebook, and the Thrift API > (http://thrift.apache.org/). It seems to be an interesting way to design > and deploy distributed databases seamlessly accessible from python. Do > anyone have experimented it? > > 2010/12/29 Dave Cowden <dave.cow...@gmail.com> > > I think that a distributed repository infrastructure is what's needed >> for robust sharing of objects and model data. For sure, such >> repositories would likely be based on a database-- but the repo would >> need to expose crud ( create read update delete) functions via http, >> so it is firwall and internet friendly. >> >> On 12/29/10, jelle feringa <jelleferi...@gmail.com> wrote: >> > Hi, >> > >> > Recently I had enough of storing OCC's cad as files. >> > Sometimes all you need is a database. >> > Turns out that its really easy to do so. Perhaps its worth sharing how >> this >> > can be done... >> > Though this might be pretty trivial technically speaking, it can open up >> > interesting ways of collaborating on projects. >> > >> > -jelle >> > >> > >> > ================================================ >> > from OCC.Utils.Topology import Topo >> > >> > __author__ = 'jdf' >> > >> > >> > from sqlalchemy import * >> > from sqlalchemy.ext.declarative import declarative_base >> > from sqlalchemy.orm import sessionmaker, scoped_session >> > >> > from OCC.Utils.Construct import make_cube >> > #from OCC.TopoDS import TopoDS_Shape >> > # >> > #TopoDS_Shape.__eq__ = lambda x: TopoDS_Shape.IsEqual(x) >> > >> > cube = make_cube(1,1,1) >> > >> > engine = create_engine('sqlite:///jelle.db') >> > Base = declarative_base(bind=engine) >> > Session = scoped_session(sessionmaker(engine)) >> > >> > def comp_brep(brepA, brepB): >> > import ipdb; ipdb.set_trace() >> > print 'jajajaj',brepB, brepA >> > return brepA.IsEqual(brepB) >> > >> > class Individual(Base): >> > '''used to store data about an individual >> > a row forms a generation >> > ''' >> > __tablename__ = 'individual' >> > >> > id = Column(Integer, primary_key=True) >> > #name = Column(String) >> > #fullname = Column(String) >> > #password = Column(String) >> > generation = Column(Integer) >> > ancestor_a = Column(PickleType()) >> > ancestor_b = Column(PickleType()) >> > brep = Column(PickleType(mutable=False)) #comparator=comp_brep)) #) >> ) >> > fitness = Column(Float) >> > >> > Base.metadata.create_all() >> > >> > >> > indy = Individual() >> > indy.ancestor_a = 'parent_a' >> > indy.fitness = 12. >> > indy.ancestor_b = 'parent_a' >> > indy.generation = 1 >> > #indy.id = 0 >> > indy.brep = cube >> > >> > ''' >> > to INSERT many rows very quickly, use the "executemany" style of >> > insertion: >> > >> > >> > connection.execute(table.insert(), [{'foo':'row1'}, {'foo':'row2'}, >> > {'foo':'row3'}, ...]) >> > ''' >> > >> > s = Session() >> > # s.begin() >> > s.add(indy) >> > s.commit() >> > s.close() >> > >> > print('closed the previous db session\nlet\'s see if we can read back >> the >> > objects, that be cool...') >> > >> > engine = create_engine('sqlite:///jelle.db', echo=True) >> > Base = declarative_base(bind=engine) >> > Session = scoped_session(sessionmaker(engine)) >> > s = Session() >> > >> > from OCC.BRep import BRep_Tool >> > bt = BRep_Tool().Pnt >> > >> > for indy in s.query(Individual): >> > print indy.id >> > for i in Topo(indy.brep).vertices(): >> > print bt(i).Coord() >> > ================================================ >> > >> >> -- >> Sent from my mobile device >> >> _______________________________________________ >> Pythonocc-users mailing list >> Pythonocc-users@gna.org >> https://mail.gna.org/listinfo/pythonocc-users >> > >
_______________________________________________ Pythonocc-users mailing list Pythonocc-users@gna.org https://mail.gna.org/listinfo/pythonocc-users