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

Reply via email to