State of Python
     January, 2010

     Richard Jones

  richard@python.org
Some History
Some History
•   Development started December, 1989
Some History
•   Development started December, 1989

•   0.9.0 released February, 1991
Some History
•   Development started December, 1989

•   0.9.0 released February, 1991

•   1.5.2 released April, 1999
Some History
•   Development started December, 1989

•   0.9.0 released February, 1991

•   1.5.2 released April, 1999

• ...
Some History
•   Development started December, 1989

•   0.9.0 released February, 1991

•   1.5.2 released April, 1999

• ...
Some History
•   Development started December, 1989

•   0.9.0 released February, 1991

•   1.5.2 released April, 1999

• ...
Some History
•   Development started December, 1989

•   0.9.0 released February, 1991

•   1.5.2 released April, 1999

• ...
What’s New In 3.1
What’s New In 3.13.0
What We Utterly
Broke In 3.0 With No
   Regard For The
   Consequences
What’s New In 3.0
What’s New In 3.0

• print() and exec() are still functions
What’s New In 3.0

• print() and exec() are still functions
• dict.keys(), dict.items(), dict.values(), map(),
  filter() a...
What’s New In 3.0

• print() and exec() are still functions
• dict.keys(), dict.items(), dict.values(), map(),
  filter() a...
What’s New In 3.0

• print() and exec() are still functions
• dict.keys(), dict.items(), dict.values(), map(),
  filter() a...
What’s New In 3.0
What’s New In 3.0


• exception chaining is still there
What’s New In 3.0


• exception chaining is still there
• the standard library is still better-organised
What’s New In 3.0
What’s New In 3.0

• old-style classes are still gone
What’s New In 3.0

• old-style classes are still gone
• cmp(), reduce(), apply(), coerce(), callable() and
  raw_input() a...
What’s New In 3.0

• old-style classes are still gone
• cmp(), reduce(), apply(), coerce(), callable() and
  raw_input() a...
What’s New In 3.0

• old-style classes are still gone
• cmp(), reduce(), apply(), coerce(), callable() and
  raw_input() a...
What’s New In 3.0 / 2.6
What’s New In 3.0 / 2.6

• multiprocessing
What’s New In 3.0 / 2.6

• multiprocessing
• io and json
What’s New In 3.0 / 2.6

