I have not experimented with it. Though i know little about it, my main question would be around its replication: does it use http protocols for replication, such that the replication wouldnt have problems getting through firewalls?
_____ From: pythonocc-users-boun...@gna.org [mailto:pythonocc-users-boun...@gna.org] On Behalf Of Thomas Paviot Sent: Thursday, December 30, 2010 7:43 AM To: pythonOCC users mailing list. Subject: Re: [Pythonocc-users] writing OCC data to a db 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