pyphi

A toolbox for integrated information theory.

https://github.com/wmayner/pyphi

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 17 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    3 of 11 committers (27.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (19.9%) to scientific vocabulary

Keywords

causality causation information integrated-information modeling neuroscience
Last synced: 6 months ago · JSON representation

Repository

A toolbox for integrated information theory.

Basic Info
Statistics
  • Stars: 401
  • Watchers: 37
  • Forks: 100
  • Open Issues: 15
  • Releases: 30
Topics
causality causation information integrated-information modeling neuroscience
Created almost 12 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License

README.md

PyPhi logo

Documentation badge Coveralls.io 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


An illustrated tutorial on how Φ is calculated is available as a supplement to the paper.

Usage, Examples, and API documentation

Installation

Set up a Python 3 virtual environment and install with

bash pip install pyphi

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

bash 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:

bash 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

bash pip install -r requirements.txt

The Makefile defines some tasks to help with development:

bash make test

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

bash make benchmark

runs performance benchmarks.

bash 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:

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

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

bash 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. Olcese, 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.

Owner

  • Name: William Mayner
  • Login: wmayner
  • Kind: user
  • Location: Madison, WI
  • Company: @CSC-UW

PhD student in the Neuroscience Training Program, University of Wisconsin–Madison

GitHub Events

Total
  • Issues event: 3
  • Watch event: 23
  • Issue comment event: 1
  • Push event: 4
  • Pull request event: 3
  • Fork event: 4
  • Create event: 1
Last Year
  • Issues event: 3
  • Watch event: 23
  • Issue comment event: 1
  • Push event: 4
  • Pull request event: 3
  • Fork event: 4
  • Create event: 1

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 4,341
  • Total Committers: 11
  • Avg Commits per committer: 394.636
  • Development Distribution Score (DDS): 0.373
Past Year
  • Commits: 421
  • Committers: 3
  • Avg Commits per committer: 140.333
  • Development Distribution Score (DDS): 0.261
Top Committers
Name Email Commits
Will Mayner w****r@g****m 2,721
Bo Marchman b****n@g****m 1,302
William Marshall w****3@w****u 105
Isaac David i****d@i****o 92
David Viggiano d****o@w****u 72
renzocom r****m@g****m 17
Graham Findlay g****y@g****m 14
Alireza Zaeemzadeh z****h@t****l 10
Larissa Albantakis a****s@w****u 5
Graham Findlay g****y 2
Ankur Sinha (Ankur Sinha Gmail) s****r@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 35
  • Total pull requests: 104
  • Average time to close issues: 3 months
  • Average time to close pull requests: 27 days
  • Total issue authors: 23
  • Total pull request authors: 18
  • Average comments per issue: 2.09
  • Average comments per pull request: 0.31
  • Merged pull requests: 75
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 10
  • Average time to close issues: 1 minute
  • Average time to close pull requests: about 14 hours
  • Issue authors: 2
  • Pull request authors: 3
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.1
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • 7beggars (5)
  • void4 (4)
  • penguinpee (2)
  • fischerdom (2)
  • wmayner (2)
  • peepo (2)
  • AjayTalati (2)
  • Zhangyanbo (1)
  • nickums (1)
  • AlfredOswald (1)
  • LuCeHe (1)
  • DiegoBneiNoah (1)
  • resperic (1)
  • OverCV (1)
  • freckletonj (1)
Pull Request Authors
  • dviggiano (31)
  • isacdaavid (21)
  • matteograsso (11)
  • ajbailey4 (8)
  • zaeemzadeh (7)
  • awitte3 (4)
  • HireTheHero (4)
  • slipperyhank (4)
  • grahamfindlay (3)
  • Astrocytes120 (2)
  • sanjayankur31 (2)
  • xcorail (1)
  • juanogo (1)
  • wmayner (1)
  • nathanielltaylor (1)
Top Labels
Issue Labels
documentation (2)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 489 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 13
    (may contain duplicates)
  • Total versions: 39
  • Total maintainers: 2
pypi.org: pyphi

Python library for computing integrated information.

  • Versions: 24
  • Dependent Packages: 0
  • Dependent Repositories: 12
  • Downloads: 465 Last month
Rankings
Stargazers count: 3.4%
Dependent repos count: 4.2%
Forks count: 4.8%
Average: 6.7%
Dependent packages count: 10.1%
Downloads: 10.8%
Maintainers (1)
Last synced: 6 months ago
pypi.org: pyphinb

Python library for computing integrated information.

  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 24 Last month
Rankings
Stargazers count: 3.4%
Forks count: 4.8%
Dependent packages count: 10.1%
Average: 13.4%
Dependent repos count: 21.6%
Downloads: 27.1%
Maintainers (1)
Last synced: 6 months ago

Dependencies

dev_requirements.txt pypi
  • Sphinx >=1.3
  • black *
  • isort *
  • pylint *
  • readme_renderer *
  • setuptools >=38.6.0
  • twine >=1.11.0
  • watchdog *
  • wheel >=0.31.0
setup.py pypi
  • decorator *
  • joblib *
  • numpy *
  • psutil *
  • pyemd *
  • pymongo *
  • pyyaml *
  • redis *
  • scipy *
  • tblib *
  • toolz *
  • tqdm *
test_requirements.txt pypi
  • asv *
  • coverage *
  • numpy >=1.1.4
  • pytest >=3.1.0
  • pytest-lazy-fixture *
  • virtualenv *