• multiprocessing
• io and json
• tkinter.ttk
  (new complementary widgets, styling
  through “st...
What’s New In 3.0 / 2.6
What’s New In 3.0 / 2.6
• advanced string formatting
What’s New In 3.0 / 2.6
• advanced string formatting
• Abstract Base Classes
  (and function annotation in 3.0)
What’s New In 3.0 / 2.6
• advanced string formatting
• Abstract Base Classes
  (and function annotation in 3.0)

• 0o21 ==...
What’s New In 3.0 / 2.6
• advanced string formatting
• Abstract Base Classes
  (and function annotation in 3.0)

• 0o21 ==...
What’s New In 3.0 / 2.6
What’s New In 3.0 / 2.6

• added numbers, fractions, cmath, ssl
  modules
What’s New In 3.0 / 2.6

• added numbers, fractions, cmath, ssl
  modules
• new toys in math, functools, itertools,
  coll...
What’s New In 3.1
What’s New In 3.1
• python can execute packages (and zip files)
What’s New In 3.1
• python can execute packages (and zip files)
• unittest supports skipping tests
What’s New In 3.1
• python can execute packages (and zip files)
• unittest supports skipping tests
• sys.version_info is a ...
What’s New In 3.1
• python can execute packages (and zip files)
• unittest supports skipping tests
• sys.version_info is a ...
What’s New In 3.1 / 2.7
What’s New In 3.1 / 2.7
• thanks David Gay:
  >>> 1.1
  1.1000000000000001

  becomes...
  >>> 1.1
  1.1
What’s New In 3.1 / 2.7
• thanks David Gay:
  >>> 1.1
  1.1000000000000001

  becomes...
  >>> 1.1
  1.1


• still doesn’t...
What’s New In 3.1 / 2.7
What’s New In 3.1 / 2.7

• io & json rewritten in C
What’s New In 3.1 / 2.7

• io & json rewritten in C
• memoryview object (mutable byte array)
What’s New In 3.1 / 2.7

• io & json rewritten in C
• memoryview object (mutable byte array)
• ordered dictionary
LESS BUGS
What’s New In 3.1


 STILL B0RKS UR CODEZ!
Books

• Python 3 for Absolute Beginners
  by Tim Hall and J-P Stacey



• Programming in Python 3 (Second Edition)
  by M...
Books

• Dive Into Python 3
  by Mark Pilgrim


  Python 3 Patterns, Recipes and Idioms
  by Bruce Eckel and Friends
Books


• Invent Your Own Computer Games with
  Python (Second Edition)
  by Albert Sweigart
Other Books in 2009


• IronPython in Action
  by Michael Foord
Other Books in 2009
• Head First Programming
  by Paul Barry and David Griffiths



• Python for Software Design: How to Th...
Other Books in 2009
• Gray Hat Python: Python Programming for
  Hackers and Reverse Engineers
  by Justin Seitz


• Hello ...
Python 2.7
Python 2.7

• expected in June - alpha 2 out now
Python 2.7

• expected in June - alpha 2 out now
• includes backporting from 3.1
Python 2.7

• expected in June - alpha 2 out now
• includes backporting from 3.1
• will be the last 2.x release
IronPython
IronPython

• Runs on the .NET CLR
IronPython

• Runs on the .NET CLR
• 2.6 released December 2009
IronPython

• Runs on the .NET CLR
• 2.6 released December 2009
• Visual Studio integration higher priority
  than IronPyt...
Jython
Jython

• Python compiled to the Java VM
Jython

• Python compiled to the Java VM
• 2.5.1 released September 2009
Jython

• Python compiled to the Java VM
• 2.5.1 released September 2009
• target CPython 2.7 for next major release
PyPy


• Python in Python
• Michael Hudson will talk about that
Migration Progress
Migration Progress
• SQLAlchemy (so db layers too)
Migration Progress
• SQLAlchemy (so db layers too)
• Distribute (was “setuptools”)
Migration Progress
• SQLAlchemy (so db layers too)
• Distribute (was “setuptools”)
• pygame reloaded (pgreloaded)
Migration Progress
• SQLAlchemy (so db layers too)
• Distribute (was “setuptools”)
• pygame reloaded (pgreloaded)
• Django...
Migration Progress
• SQLAlchemy (so db layers too)
• Distribute (was “setuptools”)
• pygame reloaded (pgreloaded)
• Django...
Migration Progress
Migration Progress
• http://wiki.python.org/moin/PortingPythonToPy3k
Migration Progress
• http://wiki.python.org/moin/PortingPythonToPy3k
• python-porting mailing list
  http://mail.python.or...
Migration Progress
• http://wiki.python.org/moin/PortingPythonToPy3k
• python-porting mailing list
  http://mail.python.or...
2to3c


• an implementation of Python's 2to3 for C
  code
3to2


• GSoC project
• http://bitbucket.org/amentajo/lib3to2/
Language Moratorium

Temporary suspension of all changes to
 the Python language syntax, semantics,
and built-ins for a pe...
Python 3 speedup
Python 3 speedup
Python 3 speedup


• Unladen Swallow to be merged into py3k
  (Google’s efforts to speed up Python)
Python 3 speedup


• Unladen Swallow to be merged into py3k
  (Google’s efforts to speed up Python)
• A more rational GIL
Community
Community

• Kiwi PyCon (woot)
Community

• Kiwi PyCon (woot)
• planet.python.org
Community

• Kiwi PyCon (woot)
• planet.python.org
• www.python-forum.org/pythonforum
Community

• Kiwi PyCon (woot)
• planet.python.org
• www.python-forum.org/pythonforum
• PyPI comments
http://au.pycon.org/
Skulpt
Skulpt

• http://www.skulpt.org/
Skulpt

• http://www.skulpt.org/
• entirely in-browser implementation of
  Python
Skulpt

• http://www.skulpt.org/
• entirely in-browser implementation of
  Python
• No preprocessing, plugins, or server-s...
Shed Skin 0.3
• Python-to-C++ compiler
• improved type inference
• support for 'map', 'filter', 'reduce', the 'with'
  stat...
tinypy


• cython, pyrex
• tinpy → C++ → XCode → iPhone
Distribute & pip


• replaces setuptools and easy_install
• Distribute compatible with python 3
  ... pip soon
Web Stuff
Web Stuff
• Django 1.2 on the way (alpha Jan 2010)
  (full Python 3 support in a year or so)
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 ...
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 ...
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 ...
Web Stuff

• 6th Plone Conf 2009
• 2nd DjangoCon 2009
• Django Ski 2010
virtualenv
virtualenv

• stand-alone python environments
virtualenv

• stand-alone python environments
• with or without system extensions
virtualenv

• stand-alone python environments
• with or without system extensions
• use it!
State of Python (2010)
State of Python (2010)
State of Python (2010)
State of Python (2010)
Upcoming SlideShare
Loading in...5
×

State of Python (2010)

4,331

Published on

A (somewhat rambling) presentation giving an overview of the state of the Python programming language in January, 2010.

Published in: Technology, Education
1 Comment
9 Likes
Statistics
Notes
No Downloads
Views
Total Views
4,331
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
174
Comments
1
Likes
9
Embeds 0
No embeds

No notes for slide
  • so a good place to start is “what’s new in 3.1”
  • so a good place to start is “what’s new in 3.1”
  • so a good place to start is “what’s new in 3.1”
  • so a good place to start is “what’s new in 3.1”
  • so a good place to start is “what’s new in 3.1”
  • so a good place to start is “what’s new in 3.1”
  • so a good place to start is “what’s new in 3.1”
  • an even better place is to maybe recap what 3.0 gave us
  • or, as some sections of the media and Slashdot reported ...
  • I think we can all remember where we were on that fateful day when Google just stopped working when 3.0 was released. Oh, those were the days.
  • urllib/urllib2 -> urllib (package); httplib/cookielib/BaseHTTPServer(etc) -> http.client, http.server; anydbm/dbhash/gdbm/etc -> dbm; xmlrpclib/SimpleXMLRPCServer -> xmlrpc; also PEP 8 changes (ConfigParser -> configparser)
  • urllib/urllib2 -> urllib (package); httplib/cookielib/BaseHTTPServer(etc) -> http.client, http.server; anydbm/dbhash/gdbm/etc -> dbm; xmlrpclib/SimpleXMLRPCServer -> xmlrpc; also PEP 8 changes (ConfigParser -> configparser)
  • also in 2.6 (note “T”kinter)
  • also in 2.6 (note “T”kinter)
  • also in 2.6 (note “T”kinter)
  • you can get a bunch of the 3.0 features in 2.6 using __future__ (eg. unicode literals)
  • you can get a bunch of the 3.0 features in 2.6 using __future__ (eg. unicode literals)
  • you can get a bunch of the 3.0 features in 2.6 using __future__ (eg. unicode literals)
  • you can get a bunch of the 3.0 features in 2.6 using __future__ (eg. unicode literals)
  • math: inf, -inf, nan, factorial, inverse hyperbolic functions and a bunch of others
    functools: reduce()
    itertools: cartesian product of iterables, combinations, permutations
    collections: namedtuple, deque enhancements, ABCs for Iterable and Mappings
  • math: inf, -inf, nan, factorial, inverse hyperbolic functions and a bunch of others
    functools: reduce()
    itertools: cartesian product of iterables, combinations, permutations
    collections: namedtuple, deque enhancements, ABCs for Iterable and Mappings
  • hackers, reverse engineers

    debuggers, torjans, fuzzers, emulators, code/library injection, sniffing, ...
  • warning with the code download
  • (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’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’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’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’s not because “we’re done”
  • 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 “if” tag, localization improvement, and a ton of other stuff
  • Django 1.2: multiple databases, improved CSRF, configurable email backends, messaging framework, smarter “if” tag, localization improvement, and a ton of other stuff
  • Django 1.2: multiple databases, improved CSRF, configurable email backends, messaging framework, smarter “if” tag, localization improvement, and a ton of other stuff
  • Django 1.2: multiple databases, improved CSRF, configurable email backends, messaging framework, smarter “if” tag, localization improvement, and a ton of other stuff
  • Django Ski - Whistler, 2-4 March 2010
  • State of Python (2010)

    1. 1. State of Python January, 2010 Richard Jones richard@python.org
    2. 2. Some History
    3. 3. Some History • Development started December, 1989
    4. 4. Some History • Development started December, 1989 • 0.9.0 released February, 1991
    5. 5. Some History • Development started December, 1989 • 0.9.0 released February, 1991 • 1.5.2 released April, 1999
    6. 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. 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. 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. 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
    10. 10. What’s New In 3.1
    11. 11. What’s New In 3.13.0
    12. 12. What We Utterly Broke In 3.0 With No Regard For The Consequences
    13. 13. What’s New In 3.0
    14. 14. What’s New In 3.0 • print() and exec() are still functions
    15. 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. 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. 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
    18. 18. What’s New In 3.0
    19. 19. What’s New In 3.0 • exception chaining is still there
    20. 20. What’s New In 3.0 • exception chaining is still there • the standard library is still better-organised
    21. 21. What’s New In 3.0
    22. 22. What’s New In 3.0 • old-style classes are still gone
    23. 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. 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. 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
    26. 26. What’s New In 3.0 / 2.6
    27. 27. What’s New In 3.0 / 2.6 • multiprocessing
    28. 28. What’s New In 3.0 / 2.6 • multiprocessing • io and json
    29. 29. What’s New In 3.0 / 2.6 • multiprocessing • io and json • tkinter.ttk (new complementary widgets, styling through “style sheets”)
    30. 30. What’s New In 3.0 / 2.6
    31. 31. What’s New In 3.0 / 2.6 • advanced string formatting
    32. 32. What’s New In 3.0 / 2.6 • advanced string formatting • Abstract Base Classes (and function annotation in 3.0)
    33. 33. What’s New In 3.0 / 2.6 • advanced string formatting • Abstract Base Classes (and function annotation in 3.0) • 0o21 == 17 0b1101 == 13
    34. 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 • Class decorators
    35. 35. What’s New In 3.0 / 2.6
    36. 36. What’s New In 3.0 / 2.6 • added numbers, fractions, cmath, ssl modules
    37. 37. What’s New In 3.0 / 2.6 • added numbers, fractions, cmath, ssl modules • new toys in math, functools, itertools, collections
    38. 38. What’s New In 3.1
    39. 39. What’s New In 3.1 • python can execute packages (and zip files)
    40. 40. What’s New In 3.1 • python can execute packages (and zip files) • unittest supports skipping tests
    41. 41. 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)
    42. 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) • improved Python 2 pickle support
    43. 43. What’s New In 3.1 / 2.7
    44. 44. What’s New In 3.1 / 2.7 • thanks David Gay: >>> 1.1 1.1000000000000001 becomes... >>> 1.1 1.1
    45. 45. What’s New In 3.1 / 2.7 • thanks David Gay: >>> 1.1 1.1000000000000001 becomes... >>> 1.1 1.1 • still doesn’t make this correct: 1.1 + 2.2 = 3.3
    46. 46. What’s New In 3.1 / 2.7
    47. 47. What’s New In 3.1 / 2.7 • io & json rewritten in C
    48. 48. What’s New In 3.1 / 2.7 • io & json rewritten in C • memoryview object (mutable byte array)
    49. 49. What’s New In 3.1 / 2.7 • io & json rewritten in C • memoryview object (mutable byte array) • ordered dictionary
    50. 50. LESS BUGS
    51. 51. What’s New In 3.1 STILL B0RKS UR CODEZ!
    52. 52. Books • Python 3 for Absolute Beginners by Tim Hall and J-P Stacey • Programming in Python 3 (Second Edition) by Mark Summerfield
    53. 53. Books • Dive Into Python 3 by Mark Pilgrim Python 3 Patterns, Recipes and Idioms by Bruce Eckel and Friends
    54. 54. Books • Invent Your Own Computer Games with Python (Second Edition) by Albert Sweigart
    55. 55. Other Books in 2009 • IronPython in Action by Michael Foord
    56. 56. 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
    57. 57. 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
    58. 58. Python 2.7
    59. 59. Python 2.7 • expected in June - alpha 2 out now
    60. 60. Python 2.7 • expected in June - alpha 2 out now • includes backporting from 3.1
    61. 61. Python 2.7 • expected in June - alpha 2 out now • includes backporting from 3.1 • will be the last 2.x release
    62. 62. IronPython
    63. 63. IronPython • Runs on the .NET CLR
    64. 64. IronPython • Runs on the .NET CLR • 2.6 released December 2009
    65. 65. IronPython • Runs on the .NET CLR • 2.6 released December 2009 • Visual Studio integration higher priority than IronPython 3
    66. 66. Jython
    67. 67. Jython • Python compiled to the Java VM
    68. 68. Jython • Python compiled to the Java VM • 2.5.1 released September 2009
    69. 69. Jython • Python compiled to the Java VM • 2.5.1 released September 2009 • target CPython 2.7 for next major release
    70. 70. PyPy • Python in Python • Michael Hudson will talk about that
    71. 71. Migration Progress
    72. 72. Migration Progress • SQLAlchemy (so db layers too)
    73. 73. Migration Progress • SQLAlchemy (so db layers too) • Distribute (was “setuptools”)
    74. 74. Migration Progress • SQLAlchemy (so db layers too) • Distribute (was “setuptools”) • pygame reloaded (pgreloaded)
    75. 75. Migration Progress • SQLAlchemy (so db layers too) • Distribute (was “setuptools”) • pygame reloaded (pgreloaded) • Django (mostly done)
    76. 76. Migration Progress • SQLAlchemy (so db layers too) • Distribute (was “setuptools”) • pygame reloaded (pgreloaded) • Django (mostly done) • numpy has a plan http://www.scipy.org/Python3k
    77. 77. Migration Progress
    78. 78. Migration Progress • http://wiki.python.org/moin/PortingPythonToPy3k
    79. 79. Migration Progress • http://wiki.python.org/moin/PortingPythonToPy3k • python-porting mailing list http://mail.python.org/mailman/listinfo/python-porting
    80. 80. Migration Progress • http://wiki.python.org/moin/PortingPythonToPy3k • python-porting mailing list http://mail.python.org/mailman/listinfo/python-porting • a bunch of very useful reference code http://code.google.com/p/python-incompatibility/
    81. 81. 2to3c • an implementation of Python's 2to3 for C code
    82. 82. 3to2 • GSoC project • http://bitbucket.org/amentajo/lib3to2/
    83. 83. 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
    84. 84. Python 3 speedup
    85. 85. Python 3 speedup
    86. 86. Python 3 speedup • Unladen Swallow to be merged into py3k (Google’s efforts to speed up Python)
    87. 87. Python 3 speedup • Unladen Swallow to be merged into py3k (Google’s efforts to speed up Python) • A more rational GIL
    88. 88. Community
    89. 89. Community • Kiwi PyCon (woot)
    90. 90. Community • Kiwi PyCon (woot) • planet.python.org
    91. 91. Community • Kiwi PyCon (woot) • planet.python.org • www.python-forum.org/pythonforum
    92. 92. Community • Kiwi PyCon (woot) • planet.python.org • www.python-forum.org/pythonforum • PyPI comments
    93. 93. http://au.pycon.org/
    94. 94. Skulpt
    95. 95. Skulpt • http://www.skulpt.org/
    96. 96. Skulpt • http://www.skulpt.org/ • entirely in-browser implementation of Python
    97. 97. Skulpt • http://www.skulpt.org/ • entirely in-browser implementation of Python • No preprocessing, plugins, or server-side support required
    98. 98. 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
    99. 99. tinypy • cython, pyrex • tinpy → C++ → XCode → iPhone
    100. 100. Distribute & pip • replaces setuptools and easy_install • Distribute compatible with python 3 ... pip soon
    101. 101. Web Stuff
    102. 102. Web Stuff • Django 1.2 on the way (alpha Jan 2010) (full Python 3 support in a year or so)
    103. 103. 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)
    104. 104. 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
    105. 105. 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?
    106. 106. Web Stuff • 6th Plone Conf 2009 • 2nd DjangoCon 2009 • Django Ski 2010
    107. 107. virtualenv
    108. 108. virtualenv • stand-alone python environments
    109. 109. virtualenv • stand-alone python environments • with or without system extensions
    110. 110. virtualenv • stand-alone python environments • with or without system extensions • use it!
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×