Search.setIndex({docnames:["api","api/attributes","api/cache","api/collections","api/interfaces","api/pickling","glossary","index","using"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["api.rst","api/attributes.rst","api/cache.rst","api/collections.rst","api/interfaces.rst","api/pickling.rst","glossary.rst","index.rst","using.rst"],objects:{"persistent.interfaces":[[4,1,1,"","IPersistent"],[4,1,1,"","IPersistentDataManager"],[4,1,1,"","IPickleCache"]],"persistent.interfaces.IPersistent":[[4,2,1,"","__delattr__"],[4,2,1,"","__getattribute__"],[4,2,1,"","__getstate__"],[4,2,1,"","__reduce__"],[4,2,1,"","__setattr__"],[4,2,1,"","__setstate__"],[4,2,1,"","_p_activate"],[4,3,1,"","_p_changed"],[4,2,1,"","_p_deactivate"],[4,2,1,"","_p_delattr"],[4,3,1,"","_p_estimated_size"],[4,2,1,"","_p_getattr"],[4,2,1,"","_p_invalidate"],[4,3,1,"","_p_jar"],[4,3,1,"","_p_mtime"],[4,3,1,"","_p_oid"],[4,3,1,"","_p_serial"],[4,2,1,"","_p_setattr"],[4,3,1,"","_p_state"]],"persistent.interfaces.IPersistentDataManager":[[4,3,1,"","_cache"],[4,2,1,"","oldstate"],[4,2,1,"","register"],[4,2,1,"","setstate"]],"persistent.interfaces.IPickleCache":[[4,2,1,"","__delitem__"],[4,2,1,"","__getitem__"],[4,2,1,"","__len__"],[4,2,1,"","__setitem__"],[4,3,1,"","cache_data"],[4,3,1,"","cache_drain_resistance"],[4,3,1,"","cache_klass_count"],[4,3,1,"","cache_non_ghost_count"],[4,3,1,"","cache_size"],[4,2,1,"","debug_info"],[4,2,1,"","full_sweep"],[4,2,1,"","get"],[4,2,1,"","incrgc"],[4,2,1,"","invalidate"],[4,2,1,"","items"],[4,2,1,"","klass_items"],[4,2,1,"","lru_items"],[4,2,1,"","minimize"],[4,2,1,"","new_ghost"],[4,2,1,"","ringlen"],[4,2,1,"","update_object_size_estimation"]],persistent:[[4,0,0,"-","interfaces"]]},objnames:{"0":["py","module","Python module"],"1":["py","interface","interface"],"2":["py","method","Python method"],"3":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:interface","2":"py:method","3":"py:attribute"},terms:{"0":[2,4,5,8],"00000012":8,"1":[1,2,5,8],"10":2,"100":2,"1000":8,"1024":8,"2":[1,5,8],"24":8,"3":[1,4,5,8],"42":8,"43":8,"5":8,"6":4,"8":4,"99":5,"byte":4,"case":[1,8],"class":[1,2,4,5,8],"default":[1,4,8],"do":[4,5,8],"float":4,"import":[1,2,5,8],"return":[1,4,8],"short":[4,6],"true":[1,2,4,5,8],"try":8,"while":4,A:[4,8],And:1,At:4,By:4,For:[4,8],If:[1,4,8],In:[1,4],It:[1,4,5,7],Its:8,No:1,Of:8,The:[1,2,3,4,5,6,7],There:4,These:6,_:5,__class__:8,__delattr__:[4,8],__delitem__:4,__dict__:[1,5,8],__getattr__:[0,8],__getattribute__:[4,8],__getitem__:4,__getnewargs__:5,__getstate__:[4,5,8],__init__:8,__len__:4,__module__:5,__name__:5,__new__:2,__newobj__:5,__reduce__:[4,5],__repr__:8,__setattr__:[4,8],__setitem__:4,__setstate__:[4,5,8],__slot:5,__slots__:5,_cach:[4,8],_mru:8,_p_:[4,5,8],_p_activ:[4,8],_p_activate_p_deactiv:8,_p_chang:[1,2,4,8],_p_deactiv:[1,2,4,8],_p_delattr:[1,4,8],_p_estimated_s:[4,8],_p_getattr:[4,8],_p_invalid:[2,4,8],_p_jar:[1,2,4,8],_p_mtime:4,_p_name:4,_p_oid:[1,2,4,8],_p_repr:[4,7],_p_serial:[4,8],_p_setattr:[1,4,8],_p_state:[2,4,7],_rememberingjar:1,_resettingjar:1,_v_:5,_v__:8,_v_foo:8,aaa:5,abort:4,about:4,abov:4,access:[0,2,4,6,7,8],activ:[1,4,6,8],ad:4,add:[1,2,4],addit:8,adjust:8,affect:8,after:[4,5,8],alia:[4,6],all:[0,4,8],allow:[1,4],alreadi:4,also:[1,4,6,8],although:4,alwai:8,an:[1,2,4,6,7],ani:[1,4,5,6,8],anoth:4,anyth:4,api:[4,7],append:8,applic:[4,7],ar:[1,2,3,4,5,6,8],argument:[1,4],ask:[1,8],assign:[1,2,4,5,8],associ:[4,6,7],assum:[2,8],attempt:[1,8],attr:5,attrhook:1,attribut:[0,4,5,6,7],attributeerror:1,automat:8,awai:4,ax:5,ay:5,b:[2,8],back:[6,8],backward:8,bam:5,bar:5,base:[4,5,8],basic:8,baz:5,bbb:5,becaus:[1,6,8],becom:4,been:[4,6,8],befor:[1,4,8],begin:8,behav:8,behavior:8,being:[4,8],below:[4,8],benefit:8,between:8,bit:8,bound:8,c:[2,4,5],cach:[0,1,4,6,7],cache_data:4,cache_drain_resist:4,cache_klass_count:4,cache_non_ghost_count:[2,4],cache_s:4,call:[1,2,4,6,8],can:[1,2,4,8],candid:8,cannot:4,capabl:8,captur:6,caught:4,caus:[4,6,8],central:2,chang:[1,4,6,8],choos:4,close:8,code:4,coercibl:8,collect:[0,4,7],come:8,commit:[1,4],compat:8,comput:4,connect:[4,8],consist:4,constant:8,constraint:[4,8],constructor:1,contain:[4,7,8],content:7,context:4,continu:4,contitu:4,control:7,convert:1,copi:4,copyreg:5,core:7,correspond:4,corrspond:4,could:[2,4],cours:8,creat:[0,1,4,8],creation:8,cucumb:5,current:[2,4,8],custom:[0,4,5,7,8],d:5,data:[1,2,4,6,7],databas:[1,4,7,8],de:0,deactiv:[1,4,6,8],debug:4,debug_info:4,decoupl:2,def:8,defin:[4,5,8],del:[1,8],deleg:[4,8],delet:[1,2,4,8],deriv:[5,8],describ:8,design:5,detect:4,dict:[4,8],dictionari:1,differ:[4,8],directli:[1,2],dirti:4,disappear:6,discard:[4,6],discuss:4,distiguish:4,distinct:4,dm:8,document:7,doe:[1,4],doesn:[1,2,4,8],don:[1,4,8],down:4,drain:4,dump:5,duplic:4,dure:[4,6],e:[4,8],each:[4,8],earlier:[4,8],effect:8,egg:1,either:[6,8],els:4,empti:4,end:4,enforc:4,ensur:[4,8],epoch:4,equival:4,error:4,estim:[4,7],etc:[2,8],even:[4,5,8],event:2,exactli:8,exampl:[1,8],except:[4,8],exist:4,explicitli:7,expos:8,extend:4,extra:8,f:5,factor:4,fake:1,fake_commit:1,fals:[1,4,8],far:2,field:8,find:1,first:[1,4,8],fit:8,flag:8,follow:4,foo:5,forc:[4,8],form:7,found:4,from:[1,2,4,5,6,7],full:4,full_sweep:4,further:4,futur:2,g:[4,8],garbag:4,gener:[2,7],get:[1,4,8],ghost:[1,2,4,6,8],ghostifi:[2,4],give:1,given:[2,4,6],glossari:7,ha:[2,4,6,8],handl:[1,4,8],happen:4,happi:5,have:[1,2,4,5,8],haven:5,help:8,here:4,hold:6,hook:0,how:[1,4,8],howev:4,huh:8,i:[4,8],id:[4,8],ident:4,identifi:4,ignor:[4,5],immedi:[4,8],implement:[0,1,2,7],implementor:1,inc:8,includ:[4,8],increment:4,incrgc:4,independ:4,index:7,indic:4,inform:2,inherit:[1,7],initi:[1,2,8],instanc:[1,8],instead:[4,8],integ:8,intend:4,interact:[4,7,8],interfac:[0,2,7,8],intern:[2,8],intim:2,invalid:[4,6,8],iperist:2,ipersist:[4,8],ipersistentdatamanag:[4,8],ipicklecach:4,isn:[1,8],item:4,iter:4,its:[2,4,6,7],itself:4,jar:[1,2,6,8],just:2,keep:[3,4,8],kei:[1,8],keyerror:4,keyword:1,klass_item:4,known:4,last:[1,4,8],later:8,layout:4,least:8,leav:8,len:4,lifecycl:8,like:8,list:8,live:4,ll:1,load:[4,5,6,8],lru:4,lru_item:4,m:4,machineri:[1,5,8],mai:4,maintain:8,make:[1,4,5,7,8],manag:[2,4,6,7],manual:8,map:5,mark:[1,4,8],mechan:8,member:4,memori:4,meta:[2,4],metadata:4,method:[1,2,4,8],middl:4,minim:4,miss:[1,8],mix:8,modif:[4,8],modifi:[1,4,8],modul:7,more:2,most:[1,8],move:[4,6,8],mru:[6,8],much:1,must:[1,4,8],mutat:[3,6,8],name:[1,4,8],namespac:5,necessari:[1,4],need:[1,8],neg:8,never:4,new_ghost:[2,4],new_siz:4,newli:2,next:1,non:[2,4,8],none:[1,2,4,8],normal:[4,5,8],note:[4,5,8],notic:8,notifi:8,novo:0,now:1,nul:4,number:4,o:[1,4],ob:[2,8],obei:8,obj:4,objec:4,object:[0,1,4,6],obtain:4,occur:4,oid:[4,8],oldstat:4,onc:[4,8],one:[4,8],onli:[2,4],onto:5,op:8,oper:4,oppos:2,optim:4,option:4,order:[4,8],other:[1,4,8],otherwis:4,our:[1,4],out:8,over:4,overrid:[1,2,4,5,7],overridesgetattr:1,p:[4,8],packag:[3,4,7],page:7,paramet:4,part:[4,6],pass:[2,4,8],perform:4,perist:4,persist:[1,6],persistent_class:4,persistentlist:8,persistentmap:8,pickl:[0,4,6,7],picklabl:4,picklecach:2,place:3,point:8,polici:[1,4],possibl:4,prefer:4,prefix:[5,8],pretti:1,prevent:4,print:8,print_dict:5,prior:4,properli:2,properti:4,protocol:7,provid:[1,2,3,4,8],put:8,python2:5,python:[4,5,8],quit:4,rais:[4,8],rather:2,re:4,reactiv:1,read:4,realli:2,reason:[4,8],recent:[1,8],record:4,reduc:[4,8],refcount:4,refer:[4,6,8],regist:[4,8],regular:8,relat:2,relationship:7,reload:[4,8],remain:[4,8],rememb:1,remov:[4,8],replac:[5,8],repr:[4,8],repres:[4,8],represent:8,request:[4,8],requir:[4,8],reserv:4,reset:8,resettingjar:2,respons:[2,6,8],rest:8,result:4,retain:8,retriev:6,revis:4,right:2,ring:4,ringlen:4,root:4,routin:4,s1:5,s2:5,s3:5,s4:5,s:[1,2,4,5,6,8],safer:8,same:[1,8],sampl:1,save:[1,4,8],scratch:2,search:7,second:4,secret:1,see:[1,4],self:8,semant:4,separ:4,sequenc:4,serial:[4,6],servic:4,set:[1,4,8],setstat:[4,8],sever:4,should:4,show:1,side:8,simpl:[3,5],sinc:[4,8],size:[4,7],skip:4,slot:5,so:[1,2,8],some:[1,4,8],someon:4,somewhat:8,sort:8,sourc:4,spam:[1,5],special:[1,4,8],specif:4,standard:5,start:1,state:[2,4,5,6,8],sticki:4,still:8,storag:8,store:[1,6,8],strategi:8,string:4,stub:8,subclass:[4,8],subsequ:8,subslot:5,subsubslot:5,support:[1,5],sure:[1,4],sweep:4,t:[1,2,4,5,8],take:1,target:4,test:[1,2,4,5],than:8,thei:[3,4,8],themselv:[5,8],thi:[1,4,5,7,8],those:8,thread:4,three:8,thrown:4,thu:6,ti:2,tid:4,time:[4,8],tmp_:1,tmp_foo:1,tmp_z:1,to_invalid:4,token:4,too:1,traceback:[1,8],track:[3,8],tradition:6,transact:[4,8],transit:4,transpar:7,treat:4,tricki:2,tupl:[1,4],two:[3,4],typenam:4,typic:4,under:4,unghostifi:4,unicod:4,uniniti:2,uniqu:8,unlik:8,unload:4,unmark:4,unpickl:8,unsav:4,until:8,up:[2,4],updat:[2,4],update_object_size_estim:4,upper:1,uptod:[4,6,8],us:[4,7],usag:2,usual:4,util:2,valu:[1,4,5,8],valueerror:[1,4,8],variabl:1,version:8,verypriv:1,volatil:[1,5,6,8],wa:[1,4,8],wai:[4,8],we:[1,4,5,8],well:[5,8],what:8,when:[3,4,8],whether:4,which:[1,4,5,6,8],whose:[6,8],why:8,within:1,without:7,work:[1,5,8],written:4,wrote:4,x:[1,5,8],xxx:4,y:[1,5],yet:[5,6,8],you:8,your:7,z:5,zodb:[4,7,8],zope:8},titles:["persistent API documentation","Customizing Attribute Access","Caching Persistent Objects","Persistent Collections","persistent.interfaces","Pickling Persistent Objects","Glossary","persistent: automatic persistence for Python objects","Using persistent in your application"],titleterms:{The:8,__delattr__:1,__getattr__:1,__getattribute__:1,__setattr__:1,_p_repr:8,_p_state:8,access:1,all:1,an:8,api:0,applic:8,associ:8,attribut:[1,8],automat:7,cach:[2,8],collect:3,control:8,creat:2,custom:1,data:8,de:2,document:0,estim:8,explicitli:8,from:8,glossari:6,hook:1,implement:[4,8],indic:7,inherit:8,interfac:4,its:8,manag:8,novo:2,object:[2,5,7,8],overrid:8,persist:[0,2,3,4,5,7,8],pickl:[5,8],protocol:8,python:7,relationship:8,size:8,tabl:7,us:8,without:8,your:8}})