Tim Peters discovered that in 2.4 if a weakref's callback is still reachable but the referent and weakref itself are unreachable (Tim's example had an instance that contained a weakref to itself) that the callback is not called during garbage collection. This seemed inconsistent since if the weakref in Tim's example was replaced with an instance that contained a __del__ method that the method would have been called.
Tim would like to clean this up so as to be able to ditch __del__ methods in Python 3000. The idea is that one would register a weakref with a callback for an object in itself that would be called when it is garbage collected. This would also negate the need for gc.garbage .
- Contributing threads:
-
The idea of including pysqlite in the stdlib came up once again (note this is the wrapper for SQLite and not SQLite itself). The arguments for including the module were that SQLite is most likely used more than Sleepycat and thus deserved a place in the stdlib if bsddb did. It also goes along with Python's idea of "batteries included".
Arguments against the proposal started with the idea that sanctioning pysqlite over other SQLite wrappers was improper. People also thought that including bsddb might not be correct anymore and thus should not be used as a basis for including pysqlite.
This all then led into a discussion about package management and how to simplify extending what can be installed at compile-time. The idea of pushing PyPI came up as well as revising PEP 206.
- Contributing threads:
-
With Python 2.4 out, maintaining 2.3 is no longer a priority. Anthony Baxter, our beloved release manager, has said that 2.3.5 will be most likely coming out in January. After that, though, don't count on another 2.3 release since 2.4 will take its place as the version to maintain.
All of this came about by the fact that Facundo Batista asked if closing 2.1 bugs was okay. As long as they have been fixed in the earliest version being maintained, closing them is fine. This goes for 2.2 as well. And as soon as 2.3.5 is released this will most likely apply to 2.3 bugs.
- Contributing threads:
-
There are multiple servers in the core for handling communications in both a synchronous and asynchronous manner. The idea came up of developing an API that all servers could follow in the core. While the discussion went back and forth with multiple mentions of PEAK, Twisted, and greenlets, in the end the trend of the discussion suggested doing this well would be very difficult and not worth the effort. asyncore and asynchat also seemed to be deemed worth deprecation and thus not worth using.
- Contributing threads:
-
The idea was proposed of introducing sys.gettickeraccumulation which would contain the number of opcodes executed since the interpreter started. The idea is that you can get a rough estimate of how much time is being spent in Python code. The value of this has wavered back and forth with no clear answer.
If it does get included it will not be on by default.
- Contributing threads:
-