Skip to main content

Python library for building PyPhi network graphs

Project description

Graphiit

Utilities for building PyPhi networks that need to be large and/or malleable.

Installation

You can install graphiit from PyPi:

pip install graphiit

Or the latest development version from Github:

pip install git+https://github.com/grahamfindlay/graphiit@develop

Basic Usage

At the core of graphiit is the Graph object.

>>> from graphiit import Graph

Graph takes a graph configuration as a parameter:

>>> graph_config = [
    ('A', 'OR', 'B', 'C'),
    ('B', 'AND', 'A', 'C'),
    ('C', 'XOR', 'A', 'B')]
>>> graph = Graph(graph_config)

Each line in the configuration specifies the name of a node, the mechanism that the node implements, and the nodes in the network which input to the node. For example, in the above configuration the line ('A', 'OR', 'B', 'C') specifies that node A is an OR-gate over the inputs B and C.

Once we’ve initialized a Graph object, we can create a PyPhi Network:

>>> network = graph.pyphi_network()

That’s it! You can now perform all IIT computations using this network.

Mechanisms

While graphiit has a number of builtin mechanisms, you can easily specify your own by defining a function which takes the states of the input nodes as a parameter and returns True if the mechanism should be on and False if it should be off.

>>> def ALWAYS_ON(inputs):
...     return True

You can then use this function in the graph configuration:

>>> graph_config = [('A', ALWAYS_ON, 'A')]
>>> graph = Graph(graph_config)

See graphiit.micro_mechanisms for implementations of the basic mechanisms.

Other Functionality

TODO

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
graphiit-0.1.0-py3-none-any.whl (6.8 kB) Copy SHA256 hash SHA256 Wheel py3 Jul 2, 2018
graphiit-0.1.0.tar.gz (19.3 kB) Copy SHA256 hash SHA256 Source None Jul 2, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page