[Pyobjc-dev] PyObjC 2.x status
Brought to you by:
ronaldoussoren
From: Ronald O. <ron...@ma...> - 2009-02-03 13:14:42
|
This is short update on the current status of PyObjC 2.x. Development of PyObjC is still moving forward, although much slower than I'd like. The primary reason for the lack of progress is that I'm working on test coverage for the framework wrappers, which is necessary but very unrewarding work. I'm getting ever closer to finishing that task, and therefore closer to a release... The current status: Most frameworks now have full test coverage for API's defined in header files. That is, all functions defined in header files are called, as well as methods with difficult signatures (buffer arguments, in/out/inout arguments, ...). Furthermore constant definitions are checked as well. Adding these tests is timeconsuming, but necessary because it is the only way to know if the framework wrappers are actually working. While adding these tests I've fixed a number of bugs, both in the framework wrappers and the core. The major frameworks that don't have full test coverage yet are Cocoa, Quartz and WebKit. All of them are large and contain a lot of functionality that needs actual testing. Plans for the near future: I hope to finish the test coverage before PyCon'09. The next PyObjC (and the first one in a very long time) will be done when test coverage is finished. There is still a lot of work to do for releases beyond that: * All examples need to be tested and cleaned up. All references to PyObjCTools.AutoBaseClass should be removed from example code. * The documentation and website need some loving, most information is there but not in necessarily in a easily findable or comprehensible manner. * Py2app needs work as well. It should be way more egg-aware and should contain better hooks for adding functionality (such as a way to add "recipes" from external packages). * PyObjC 2.x should already support Tiger, but I'm not testing that support because I don't need it. I haven't even looked at supporting Snow Leopard yet. With some luck this only needs updated framework wrappers, and some support for new language features. Ronald |