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.

Source Distribution

graphiit-0.1.0.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

graphiit-0.1.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file graphiit-0.1.0.tar.gz.

File metadata

  • Download URL: graphiit-0.1.0.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for graphiit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e898f9d55591e39a48c2a5d04e0658fb4fe7747eeb9f50f33a9af41c08ad9e52
MD5 236922d29f89ffcd4b9bb1f60bfd26d4
BLAKE2b-256 a6c706488516df23f39694a8af8d82002e300fbbb6da9916930db659a8aa9258

See more details on using hashes here.

File details

Details for the file graphiit-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for graphiit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4fd237de6df6ddff7bc4481d8ebf73a8cbde5c413481d757a3f3f7c79890b490
MD5 65b23345c7d1649bdbcaf76bc8c3afcf
BLAKE2b-256 2c2bc40720c78c0d4710af179aedce39daad018a0a49fbcd411c440e0f46cc8c

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