<div dir="ltr"><div><div><div><div><div><div>To anyone who took notes at the language summit at PyCon today, even if you took them just for yourself, would you mind posting them here? It would be good to have some kind of (informal!) as soon as possible, before we collectively forget. You won't be held responsible for correctness.<br>

<br></div>Here are some of my own recollections (I didn't take notes but I have a decent memory):<br><br></div>- Packaging sucks, but we're improving, and we're actually doing better than other dynamic languages.<br>

<br></div><div>- Kevin Modzelewski answered questions about Pyston, a new (very early stage) Python VM based on the new LLVM JIT engine (which is much different from what defeated Unladen Swallow). Alex Gaynor seemed unconcerned. :-)<br>

<br></div><div>- Jukka Lehtosalo gave a talk and answered questions about mypy, his design and implementation of pragmatic type annotations (no new syntax required, uses Python 3 function annotations). See <a href="http://mypy-lang.org">mypy-lang.org</a>. In response, Greg P Smith pointed people to a similar project from Google, <a href="https://github.com/google/pytypedecl">https://github.com/google/pytypedecl</a>, which has annotations in a separate file (hence amenable to Python 2). Larry Hastings brought up that Argument Clinic (a new way of specifying signatures for C extensions), released as part of 3.4) encodes similar information in the docstring of C functions.<br>

<br>- Maybe this is should be the year when we start getting agreement on a standard use of function annotations to specify argument and return types, now that we seem to have a somewhat critical mass of experience with annotations.<br>

</div><div><br></div>- We should make an effort to publicize that we're NOT sunsetting Python 2.7 just yet; support will continue (hopefully with ample support from distro vendors), and someone should update PEP 373. (Unclear what the new EOL is but we should definitely rescind the currently published schedule.)<br>

<br></div>- We (I) still don't want to do a 2.8 release, and I don't want to accelerate 3.5, but I do think we should  make things better for people who have to straddle Python 2 and 3 in a single codebase, by developing more tools, and by security and possibly installer updates to 2.7 (PEP 466).<br>

<br>- Some suggestions that were made: PSF financial support for tool development and/or porting, add more "-3" warnings to a future Python 2.7 release, additional 2to3 fixers to help convert Python-2-only code to Python-2-and-3-single-source code, a separate linter, a sumo 2.7 distribution that includes all known backported-from-Python-3-stdlib packages, adding ensure_pip to the 2.7.7 stdlib, and  several more I forgot. IIRC Glyph and Alex Gaynor are going to compile a list of pain points for people. (I can't honestly say that I convinced Glyph and Alex and a few others not to pine for 2.8, but I also honestly don't believe it will have the effect that they expect. Nor do I believe any new feature we add to 3.5 can serve as a big enough carrot.)<br>

<br></div><div>- The recommended and least painful way to develop for Python 2 and 3 is definitely to use a single source that runs under both without translation; we no longer recommend auto-generating Python 3 compatible source code using 2to3, for a variety of reasons. Several people attested that single-source has worked well for them; Mercurial is using the 2to3 approach but they're not too happy with it.<br>

</div><div><br></div>- An argument for releasing something labeled 2.8 was made based on the unavailability (current or future?) of Visual Studio 2008; the uncomfortable alternative would be to switch to a newer compiler at some 2.7.x bugfix release, which would break extension modules compiled with for 2.7.0-2.7.6, and that would confuse and upset people.<br>

<br></div><div>- Apparently no restaurant in downtown Montreal takes reservations for a group of 30 people to show up in one hour.<br></div><div><div><div><div><div><div><div><br>-- <br>--Guido van Rossum (<a href="http://python.org/~guido">python.org/~guido</a>)
</div></div></div></div></div></div></div></div>