Differences between revisions 1 and 13 (spanning 12 versions)
Revision 1 as of 2008-07-07 17:32:03
Size: 7873
Editor: px6o
Comment:
Revision 13 as of 2008-11-15 13:59:41
Size: 12511
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#format rst
Line 3: Line 4:
== BEA WebLogic Scripting with Python ==

=== Presenter ===

Matthew K. Williams

=== Summary ===

The WebLogic Scripting Tool (WLST) is one of the least documented and
least understood aspects of WebLogic 9/10.  However, it is very powerful
and useful for daily tasks, whether they be administrative or monitoring
the servers.  WLST uses Jython, a version of Python which runs within
the Java Virtual Machine.  This session provides an overview of WLST, as
well as a tutorial consisting of a number of real-life applications of
WLST and python scripting with BEA's WebLogic platform.

=== Experience level ===

The attendee is expected to have some level of exposure to Python

== Paver; easily manage Python code ==

=== Presenter ===

Author: Kevin Dangoor

Presenter: Mark Ramm

=== Summary ===

An introduction to Paver.

Paver is a build, distribution, installation and deployment scripting package specifically geared to Python projects. It uses distutils and setuptools for packaging up code, Sphinx for documentation, virtualenv and zc.buildout for installation and wraps it all in an easy-to-use scripting setup. Using a simple model based on "tasks" (similar to Ruby's Rake), Paver helps you to have fewer random shell scripts, fewer configuration files, less duplication of project metadata and lets you stick to Python as much as possible.

=== Experience level ===

Assumes some knowledge of Python, but does not assume knowledge of Python project management.

== Decorators are fun ==

=== Presenter ===

Matthew Wilson

=== Summary ===

This talk will start with a friendly walkthrough of decorators
for people that have never seen them, then go into some straightforward
examples, then finish with a review of how decorators are used in Philip
Eby's ruledispatch package.

* How to write the simplest possible decorator.
* How to write a decorator that accepts arguments.
* How to write a decorator and still preserve the function signature.

Then I'll cover some straightforward use cases for decorators:

* Coerce values into a function into types.
* Log values coming out of a function.

Then I'll look at one fairly complex real-world use:

 * Phillip Eby's rule dispatch package uses decorators to implement
generic functions.

=== Experience level ===

Hopefully, there will be something for everyone.
Novices might enjoy the material at the beginning mostly, while experts
would likely be more interested in the ruledispatch discussion.

== TurboGears 2, the next-gen next-gen framework ==

=== Presenter ===
+-------+----------------------------------+------------------------------------------------+
| | Auditorium | Loft |
+=======+==================================+================================================+
| 9:00 | Library opens; Registration |
+-------+----------------------------------+------------------------------------------------+
| 9:30 | Talking to The Web with Python | |
+-------+----------------------------------+------------------------------------------------+
| 10:30 | TurboGears 2 | |
+-------+----------------------------------+------------------------------------------------+
| 11:30 | Lunch | |
| | | |
| | Lightning Talks | |
+-------+----------------------------------+------------------------------------------------+
| 12:30 | `PostgreSQL and Python`_ | |
+-------+----------------------------------+------------------------------------------------+
| 1:30 | Iteration in Python | `Cross Platform Desktop Apps w/ Python & GWT`_ |
+-------+----------------------------------+------------------------------------------------+
| 2:30 | Paver: easily manage Python code | |
+-------+----------------------------------+------------------------------------------------+
| 3:30 | `Decorators are fun`_ | BEA WebLogic Scripting with Python |
+-------+----------------------------------+------------------------------------------------+
| 4:30 | Google App Engine | |
+-------+----------------------------------+------------------------------------------------+
| 5:30 | Poster session | |
| | | |
| | Prize giveaway | |
+-------+----------------------------------+------------------------------------------------+
| 6:00 | Library closes |
+-------+----------------------------------+------------------------------------------------+

--------------
Talk Materials
--------------

Cross Platform Desktop Apps w/ Python & GWT
-------------------------------------------

`YADAF Slides`_

`YADAF Code`_

`Decorators are fun`_
---------------------

`PostgreSQL and Python`_
------------------------

-------------------------------------------------
Talking to The Web with Python (Auditorium, 9:30)
-------------------------------------------------

Presenter
---------

Gary Bernhardt

Summary
-------

Web frameworks like Django and TurboGears have drawn attention to Python's
presence on the server side of the web, but there are also powerful
client-side tools available. This talk will be an overview of two such tools:

   1. Beautiful Soup, an XML/HTML parser that's extremely robust in the
   presence of invalid markup. It allows the programmer to gloss over the
   fine structure of a document, focusing only on the parts that matter for
   the application.

   2. Universal Feed Parser, an RSS/Atom parser designed to be tolerant of
   invalid documents. It goes farther than Beautiful Soup by normalizing
   feeds' structure and hiding the differences between RSS and Atom.

These libraries make it easy to deal with the inconsistent and often invalid
data that are so common on the web. They have a wide range of applications,
from data mining to mashups to thick client applications. For this talk, fine
details of the APIs will be avoided; instead, practical use cases will be
highlighted, especially those where the libraries can be combined for greater
effect.

Experience level
----------------

Intermediate level. A basic familiarity with HTTP, HTML, and RSS/Atom concepts will be assumed.

-----------------------------------------------------------------
TurboGears 2, the next-gen next-gen framework (Auditorium, 10:30)
-----------------------------------------------------------------

Presenter
---------
Line 80: Line 97:
=== Summary === Summary
-------
Line 83: Line 101:
framework.  This talk explain how TurboGears, Rails, Django, and other
"next-generation" fell short, and why a new  generation of full-stack
web-framework was needed.   Obviously, TurboGears, Rails, and Django
framework.  This talk explain how TurboGears, Rails, Django, and other
"next-generation" fell short, and why a new  generation of full-stack
web-framework was needed.   Obviously, TurboGears, Rails, and Django
Line 87: Line 105:
better.   But there's still more to be done, and TurboGears 2 is an better.   But there's still more to be done, and TurboGears 2 is an
Line 92: Line 110:
=== Experience level === Experience level
----------------
Line 98: Line 117:
== Beginning web development with Python and Google App Engine ==

=== Presenter ===

Pradeep Gowda

=== Summary ===

Google has thrown open its cloud computing infrastructure to the developer community via "Google App Engine"(GAE). The Google Appengine allows the programmers to develop Python applications which can then be hosted on google infrastructure. This has huge implications for making web application development accessible to large cross section of python developers. In this talk, we will attempt to understand what GAE provides and how best to make use of it.

 * The Google App Engine(GAE) offering
 * Hello world! with Google App Engine
 * The components of a web app and GAE
    * Data store, URL mapping, static pages, templates
 * Processing user input
 * Storing and retrieving data
 * Presentation and templates
 * Using "web Frameworks" (Django, web.py)

=== Experience level ===

Beginner

== PostgreSQL and Python ==

=== Presenter ===
-----------------------------------------
PostgreSQL and Python (Auditorium, 12:30)
-----------------------------------------

Presenter
---------
Line 127: Line 126:
=== Summary === Summary
-------
Line 137: Line 137:
=== Experience level === Experience level
----------------
Line 141: Line 142:
== Iteration in Python: Iterators, Generators, Itertools, and Special Methods ==

=== Presenter ===
---------------------------------------------------------------------------------------------
Iteration in Python: Iterators, Generators, Itertools, and Special Methods (Auditorium, 1:30)
---------------------------------------------------------------------------------------------

Presenter
---------
Line 147: Line 151:
=== Summary === Summary
-------
Line 156: Line 161:
=== Experience level === Experience level
----------------
Line 162: Line 168:
== Cross Platform Desktop Applications with Python and GWT ==

=== Presenter ===
--------------------------------------------------------------------
Cross Platform Desktop Applications with Python and GWT (Loft, 1:30)
--------------------------------------------------------------------

`YADAF Slides`_

`YADAF Code`_

Presenter
---------
Line 168: Line 181:
=== Summary === Summary
-------
Line 174: Line 188:
care of automatically.  Application developers merely load an care of automatically.  Application developers merely load an
Line 179: Line 193:
application servers.  This session will introduce this framework and application servers.  This session will introduce this framework and
Line 183: Line 197:
=== Experience level === Experience level
----------------
Line 187: Line 202:
== Talking to The Web with Python ==

=== Presenter ===

Gary Bernhardt

=== Summary ===

Web frameworks like Django and TurboGears have drawn attention to Python's
presence on the server side of the web, but there are also powerful
client-side tools available.  This talk will be an overview of two such tools:

   1. Beautiful Soup, an XML/HTML parser that's extremely robust in the
   presence of invalid markup.  It allows the programmer to gloss over the
   fine structure of a document, focusing only on the parts that matter for
   the application.

   2. Universal Feed Parser, an RSS/Atom parser designed to be tolerant of
   invalid documents.  It goes farther than Beautiful Soup by normalizing
   feeds' structure and hiding the differences between RSS and Atom.

These libraries make it easy to deal with the inconsistent and often invalid
data that are so common on the web.  They have a wide range of applications,
from data mining to mashups to thick client applications.  For this talk, fine
details of the APIs will be avoided; instead, practical use cases will be
highlighted, especially those where the libraries can be combined for greater
effect.

=== Experience level ===

Intermediate level. A basic familiarity with HTTP, HTML, and RSS/Atom concepts will be assumed.
--------------------------------------------------
Paver; easily manage Python code (Auditorim, 2:30)
--------------------------------------------------

Presenter
---------

Author: Kevin Dangoor

Presenter: Mark Ramm

Summary
-------

An introduction to Paver.

Paver is a build, distribution, installation and deployment scripting package specifically geared to Python projects. It uses distutils and setuptools for packaging up code, Sphinx for documentation, virtualenv and zc.buildout for installation and wraps it all in an easy-to-use scripting setup. Using a simple model based on "tasks" (similar to Ruby's Rake), Paver helps you to have fewer random shell scripts, fewer configuration files, less duplication of project metadata and lets you stick to Python as much as possible.

Experience level
----------------

Assumes some knowledge of Python, but does not assume knowledge of Python project management.

----------------------------------------
`Decorators are fun`_ (Auditorium, 3:30)
----------------------------------------

Presenter
---------

Matthew Wilson

Summary
-------

[http://scratch.tplus1.com/decoratortalk/ View the slides for the presentation here].

This talk will start with a friendly walkthrough of decorators
for people that have never seen them, then go into some straightforward
examples, then finish with a few complex ideas. Details:

 * Write the simplest possible decorator.
 * Write a decorator that accepts arguments.
 * Preserve the function signature.
 * Coerce values into a function into types.
 * Log values coming out of a function.
 * Add a timeout to your functions.
 * Review generic functions.
 * Use Phillip Eby's PEAK-Rules to write generic functions.

Experience level
----------------

Hopefully, there will be something for everyone.
Novices might enjoy the material at the beginning mostly, while experts
would likely be more interested in the generic functions discussion.

-----------------------------------------------
BEA WebLogic Scripting with Python (Loft, 3:30)
-----------------------------------------------

Presenter
---------

Matthew K. Williams

Summary
-------

The WebLogic Scripting Tool (WLST) is one of the least documented and
least understood aspects of WebLogic 9/10. However, it is very powerful
and useful for daily tasks, whether they be administrative or monitoring
the servers. WLST uses Jython, a version of Python which runs within
the Java Virtual Machine. This session provides an overview of WLST, as
well as a tutorial consisting of a number of real-life applications of
WLST and python scripting with BEA's WebLogic platform.

Experience level
----------------

The attendee is expected to have some level of exposure to Python

------------------------------------------------------------------------------
Beginning web development with Python and Google App Engine (Auditorium, 4:30)
------------------------------------------------------------------------------

Presenter
---------

Pradeep Gowda

Summary
-------

Google has thrown open its cloud computing infrastructure to the developer community via "Google App Engine"(GAE). The Google Appengine allows the programmers to develop Python applications which can then be hosted on google infrastructure. This has huge implications for making web application development accessible to large cross section of python developers. In this talk, we will attempt to understand what GAE provides and how best to make use of it.

 * The Google App Engine(GAE) offering
 * Hello world! with Google App Engine
 * The components of a web app and GAE
    * Data store, URL mapping, static pages, templates
 * Processing user input
 * Storing and retrieving data
 * Presentation and templates
 * Using "web Frameworks" (Django, web.py)

Experience level
----------------

Beginner

.. _`Cross Platform Desktop Apps w/ Python & GWT`: attachment:CrossPlatformDesktopApps.pdf

.. _`YADAF Slides`: attachment:CrossPlatformDesktopApps.pdf

.. _`YADAF Code`: http://code.google.com/p/yadaf/

.. _`Decorators are fun`: http://scratch.tplus1.com/decoratortalk

.. _`PostgreSQL and Python`: attachment:postgres_python.ppt

= PyOhio 2008 Scheduled Talks =

  Auditorium Loft
9:00 Library opens; Registration
9:30 Talking to The Web with Python  
10:30 TurboGears 2  
11:30

Lunch

Lightning Talks

 
12:30 PostgreSQL and Python  
1:30 Iteration in Python Cross Platform Desktop Apps w/ Python & GWT
2:30 Paver: easily manage Python code  
3:30 Decorators are fun BEA WebLogic Scripting with Python
4:30 Google App Engine  
5:30

Poster session

Prize giveaway

 
6:00 Library closes

Talk Materials

Cross Platform Desktop Apps w/ Python & GWT

YADAF Slides

YADAF Code

Talking to The Web with Python (Auditorium, 9:30)

Presenter

Gary Bernhardt

Summary

Web frameworks like Django and TurboGears have drawn attention to Python's presence on the server side of the web, but there are also powerful client-side tools available. This talk will be an overview of two such tools:

1. Beautiful Soup, an XML/HTML parser that's extremely robust in the presence of invalid markup. It allows the programmer to gloss over the fine structure of a document, focusing only on the parts that matter for the application.

2. Universal Feed Parser, an RSS/Atom parser designed to be tolerant of invalid documents. It goes farther than Beautiful Soup by normalizing feeds' structure and hiding the differences between RSS and Atom.

These libraries make it easy to deal with the inconsistent and often invalid data that are so common on the web. They have a wide range of applications, from data mining to mashups to thick client applications. For this talk, fine details of the APIs will be avoided; instead, practical use cases will be highlighted, especially those where the libraries can be combined for greater effect.

Experience level

Intermediate level. A basic familiarity with HTTP, HTML, and RSS/Atom concepts will be assumed.

TurboGears 2, the next-gen next-gen framework (Auditorium, 10:30)

Presenter

Mark Ramm

Summary

TurboGears 2 is the next generation of the TurboGears framework. This talk explain how TurboGears, Rails, Django, and other "next-generation" fell short, and why a new generation of full-stack web-framework was needed. Obviously, TurboGears, Rails, and Django meet lots of people's needs, and have made web application development better. But there's still more to be done, and TurboGears 2 is an attempt move "next-generation, full-stack, rapid application development" forward, so that it can solve a whole new set of problems.

Experience level

Assumes some knowledge of Python, and web development but does not assume any prior familiarity with TurboGears, Django, or Rails.

PostgreSQL and Python (Auditorium, 12:30)

Presenter

Brent Friedman

Summary

1.Brief overview of database connectivity, to gauge audience familiarity level 2.Brief history of postgresql 3.Overview of pg/python 4.Overview of psycopg2 (multi-threading, connection pool, etc.) 5.Live demo with pg/python 6.Common gotchas (errors, troubleshooting, etc.) 7.Questions

Experience level

Beginner

Iteration in Python: Iterators, Generators, Itertools, and Special Methods (Auditorium, 1:30)

Presenter

Brandon Mintern

Summary

A key paradigm in Python is iteration over collections of data. Python has several powerful facilities that make using and defining that iteration quite straightforward. In my talk, I will compare and contrast iterators and generators, discuss how to define iteration in a custom class, and show how the generator-based itertools module can make complex iteration patterns simple and efficient.

Experience level

The talk should benefit all but the most advanced Python programmers. The target audience will have some Python experience, but no specific former knowledge will be necessary.

Cross Platform Desktop Applications with Python and GWT (Loft, 1:30)

YADAF Slides

YADAF Code

Presenter

Nicholas Bastin

Summary

This session will introduce an application server which will allow developers to write Python backend code for a GWT (or any JSON client) interface without having to handle anything related to file serving or JSON translation on the server side, which is all taken care of automatically. Application developers merely load an application instance into the server and their application APIs are exposed as a JSON web service to be used with GWT or similar web-based UIs, thus making AJAX available as a desktop application framework without any need for developers to understand the ins and outs of application servers. This session will introduce this framework and also take discussion on future direction such as supporting other RPC mechanisms (SOAP, etc.) and deployment of stripped down browsers.

Experience level

Intermediate to Advanced

Paver; easily manage Python code (Auditorim, 2:30)

Presenter

Author: Kevin Dangoor

Presenter: Mark Ramm

Summary

An introduction to Paver.

Paver is a build, distribution, installation and deployment scripting package specifically geared to Python projects. It uses distutils and setuptools for packaging up code, Sphinx for documentation, virtualenv and zc.buildout for installation and wraps it all in an easy-to-use scripting setup. Using a simple model based on "tasks" (similar to Ruby's Rake), Paver helps you to have fewer random shell scripts, fewer configuration files, less duplication of project metadata and lets you stick to Python as much as possible.

Experience level

Assumes some knowledge of Python, but does not assume knowledge of Python project management.

Decorators are fun (Auditorium, 3:30)

Presenter

Matthew Wilson

Summary

[http://scratch.tplus1.com/decoratortalk/ View the slides for the presentation here].

This talk will start with a friendly walkthrough of decorators for people that have never seen them, then go into some straightforward examples, then finish with a few complex ideas. Details:

  • Write the simplest possible decorator.
  • Write a decorator that accepts arguments.
  • Preserve the function signature.
  • Coerce values into a function into types.
  • Log values coming out of a function.
  • Add a timeout to your functions.
  • Review generic functions.
  • Use Phillip Eby's PEAK-Rules to write generic functions.

Experience level

Hopefully, there will be something for everyone. Novices might enjoy the material at the beginning mostly, while experts would likely be more interested in the generic functions discussion.

BEA WebLogic Scripting with Python (Loft, 3:30)

Presenter

Matthew K. Williams

Summary

The WebLogic Scripting Tool (WLST) is one of the least documented and least understood aspects of WebLogic 9/10. However, it is very powerful and useful for daily tasks, whether they be administrative or monitoring the servers. WLST uses Jython, a version of Python which runs within the Java Virtual Machine. This session provides an overview of WLST, as well as a tutorial consisting of a number of real-life applications of WLST and python scripting with BEA's WebLogic platform.

Experience level

The attendee is expected to have some level of exposure to Python

Beginning web development with Python and Google App Engine (Auditorium, 4:30)

Presenter

Pradeep Gowda

Summary

Google has thrown open its cloud computing infrastructure to the developer community via "Google App Engine"(GAE). The Google Appengine allows the programmers to develop Python applications which can then be hosted on google infrastructure. This has huge implications for making web application development accessible to large cross section of python developers. In this talk, we will attempt to understand what GAE provides and how best to make use of it.

  • The Google App Engine(GAE) offering
  • Hello world! with Google App Engine
  • The components of a web app and GAE
    • Data store, URL mapping, static pages, templates
  • Processing user input
  • Storing and retrieving data
  • Presentation and templates
  • Using "web Frameworks" (Django, web.py)

Experience level

Beginner

PyOhio2008/Talks (last edited 2009-04-05 00:47:09 by pool-68-238-9-184)

Unable to edit the page? See the FrontPage for instructions.