Python: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
dellielt
{{Translations}}
{{Translations}}
==Introduction==
==Introduction==

Revision as of 10:05, 12 November 2007

dellielt

  english | español | português HowTo [ID# 76776]  +/-  

Introduction

  • You can download nicely packaged Python called ActivePython. They proclaim themselves as the All-in-one Python distribution for AIX, HP-UX, Linux, Mac OS X, Solaris, and Windows.
  • Another package of Python that includes graphical modules including 3D is called Visual Python. It is available for Windows, Mac, Linux and UNIX.
  • There is also a scientific distribution of Python called SciPy. This also supports Windows, Mac and Linux.

PyGTK is the Python interface to the GTK GUI library used in the OLPC. This library is notable for a component named Pango which simplifies the use of multiple scripts and languages. In addition, it's basic drawing library, Cairo, has some of the best support of SVG rendering which is also a major component of the OLPC.

The premier graphing tool for Python which puts graphing calculators to shame is Matplotlib. It does support output to GTK and to SVG which are both supported on the OLPC. However, there is another Python charting app called PyChart which is probably more suitable to being stripped down (remove Postscript) into a tool for the OLPC.

Learning Python

The Livewires Python Course may be useful to create some curriculum material to teach the kids how to write their own Python applications. It would need some adaptation to fit the OLPC environment.

The author of Python wrote a long tutorial.

Development Advise

Some things to consider in Python development:

  • PEP 8 is the Python style guide. On many issues the style guide suggests but does not require a particular style. Generally you should stick to the style guide, unless there is good reason not to. For instance, if you are interacting with a library (internal or external) that uses a different convention, don't try to translate the convention.