distob
Overview
Distob will take your existing python objects, or a sequence of objects, and scatter them onto many IPython parallel engines, which may be running on a single computer or on a cluster.
In place of the original objects, proxy objects are kept on the client computer that provide the same interface as the original objects. You can continue to use these as if the objects were still local. All methods are passed through to the remote objects, where computation is done.
In particular, sending numpy arrays to the cluster is supported.
A numpy array can also be scattered across the cluster, along a particular axis. Operations on the array can then be automatically done in parallel (either using ufuncs, or by using vectorize() below)
Note: numpy with __numpy_ufunc__ feature enabled (not yet released) is required to support distributed array arithmetic and distributed ufuncs. You can get numpy with this experimental feature enabled here: https://github.com/mattja/numpy/archive/master.zip
Distob is an object layer built on top of ipyparallel, so it will make use of your default IPython parallel profile. This allows different cluster architectures, local CPUs, SSH nodes, PBS, Amazon EC2, etc.
functions
distributed numpy arrays
classes
attributes
engine: the ObjectEngine instance on each host (ObjectHub on the client)
TODO
Allow assignment to slices of remote arrays.
Properly implement caching of remote method results.
Auto-creation of proxy classes at runtime (depends uqfoundation/dill#58)
For ufunc execution, still need to implement reduce, accumulate, reduceat, outer, at methods.
Make proxy classes more robust, adapting wrapt (pypi.python.org/pypi/wrapt)
Thanks
Incorporates pylru.py by Jay Hutchinson, http://github.com/jlhutch/pylru
ipyparallel interactive parallel computing: https://ipyparallel.readthedocs.org/
dill by Mike McKerns for object serialization, see: http://trac.mystic.cacr.caltech.edu/project/pathos
Metadata
Release files for distob 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| distob-0.3.3.tar.gz | 55.5 kB | Without provenance | Details for distob-0.3.3.tar.gz |
Release files / distob-0.3.3.tar.gz
| Download URL | distob-0.3.3.tar.gz |
|---|---|
| Size | 55.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
93ddc0a8d0f1d1a41d66153b518dffad685a91b9bec9e99f40a3aca0f8065bee
|
|
BLAKE2b-256 checksum How to use checksums |
bb489a0ba5ec94063ba5eea13f9f0f5f9c63f9979e93046930e83544a6c2dbe5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15
|
Security for distob 0.3.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.