[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2373: adopt pyrsistent

Tahoe-LAFS trac at tahoe-lafs.org
Wed Feb 4 17:33:42 UTC 2015


#2373: adopt pyrsistent
-------------------------+---------------------------
 Reporter:  zooko        |          Owner:
     Type:  enhancement  |         Status:  new
 Priority:  normal       |      Milestone:  undecided
Component:  unknown      |        Version:  1.10.0
 Keywords:               |  Launchpad Bug:
-------------------------+---------------------------
 https://warehouse.python.org/project/pyrsistent/

 Immutable data structures. They reduce bugs by avoiding the situation
 where someone mutates a data structure that someone else was counting on
 to stay the same. We already try to use `frozenset` instead of `set` or
 `dict`, where-ever we can, but the pyrsistent library also adds immutable
 dicts and many other useful tools. I still remember staying up all night
 with Daira one time tracking down a bug just before the Tahoe-LAFS v1.8
 release, which turned out to be an accidentally-mutated dict…

 One huge drawback to adopting this, of course, is that it is another
 dependency. However, it is pure-Python and I don't think they're going to
 be making backwards-incompatible changes to the API, so it is a lot less
 costly than some of our dependencies.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2373>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list