MINUTES, 2009.05.12 Present: Chris, Istvan, Jenny, Marek, Namshin
1. Open issues All outstanding reviews completed except Titus's. Issue 89. Chris: shelve does writeback=False by default, changing this to True in Pygr would go against the general spirit - plus of course cause massive memory usage. What would the benefits be? Namshin: after posting, original issue turned out to be invalid - switching to True doesn't improve performance; the problem is indexing & how it can be redone. Chris: looks like an 0.9 issue (MS will tag it appropriately in the tracker), that said this should be easy to improve - specifically for Solexa, one can simply get rid of shelves and use numeric indexing. 2. Code review status According to Chris, no ongoing work on the subject at present; some issues still open in the tracker but have already been addressed and will be closed soon (85, 86, 87). In the future we should of course have all modules reviewed (with different people reviewing different modules), basing on Titus's experience from his review. However, we are not likely to get any other modules reviewed in time for the release of 0.8 - so let us officially suspend initiating any new reviewe until after the release. 3. Adoption of the GitHub coding model MS: Note that the "upstream" remote is not created or synchronised automatically, one needs to set this up by hand. Appropriate information will be posted on the Wiki. Jenny: the learning curve for Git is quite steep. 4. Documentation Chris will try to entirely updating documentation for 0.8 within a week. However, this will probably not include having code from the docs work as doctests. Moreover, what about code snippets which don't work on their own? MS: Perhaps we should have (e.g. in appendices or at the end of each chapter) larger scripts for different chapters of documentation, containing such snippets. A proposal for this should be circulated in pygr-dev - not until ongoing work on documentation updates has been completed, though. Another subject is going through Namshin's old recipes and updating them for 0.8 (as well as possibly moving them to the Wiki in the process). Could Kenny Daily, who has already done some work on in-Wiki code examples, possibly handle this? 5. 0.7 vs. 0.8 Some changes to restore compatibility have already been made but there were changes in the 0.8 branch (i.e. components moved around, as in the case of annotation code) would require a (trivial) update to 0.7. Finally, there may be some hitherto unnoticed problems - thorough cross-version testing is needed! The most obvious form of testing would be data exchange between the two versions. This should match Pygr's list of types used in such exchanges: sequence, annotation, alignment. XML-RPC communication (a special case of data exchange) should be tested too. MS: at present a 0.8 client cannot talk to a 0.7 server. To avoid such issues in the future we should add some sort of versioning: either add a method returning the server's version number to the client, or have each data-exchange class contain its own version number. Chris: Either way this would be a new feature so it won't be done for 0.8. To be done for now: - add 0.7 pickle compatibility to 0.8; - prepare a new release of 0.7 which would feature forward data-exchange compatibility. However, before we get this going we should make a decision regarding cross-version testing: should this be standalone or incorporated into our testing framework? Likely the latter. Either way, we need to: - prepate appropriate old-version files (and possibly add them to tests/data/); - since it would obviously make little sense to bundle Pygr 0.7 with testing code, set up a 0.7 XML-RPC server somewhere (MBI?) and allow the test to take advantage of a lists of such XML-RPC server. Question: where should cross-version tests be run? Obvious answers - either the buildbot or the new MBI testing machine. Istvan: it wouldn't hurt to ask around whether we actually NEED compatibility between 0.7 and 0.8. 6a. Release planning - packaging Building a Windows installer: supported by distutils; Istvan has tried it and it works fine, will of course have to build such installers under Windows as long as Pygr doesn't work correctly when built with MinGW. Linux distro packages: RPM, possibly DEB as well). No strict dependencies other than Python; where possible, may list python-mysql and pysqlite as suggested/recommended packages. MS will try this (after-meeting note: RPM packages supported by distutils but don't build out of the box, the problem is known but not trivial to solve; no support for DEB even in the latest standard-library versions of distutils). Python eggs: setuptools are needed to automatically build eggs. MS will work on either getting our setup.py to support both setuptool and distutils, or creating a separate setup script (there is nothing magical about the name) based on setuptools. Question: Do we need eggs? Istvan: we pretty much do if we want to publish Pygr on PyPI (BTW. setuptools can automatically upload eggs they build there). Chris: in that case, it makes sense for us to build them. Side note: Pygr tests aren't and shouldn't be in binary packages. 6b. Release planning - the upcoming testing version Will be tagged and packaged after documentation updates have been finished and all review-pending issues have been closed (will ask Titus whether we can do this by around the time Chris finishes updating docs). Also, we should check with Titus whether he feels this version will be ready to be called a beta. Windows packages: Istvan will build them for Python 2.5, running Windows buildbots are needed to get other versions supported. Feature creep :-) dir() functionality, as discussed on pygr-dev, has recently been added to the Git master despite the feature freeze. Since this is an extremely small feature, we've decided to ship it with 0.8 after all; however, care should be taken for all future commit to be pushed into a dedicated "post-0.8" branch - that will make preparing the release easier (won't have to selectively omit commits from the master). 7. Error descriptions on the Web In order to keep these synchronised with the code the relevant Web pages should be kept in Git, as well as possibly distributed in Pygr packages. Istvan: how about implementing this as a dedicated module with errors as classes in it, with such classes capable of rendering themselves as HTML or ReST? Chris/MS: OK. An appropriate issue will be added to the tracker. 8. Bug reports on pygr-dev We should have someone responsible for telling people posting their problems to file an issue in the tracker if the problem is a bug; this will most likely be MS. However, we need a clear definition of a bug! Chris will post an initial version of such a list to pygr-dev, once it has been completed it will then be posted on either the Wiki or pygr-dev Web pages. -- MS --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "pygr-dev" group. To post to this group, send email to pygr-dev@googlegroups.com To unsubscribe from this group, send email to pygr-dev+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/pygr-dev?hl=en -~----------~----~----~----~------~----~------~--~---