Skip to main content
Zenodo DOI Travis build Coveralls.io

PyPhi: 𝚽 for Python 3

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

If you use this code, please cite both this repository (DOI 10.5281/zenodo.12194) and the IIT 3.0 paper (DOI 10.1371/journal.pcbi.1003588).

Usage, Examples, and API documentation

Check out the documentation for the latest release, or the documentation for the latest development version.

The documentation is also available within the Python interpreter with the help function.

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 has only been tested on the Mac OS X and Linux operating systems. Windows is not supported, though it might work on with minor modifications. If you do get it to work, a writeup of the steps would be much appreciated!

Detailed installation guide for Mac OS X

See here.

Optional: caching with a database

PyPhi stores the results of 𝚽 calculations as they’re computed in order to avoid expensive re-computation. These results can be stored locally on the filesystem (the default setting), or in a full-fledged database.

Using the default caching system is easier and works out of the box, but using a database is more robust.

To use the database-backed caching system, you must install MongoDB. Please see their installation guide for instructions.

Once you have MongoDB installed, use mongod to start the MongoDB server. Make sure the mongod configuration matches the PyPhi’s database configuration settings in pyphi_config.yml (see the configuration section of PyPhi’s documentation).

You can also check out MongoDB’s Getting Started guide or the full manual.

Contributing

To help develop PyPhi, fork the project on GitHub and install the requirements with pip install -r requirements.txt.

Development workflow

Gruntfile.js defines some tasks to help with development. These are run with Grunt.js.

To get grunt, first install Node.js. Then, within the pyphi directory, run npm install to install the local npm dependencies, then run sudo npm install -g grunt grunt-cli to install the grunt command to your system. Now you should be able to run tasks with grunt, e.g.

grunt test

which will run the unit tests every time you change the source code. Similarly,

grunt docs

will rebuild the HTML documentation on every change.

At some point I’ll try to use a Makefile instead, since many more people have access to make.

Developing on Linux

Make sure you install the Python 3 C headers before installing the requirements:

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

Credits

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

Correspondence regarding the Matlab code and the IIT 3.0 paper (below) should be directed to Larissa Albantakis, PhD, at albantakis@wisc.edu.

Please cite this paper if you use this code:

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

Metadata

Release files for pyphi 0.3.7

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

Source distribution (sdist)

Source distribution for pyphi 0.3.7
File Size Uploaded
pyphi-0.3.7.tar.gz 77.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyphi 0.3.7
File Interpreter ABI Platform
pyphi-0.3.7-py3-none-any.whl Python 3 none any Details

Total release size: 220.6 kB

Release files / pyphi-0.3.7.tar.gz

Download URL pyphi-0.3.7.tar.gz
Size 77.2 kB
Tags Source
SHA-256 checksum
How to use checksums
81b194c70f196541eeb37157e5147a0a7b86d583b577d34e1ff2d8a856fd2d08
BLAKE2b-256 checksum
How to use checksums
eba943725a15c317948c576dcd101ce21a9544ca2db63c2f134e112e9ea786a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyphi-0.3.7-py3-none-any.whl

Download URL pyphi-0.3.7-py3-none-any.whl
Size 143.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6c6bf42171101413b1c6fed38e22b46fb0fb85e97da707f4e4aacb0b3984c87a
BLAKE2b-256 checksum
How to use checksums
8e243784cbf2a33aef5281f087669e25b9fa47dd3d99e0c15cfc8b302d1c19e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
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