Skip to main content

ppft: distributed and parallel python

About Ppft

ppft is a fork of Parallel Python, and is developed as part of pathos: https://github.com/uqfoundation/pathos

Parallel Python module (pp) provides an easy and efficient way to create parallel-enabled applications for SMP computers and clusters. pp module features cross-platform portability and dynamic load balancing. Thus application written with pp will parallelize efficiently even on heterogeneous and multi-platform clusters (including clusters running other application with variable CPU loads). Visit http://www.parallelpython.com for further information.

ppft is part of pathos, a python framework for heterogeneous computing. ppft is in active development, so any user feedback, bug reports, comments, or suggestions are highly appreciated. A list of known issues is maintained at http://trac.mystic.cacr.caltech.edu/project/pathos/query.html, with a public ticket list at https://github.com/uqfoundation/ppft/issues.

NOTE: ppft installs as pp. If pp is installed, it should be uninstalled before ppft is installed – otherwise, import pp will likely not find the ppft fork.

Major Changes:

  • pip and setuptools support

  • support for python 3

  • enhanced serialization, using dill.source

Current Release

This documentation is for version ppft-1.6.6.1 (a fork of pp-1.6.6).

The latest released version of ppft is available from:

https://pypi.org/project/ppft

pp and ppft are distributed under a BSD-like license.

Development Version

You can get the latest development version with all the shiny new features at:

https://github.com/uqfoundation

If you have a new contribution, please submit a pull request.

Installation

ppft is packaged to install from source, so you must download the tarball, unzip, and run the installer:

[download]
$ tar -xvzf ppft-1.6.6.1.tgz
$ cd ppft-1.6.6.1
$ python setup.py build
$ python setup.py install

You will be warned of any missing dependencies and/or settings after you run the “build” step above.

Alternately, ppft can be installed with pip or easy_install:

$ pip install ppft

NOTE: ppft installs as pp. If pp is installed, it should be uninstalled before ppft is installed – otherwise, import pp will likely not find the ppft fork.

Requirements

ppft requires:

- ``python``, **version >= 2.6** or **version >= 3.1**, or ``pypy``
- ``six``, **version >= 1.7.3**

Optional requirements:

- ``setuptools``, **version >= 0.6**
- ``dill``, **version >= 0.3.0**

More Information

Probably the best way to get started is to look at the set of example scripts in ppft.examples. You can run the test suite with python -m ppft.tests. ppft will create and execute jobs on local workers (automatically created using python -u -m ppft). Additionally, remote servers can be created with ppserver (or python -m ppft.server), and then jobs can be distributed to remote workers. See --help for more details on how to configure a server. Please feel free to submit a ticket on github, or ask a question on stackoverflow (@Mike McKerns). If you would like to share how you use ppft in your work, please send an email (to mmckerns at uqfoundation dot org).

Citation

If you use ppft to do research that leads to publication, we ask that you acknowledge use of ppft by citing the following in your publication:

M.M. McKerns, L. Strand, T. Sullivan, A. Fang, M.A.G. Aivazis,
"Building a framework for predictive science", Proceedings of
the 10th Python in Science Conference, 2011;
http://arxiv.org/pdf/1202.1056

Michael McKerns and Michael Aivazis,
"pathos: a framework for heterogeneous computing", 2010- ;
http://trac.mystic.cacr.caltech.edu/project/pathos

Please see http://trac.mystic.cacr.caltech.edu/project/pathos or http://arxiv.org/pdf/1202.1056 for further information.

Metadata

Release files for ppft 1.6.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ppft 1.6.6.1
File Size Uploaded
ppft-1.6.6.1.tar.gz 63.7 kB Details

Release files / ppft-1.6.6.1.tar.gz

Download URL ppft-1.6.6.1.tar.gz
Size 63.7 kB
Tags Source
SHA-256 checksum
How to use checksums
9e2173042edd5cc9c7bee0d7731873f17fcdce0e42e4b7ab68857d0de7b631fc
BLAKE2b-256 checksum
How to use checksums
5b169e83c2aa45949ee9cd6e8731275acdaeb6c624b8728d6598196c65074f3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.5.0.1 requests/2.18.1 setuptools/36.0.1 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/2.7.16

Release history Release notifications | RSS feed

1.7.8

2 release files

1.7.7

2 release files

1.6.6.2

1 release file

This release

1.6.6.1 This release

1 release file

1.6.4.9

1 release file

1.6.4.8

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page