Metadata-Version: 2.1
Name: ppft
Version: 1.6.6.1
Summary: distributed and parallel python
Home-page: https://pypi.org/project/ppft
Author: Mike McKerns
Maintainer: Mike McKerns
License: BSD-like
Download-URL: https://github.com/uqfoundation/ppft/releases/download/ppft-1.6.6.1/ppft-1.6.6.1.tar.gz
Platform: Windows
Platform: Linux
Platform: Mac
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development
Classifier: Topic :: Scientific/Engineering
Provides-Extra: dill
Requires-Dist: dill (>=0.3.0) ; extra == 'dill'

-------------------------------------
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.



