Skip to main content

Python library for computing integrated information.

Project description

PyPhi logo

Documentation badge Travis build badge Coveralls.io badge License badge Python versions badge

PyPhi is a Python library for computing integrated information (𝚽), and the associated quantities and objects.

If you use this code, please cite the paper:


Mayner WGP, Marshall W, Albantakis L, Findlay G, Marchman R, Tononi G. (2018) PyPhi: A toolbox for integrated information theory. PLOS Computational Biology 14(7): e1006343. https://doi.org/10.1371/journal.pcbi.1006343


Usage, Examples, and API documentation

Installation

Set up a Python 3 virtual environment and install with

pip install pyphi

To install the latest development version, which is a work in progress and may have bugs, run:

pip install "git+https://github.com/wmayner/pyphi@develop#egg=pyphi"

Note: this software is only supported on Linux and macOS. However, if you use Windows, you can run it by using the Anaconda Python distribution and installing PyPhi with conda:

conda install -c wmayner pyphi

Detailed installation guide for Mac OS X

See here.

User group

For discussion about the software or integrated information theory in general, you can join the pyphi-users group.

For technical issues with PyPhi or feature requests, please use the issues page.

Contributing

To help develop PyPhi, fork the project on GitHub and install the requirements with

pip install -r requirements.txt

The Makefile defines some tasks to help with development:

make test

runs the unit tests every time you change the source code.

make benchmark

runs performance benchmarks.

make docs

builds the HTML documentation.

Developing on Linux

Make sure you install the C headers for Python 3, SciPy, and NumPy before installing the requirements:

sudo apt-get install python3-dev python3-scipy python3-numpy

Developing on Windows

If you're just looking for an editable install, pip may work better than the conda develop utility included in the conda-build package. When using pip on Windows, the build of pyemd may fail. The simplest solution to this is to obtain pyemd through conda.

conda create -n pyphi_dev
conda activate pyphi_dev
conda install -c wmayner pyemd
cd path/to/local/editable/copy/of/pyphi
pip install -e .

Unfortunately, pip isn't great at managing the DLLs that some packages (especially scipy) rely on. If you have missing DLL errors, try reinstalling the offending package (here, scipy) with conda.

conda activate pyphi_dev
pip uninstall scipy
conda install scipy

Credit

Please cite these papers if you use this code:

Mayner WGP, Marshall W, Albantakis L, Findlay G, Marchman R, Tononi G. (2018) PyPhi: A toolbox for integrated information theory. PLOS Computational Biology 14(7): e1006343. https://doi.org/10.1371/journal.pcbi.1006343

@article{mayner2018pyphi,
  title={PyPhi: A toolbox for integrated information theory},
  author={Mayner, William GP and Marshall, William and Albantakis, Larissa and Findlay, Graham and Marchman, Robert and Tononi, Giulio},
  journal={PLoS Computational Biology},
  volume={14},
  number={7},
  pages={e1006343},
  year={2018},
  publisher={Public Library of Science},
  doi={10.1371/journal.pcbi.1006343},
  url={https://doi.org/10.1371/journal.pcbi.1006343}
}

Albantakis L, Oizumi M, Tononi G (2014). From the Phenomenology to the Mechanisms of Consciousness: Integrated Information Theory 3.0. PLoS Comput Biol 10(5): e1003588. doi: 10.1371/journal.pcbi.1003588.

@article{iit3,
    title={From the Phenomenology to the Mechanisms of Consciousness:
    author={Albantakis, Larissa AND Oizumi, Masafumi AND Tononi, Giulio},
    Integrated Information Theory 3.0},
    journal={PLoS Comput Biol},
    publisher={Public Library of Science},
    year={2014},
    month={05},
    volume={10},
    pages={e1003588},
    number={5},
    doi={10.1371/journal.pcbi.1003588},
    url={http://dx.doi.org/10.1371%2Fjournal.pcbi.1003588}
}

This project is inspired by a previous project written in Matlab by L. Albantakis, M. Oizumi, A. Hashmi, A. Nere, U. Olces, P. Rana, and B. Shababo.

Correspondence regarding this code and the PyPhi paper should be directed to Will Mayner, at mayner@wisc.edu. Correspondence regarding the Matlab code and the IIT 3.0 paper should be directed to Larissa Albantakis, PhD, at albantakis@wisc.edu.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyphi-1.2.0.tar.gz (635.0 kB view details)

Uploaded Source

Built Distribution

pyphi-1.2.0-py3-none-any.whl (619.6 kB view details)

Uploaded Python 3

File details

Details for the file pyphi-1.2.0.tar.gz.

File metadata

  • Download URL: pyphi-1.2.0.tar.gz
  • Upload date:
  • Size: 635.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.7

File hashes

Hashes for pyphi-1.2.0.tar.gz
Algorithm Hash digest
SHA256 e566ae75070658df133db863dd01603b63be206d50718ca58b4b3c72f9df0a22
MD5 52f3b4dbae455924e7422c78dac21bee
BLAKE2b-256 b28cd6f05ac28fbeec247a98e568ede794890f8116557fa29827d00e120dd3ac

See more details on using hashes here.

File details

Details for the file pyphi-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: pyphi-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 619.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.7

File hashes

Hashes for pyphi-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2b11aedcf811fc8a8ccfb39142cb064048db73ff6cd0813e237336f1becfc6b8
MD5 4d0865d65c66d3bf9a67e4779c23e9fd
BLAKE2b-256 ad21cc74dfd8a0f7a536673b96d8cab0e4ca8c54289e4f0d914aba7d4d9dc406

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page