paulb@22 | 1 | Introduction
|
paulb@22 | 2 | ------------
|
paulb@22 | 3 |
|
paulb@22 | 4 | The parallel module provides elementary support for parallel programming in
|
paulb@22 | 5 | Python using a fork-based process creation model in conjunction with a
|
paulb@22 | 6 | channel-based communications model implemented using socketpair and poll.
|
paulb@22 | 7 |
|
paulb@22 | 8 | Quick Start
|
paulb@22 | 9 | -----------
|
paulb@22 | 10 |
|
paulb@22 | 11 | Try running some of the tests:
|
paulb@22 | 12 |
|
paulb@22 | 13 | PYTHONPATH=. python tests/create_loop.py
|
paulb@22 | 14 | PYTHONPATH=. python tests/start_loop.py
|
paulb@22 | 15 |
|
paulb@22 | 16 | (Simple loop demonstrations which use two different ways of creating and
|
paulb@22 | 17 | starting the parallel processes.)
|
paulb@22 | 18 |
|
paulb@22 | 19 | PYTHONPATH=. python tests/start_indexer.py <n> <directory>
|
paulb@22 | 20 |
|
paulb@22 | 21 | (A text indexing demonstration, where <n> should be replaced by the number of
|
paulb@22 | 22 | created/child/worker processes which will attempt to tokenize text files, and
|
paulb@22 | 23 | where <directory> should be a directory containing text files to be indexed,
|
paulb@22 | 24 | although HTML files will also work well enough. After indexing the files, a
|
paulb@22 | 25 | prompt will appear, words or word fragments can be entered, and matching words
|
paulb@22 | 26 | and their locations will be shown.)
|
paulb@22 | 27 |
|
paulb@22 | 28 | Contact, Copyright and Licence Information
|
paulb@22 | 29 | ------------------------------------------
|
paulb@22 | 30 |
|
paulb@22 | 31 | No Web page has yet been made available for this work, but the author can be
|
paulb@22 | 32 | contacted at the following e-mail address:
|
paulb@22 | 33 |
|
paulb@22 | 34 | paul@boddie.org.uk
|
paulb@22 | 35 |
|
paulb@22 | 36 | Copyright and licence information can be found in the docs directory - see
|
paulb@22 | 37 | docs/COPYING.txt and docs/LICENCE.txt for more information.
|
paulb@22 | 38 |
|
paulb@22 | 39 | Dependencies
|
paulb@22 | 40 | ------------
|
paulb@22 | 41 |
|
paulb@22 | 42 | This software depends on standard library features which are stated as being
|
paulb@22 | 43 | available only on "UNIX"; it has only been tested on a GNU/Linux system.
|
paulb@22 | 44 |
|
paulb@22 | 45 | Release Procedures
|
paulb@22 | 46 | ------------------
|
paulb@22 | 47 |
|
paulb@22 | 48 | Update the parallel __version__ attribute.
|
paulb@22 | 49 | Change the version number and package filename/directory in the documentation.
|
paulb@22 | 50 | Update the release notes (see above).
|
paulb@22 | 51 | Check the release information in the PKG-INFO file.
|
paulb@22 | 52 | Tag, export.
|
paulb@22 | 53 | Archive, upload.
|
paulb@22 | 54 | Update PyPI, PythonInfo Wiki, Vaults of Parnassus entries.
|
paulb@26 | 55 |
|
paulb@26 | 56 | Making Packages
|
paulb@26 | 57 | ---------------
|
paulb@26 | 58 |
|
paulb@26 | 59 | To make Debian packages:
|
paulb@26 | 60 |
|
paulb@26 | 61 | 1. Create new package directories under packages/debian if necessary.
|
paulb@26 | 62 | 2. Make a symbolic link in the distribution's root directory to keep the
|
paulb@26 | 63 | Debian tools happy:
|
paulb@26 | 64 |
|
paulb@26 | 65 | ln -s packages/debian/python2.4-parallel/debian/
|
paulb@26 | 66 |
|
paulb@26 | 67 | 3. Run the package builder:
|
paulb@26 | 68 |
|
paulb@26 | 69 | dpkg-buildpackage -rfakeroot
|
paulb@26 | 70 |
|
paulb@26 | 71 | 4. Locate and tidy up the packages in the parent directory of the
|
paulb@26 | 72 | distribution's root directory.
|