4. Some History
• Development started December, 1989
• 0.9.0 released February, 1991
5. Some History
• Development started December, 1989
• 0.9.0 released February, 1991
• 1.5.2 released April, 1999
6. Some History
• Development started December, 1989
• 0.9.0 released February, 1991
• 1.5.2 released April, 1999
• 2.0 released October, 2000
7. Some History
• Development started December, 1989
• 0.9.0 released February, 1991
• 1.5.2 released April, 1999
• 2.0 released October, 2000
• py3k branched & PEP 3000 March, 2006
8. Some History
• Development started December, 1989
• 0.9.0 released February, 1991
• 1.5.2 released April, 1999
• 2.0 released October, 2000
• py3k branched & PEP 3000 March, 2006
• 3.0 released November 25, 2008
9. Some History
• Development started December, 1989
• 0.9.0 released February, 1991
• 1.5.2 released April, 1999
• 2.0 released October, 2000
• py3k branched & PEP 3000 March, 2006
• 3.0 released November 25, 2008
• 3.1 released June 27th, 2009
14. What’s New In 3.0
• print() and exec() are still functions
15. What’s New In 3.0
• print() and exec() are still functions
• dict.keys(), dict.items(), dict.values(), map(),
filter() and zip() still return iterators
16. What’s New In 3.0
• print() and exec() are still functions
• dict.keys(), dict.items(), dict.values(), map(),
filter() and zip() still return iterators
• text is still unicode and files still read bytes
17. What’s New In 3.0
• print() and exec() are still functions
• dict.keys(), dict.items(), dict.values(), map(),
filter() and zip() still return iterators
• text is still unicode and files still read bytes
• as, with, True, False and None are still keywords
22. What’s New In 3.0
• old-style classes are still gone
23. What’s New In 3.0
• old-style classes are still gone
• cmp(), reduce(), apply(), coerce(), callable() and
raw_input() are still the way of the dodo
24. What’s New In 3.0
• old-style classes are still gone
• cmp(), reduce(), apply(), coerce(), callable() and
raw_input() are still the way of the dodo
• `` and <> are also still gone
25. What’s New In 3.0
• old-style classes are still gone
• cmp(), reduce(), apply(), coerce(), callable() and
raw_input() are still the way of the dodo
• `` and <> are also still gone
• string exceptions are still no more
32. What’s New In 3.0 / 2.6
• advanced string formatting
33. What’s New In 3.0 / 2.6
• advanced string formatting
• Abstract Base Classes
(and function annotation in 3.0)
34. What’s New In 3.0 / 2.6
• advanced string formatting
• Abstract Base Classes
(and function annotation in 3.0)
• 0o21 == 17
0b1101 == 13
35. What’s New In 3.0 / 2.6
• advanced string formatting
• Abstract Base Classes
(and function annotation in 3.0)
• 0o21 == 17
0b1101 == 13
• Class decorators
40. What’s New In 3.1
• python can execute packages (and zip files)
41. What’s New In 3.1
• python can execute packages (and zip files)
• unittest supports skipping tests
42. What’s New In 3.1
• python can execute packages (and zip files)
• unittest supports skipping tests
• sys.version_info is a named tuple
>>> sys.version_info
sys.version_info(major=3, minor=1, micro=1, releaselevel='final',
serial=0)
43. What’s New In 3.1
• python can execute packages (and zip files)
• unittest supports skipping tests
• sys.version_info is a named tuple
>>> sys.version_info
sys.version_info(major=3, minor=1, micro=1, releaselevel='final',
serial=0)
• improved Python 2 pickle support
53. Books
• Python 3 for Absolute Beginners
by Tim Hall and J-P Stacey
• Programming in Python 3 (Second Edition)
by Mark Summerfield
54. Books
• Dive Into Python 3
by Mark Pilgrim
Python 3 Patterns, Recipes and Idioms
by Bruce Eckel and Friends
55. Books
• Invent Your Own Computer Games with
Python (Second Edition)
by Albert Sweigart
56. Other Books in 2009
• IronPython in Action
by Michael Foord
57. Other Books in 2009
• Head First Programming
by Paul Barry and David Griffiths
• Python for Software Design: How to Think
Like a Computer Scientist
by Allen B. Downey
58. Other Books in 2009
• Gray Hat Python: Python Programming for
Hackers and Reverse Engineers
by Justin Seitz
• Hello World! Computer Programming for
Kids and Other Beginners
by Warren Sande and Carter Sande
86. Language Moratorium
Temporary suspension of all changes to
the Python language syntax, semantics,
and built-ins for a period of at least two
years from the release of Python 3.1
101. Shed Skin 0.3
• Python-to-C++ compiler
• improved type inference
• support for 'map', 'filter', 'reduce', the 'with'
statement
• many more library modules supported
• several important optimizations
105. Web Stuff
• Django 1.2 on the way (alpha Jan 2010)
(full Python 3 support in a year or so)
106. Web Stuff
• Django 1.2 on the way (alpha Jan 2010)
(full Python 3 support in a year or so)
• TurboGears 2.1 coming (2.0 was June 2009)
107. Web Stuff
• Django 1.2 on the way (alpha Jan 2010)
(full Python 3 support in a year or so)
• TurboGears 2.1 coming (2.0 was June 2009)
• CherryPy 3.1.2 in April 2009
3.2 due out soon supports Python 3
108. Web Stuff
• Django 1.2 on the way (alpha Jan 2010)
(full Python 3 support in a year or so)
• TurboGears 2.1 coming (2.0 was June 2009)
• CherryPy 3.1.2 in April 2009
3.2 due out soon supports Python 3
• Pylons 0.9.7 in February 2009
Python 3 support (Pylons 1.1) mid-2010?
(2 enters maintenance mode)
To reassure people on this, 2.5.5 has just been released.
(2 enters maintenance mode)
To reassure people on this, 2.5.5 has just been released.
(2 enters maintenance mode)
To reassure people on this, 2.5.5 has just been released.
- 2.5 already supports some of CPython 2.6&#x2019;s features (eg. class decorators)
- the backported 3.1 features in 2.7 aid 3.1 compatibility
- unicode by default helps IronPython and Jython
- 2.5 already supports some of CPython 2.6&#x2019;s features (eg. class decorators)
- the backported 3.1 features in 2.7 aid 3.1 compatibility
- unicode by default helps IronPython and Jython
- 2.5 already supports some of CPython 2.6&#x2019;s features (eg. class decorators)
- the backported 3.1 features in 2.7 aid 3.1 compatibility
- unicode by default helps IronPython and Jython
some big-name projects are done, some not so much
posgresql but not mysql, even pl/python in psql supports 2&3
some big-name projects are done, some not so much
posgresql but not mysql, even pl/python in psql supports 2&3
some big-name projects are done, some not so much
posgresql but not mysql, even pl/python in psql supports 2&3
some big-name projects are done, some not so much
posgresql but not mysql, even pl/python in psql supports 2&3
some big-name projects are done, some not so much
posgresql but not mysql, even pl/python in psql supports 2&3
- due to last for entire 3.3 release cycle
- Slow things down for a while to: 1. Let py3k settle for a while, 2. Let alternative implementations catch up
- It&#x2019;s not because &#x201C;we&#x2019;re done&#x201D;
Old GIL: ticks; multi-core systems degenerated badly
New GIL: time (5ms by default) multi-core performance unaffected
(still only one thread at a time though)
Old GIL: ticks; multi-core systems degenerated badly
New GIL: time (5ms by default) multi-core performance unaffected
(still only one thread at a time though)
Old GIL: ticks; multi-core systems degenerated badly
New GIL: time (5ms by default) multi-core performance unaffected
(still only one thread at a time though)
The goal of cython could be described as providing an easy way to convert a Python module into a C extension.
Django 1.2: multiple databases, improved CSRF, configurable email backends, messaging framework, smarter &#x201C;if&#x201D; tag, localization improvement, and a ton of other stuff
Django 1.2: multiple databases, improved CSRF, configurable email backends, messaging framework, smarter &#x201C;if&#x201D; tag, localization improvement, and a ton of other stuff
Django 1.2: multiple databases, improved CSRF, configurable email backends, messaging framework, smarter &#x201C;if&#x201D; tag, localization improvement, and a ton of other stuff
Django 1.2: multiple databases, improved CSRF, configurable email backends, messaging framework, smarter &#x201C;if&#x201D; tag, localization improvement, and a ton of other stuff