Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Neet: Simulating and analyzing network models

Neet is a python package designed to provide an easy-to-use API for creating and evaluating dynamical network models. In its current state, Neet supports simulating synchronous Boolean network models, though the API is designed to be model generic. Future work will implement asynchronous update mechanisms and more general network types.


Neet provides a hierarchy of network classes with methods designed to make common tasks as painless as possible. For example, you can read in a collection of boolean logic equations and immediately probe the dynamics of the network, and compute values such as the attractor cycles and average sensitivity of the network.

>>> from neet.boolean import LogicNetwork
>>> net = LogicNetwork.read_logic('myeloid-logic_expressions.txt')
>>> net.names
['GATA-2', 'GATA-1', 'FOG-1', 'EKLF', 'Fli-1', 'SCL', 'C/EBPa', 'PU.1', 'cJun', 'EgrNab', 'Gfi-1']
>>> net.attractors
array([array([0]), array([62, 38]), array([46]), array([54]),
       array([1216]), array([1116, 1218]), array([896]), array([960])],
>>> net.average_sensitivity()
>>> net.network_graph()
<networkx.classes.digraph.DiGraph object at 0x7b2ce5508510>

See the examples directory for Jupyter notebooks which demonstrate some of the Neet's features.



Neet depends on several packages which will be installed by default when Neet is installed via pip:

However, network visualization is notoriously problematic, and so we have two optional dependencies which are only required if you wish to visualize networks using Neet's builtin capabilities:

True to form, these dependencies are a pain. Graphviz, unfortunately, cannot be installed via pip (see: for installation instructions). Once Graphviz has been installed, you can install pygraphviz via pip.

Via Pip

To install Neet via pip, you can run the following

$ pip install neet

Note that on some systems this will require administrative privileges. If you don't have admin privileges or would prefer to install Neet for your user only, you do so via the --user flag:

$ pip install --user neet

From Source

$ git clone
$ cd neet
$ python test
$ pip install .

Getting Help

Neet is developed to help people interested in using and analyzing network models to get things done quickly and painlessly. Your feedback is indispensable. Please create an issue if you find a bug, an error in the documentation, or have a feature you'd like to request. Your contribution will make Neet a better tool for everyone.

If you are interested in contributing to Neet, please contact the developers. We'll get you up and running!

Neet Source Repository
Neet Issue Tracker

Relevant Publications

  • Daniels, B.C., Kim, H., Moore, D.G., Zhou, S., Smith, H.B., Karas, B., Kauffman, S.A., and Walker, S.I. (2018) "Criticality Distinguishes the Ensemble of Biological Regulatory Networks" Phys. Rev. Lett. 121 (13), 138102, doi:10.1103/PhysRevLett.121.138102

System Support

So far the python wrapper has been tested under python3.4 and python3.5, and on the following platforms:

  • Debian 8
  • Mac OS X 10.11 (El Capitan)
  • Windows 10

Note: As of January 1, 2020, official support for Python 2.X has ended as per PEP 373. As such, Neet no longer officially supports 2.X; however, the current version (Neet v1.0) is compatible and all unit tests pass under Python 2.7.

Copyright and Licensing

Copyright © 2017-2020 Bryan C. Daniels, Bradley Karas, Hyunju Kim, Douglas G. Moore, Harrison Smith, Sara I. Walker, and Siyu Zhou. Free use of this software is granted under the terms of the MIT License.

See the LICENSE for details.