# Python 1.5.1 for BeOS (PowerPC Edition)

Here's Python 1.5.1 for BeOS! After many months of being distracted by other projects, I've finally finished the port... and it's one of the cleanest ports I've ever done.

Note: This is the second Python 1.5.1 for BeOS (PowerPC Edition) archive; the first one had a broken `install.sh`... sorry about that!

- So?
- Where's the x86 version?
- What's here?
- How do I install?
- Included modules

## So?

Well, everyone wants a nice programming language, and Python's one of the nicest. In the near future, we'll have some BeOS-specific Python modules that let you do everything; scripting other applications, manipulating file attributes, creating and running filesystem queries, and even creating an entire BeOS application (GUI and all) right in Python... without having to write a single line of C++ code!

If you've never heard of Python before, you might want to check out:

- The Python website.
- The Python newsgroup.
- Any of the great Python books, which should be found at any bookstore that carries a decent selection of computer books.

## Where's the x86 version?

At this time, Python only supports BeOS on the PowerPC platform; if you'd like to help me port it to the x86 platform, please let me know (I only have limited access to BeOS on an x86 system). If you'd like to lend me an x86 laptop running BeOS to do the port, definitely let me know! `:-)`

I'll even give it back when I'm done.

## What's here?

File | Description
--- | ---
`install.sh` | The installation script. See the Installation instructions below!
`Python-1.5.1` | The Python 1.5.1 port; all the executables, shared libraries, and Python modules and packages. See the Included modules for a complete list of the built-in or dynamically-loaded modules included with this version of Python.
`README.html` | This file (of course!).

## How do I install?

To install Python for BeOS:

1. Open a Terminal window and `cd` to the directory where you unpacked Python.

   If you've got the TermHire Tracker add-on installed, you can just press Command-Option-T to do this.

2. Run the installer script:

       ./install.sh

   You should seem some messages as it moves the Python goodies around on your system.

3. That's it! You're done, go play with Python now.

### What does `install.sh` do?

`install.sh` just moves the Python 1.5.1 files into the appropriate spots on your `/boot` volume. The binary is placed in `/boot/home/config/bin`, the libraries are placed in `/boot/home/config/lib`, and the rest of the package ends up in `/boot/apps/Python-1.5.1`.

After moving all the files into the right places, `install.sh` will attempt to run a very simple Python Hello world program to see if the installation succeeded.

## Included modules

This version of Python for BeOS comes with the following modules:

`array`, `audioop`, `binascii`, `cPickle`, `cStringIO`, `cmath`, `crypt`, `curses`, `errno`, `fcntl`, `gdbm` (see below), `grp`, `imageop`, `_locale` (newly built/tested for Python 1.5.1 on BeOS), `math`, `md5`, `new`, `operator`, `parser`, `pcre`, `posix`, `pwd`, `readline` (see below), `regex`, `reop`, `rgbimg`, `rotor`, `select`, `signal`, `socket`, `soundex`, `strop`, `struct`, `syslog`, `termios`, `thread`, `time`, `timing`, `zlib`

In addition to these modules (all written in C), all of the many, many Python-based modules that make up the Python library are also here. See the Python documentation for details.

See the `Misc/NEWS` file for a detailed list of what's new in Python 1.5.1... of special interest to BeOS developers will be the `threading` module.

### `gdbm` and `readline`

The `gdbm` and `readline` modules (`gdbmmodule.so` and `readline.so` in your `/boot/home/config/lib/python1.5/lib-dynload` directory after installation) are linked against libraries covered by the GNU General Public License (specifically, `libgdbm.a` and `libreadline.a`).

The code in these modules is not covered by the GPL; it's distributed under the normal Python license.

To comply with the GNU General Public License (article 3, section "b"), I must make this offer:

> I will send, to anyone who requests it, copies of the GNU dbm (gdbm) and/or GNU readline (readline) libraries, for no more than the cost of physically performing the source distribution.

To me, this seems pretty anachronistic; these days, it's much easier to just hop on over to your favourite GNU FTP site (such as prep.ai.mit.edu) and grab the source yourself. BeOS's excellent POSIX 1003.1 support means these compile from the "base" source without modification.

But, I include this here for all the GNU zealots who raise a stink every time someone does something useful that involves GNU code in any way.

Chris Herborth (chrish@qnx.com)

April 25, 1998