• v2.1.0 154e8c46aa

    Silmathoron released this 2020-08-09 08:48:56 +00:00 | 90 commits to main since this release

    Version 2.1 further extends the normalized graph analysis methods with the addition of partial clustering coefficient for directed graphs.
    It also notably improves plotting and support of undirected networks.

    New features:

    • Added cycle, middleman, fan-in and fan-out clustering versions for directed graphs.


    • connect_* functions now return only the newly created edges when some edges are dropped due to ignore_invalid argument
    • make_spatial now works properly when only positions are provided during graph initialization.
    • improved graph drawings:
      • corrected restrict nodes
      • add restrict_edges
      • improved fast plot (markers)
      • add colorbar label
      • improved color support (html, vectors)


    • lattice_rewire now works for undirected networks for any number of edges (and not only when the edge number matches that of a regular lattice)
    • correct weight initialization with distributions and loading
    • Fixed the copy method:
      • correct initialization of edge attributes upon graph copy
      • solved issue with copy of undirected graphs becoming directed upon copy
      • use of copy is now forbidden with MPI
  • v2.0.1 c21c734ab5

    Silmathoron released this 2020-06-29 11:58:45 +00:00 | 95 commits to main since this release

    This patch simply fixes the installation on Windows as well as random generators seeding on this platform.
    For an overview of the latest changes associated to the move to major version 2.0, please see the 2.0.0 release.

  • v2.0.0 ee4108e09c

    Silmathoron released this 2020-06-22 09:45:20 +00:00 | 98 commits to main since this release

    With the 2.0 release, NNGT moves from inheritance to composition for the underlying graphs.
    This enables improved support of both directed and undirected networks on all backends.
    The second major feature is the introduction of "normalized" graph analysis tools with explicit definitions so that the results returned are always the same regardless of the backend.

    New features

    • New graph generation methods: circular_graph, from_degree_list, and watts_strogatz.
    • Rewiring functions (randomization and latticization).
    • New analysis functions: connected_components provides detailed information on the nodes in each component, is_connected function (check for single component), shortest paths and distance algorithms, neighbours method, small_world_propensity for directed weighted graphs.
    • Clustering methods for weighted and directed graphs.
    • Graph visualization using the libraries' methods.
    • Underlying library graph is now freely accessible via the graph property (use responsibly)
    • "total-degree" constraint is available for degree-generation methods
    • Complete versatility of the new_edge/new_edges functions for the checks:
      • for existing edges or duplicates in the list
      • for self-loops
      • possibility to silently ignore invalid edges


    • RNG and seeds.
    • NEST import is now lazy.
    • Format choice for adjacency matrix (dense matrix and all scipy.sparse formats).
    • Improved I/O: support for GML format and custom edge-list files.
    • Automatic addition of the edge distances for SpatialGraph objects.

    Breaking changes

    Under the hood, the library underwent some major restructuring, which led to the decision of introducing some important breaking changes.

    • Drop support for Python 2.
    • Removal of num_wcc and num_scc in favour of connected_components.
    • replaced "syn_type" arguments by "edge_type".
    • replaced "use_weights" arguments by "weights".


    • Weight change with nngt backend.
    • Proper support for undirected graphs.
    • Corrected generation functions for undirected graphs (notably Newman-Watts and Erdos-Renyi).
    • Fixed all functions raising errors with networkx.
    • Errors in edge/node attributes handling with some backends.
  • v1.3.2 bdbc9bdeab

    Silmathoron released this 2020-03-30 17:06:24 +00:00 | 124 commits to main since this release

    This patch fixes an issue affecting the "nngt" backend (for users not using any of the standard graph libraries) that led to weights set after edge creation (using set_weights) to be incorrectly updated in some cases, notably when using NNGT with NEST.

    (note that the Travis test for graph-tool on Python 2 fails solely because Tiago is no longer supporting it and removed the package from his repo, it is not linked to any issue with this release)

  • v1.3.1 1f09f80bfc

    Silmathoron released this 2020-03-16 15:56:18 +00:00 | 126 commits to main since this release

    This patch fixes a bug using the fixed_degree or gaussian_degree methods on different sources and target neurons with one of the following functions:

    • connect_groups, connect_neural_groups
    • connect_neural_types
    • connect_nodes

    It also deprecates connect_neural_groups in favour of connect_groups.

  • v1.3.0 90e67615d2

    Silmathoron released this 2020-03-09 10:18:04 +00:00 | 128 commits to main since this release

    NB: this release will be the last one supporting python 2 and NEST 2, starting NNGT 2.0, only python 3 and NEST 3 will be supported.
    EDIT: due to delays in the release of NEST3, support for NEST2 was maintained in NNGT 2.


    • support for networkx 2.4
    • added MetaGroup class
    • added excitatory/inhibitory access for NeuralPop and MetaGroup


    • corrected betweenness for all backends
    • corrected multiple node access for degrees in "nngt" backend
    • corrected plot import for simulation module


    • sunsetting Python 2
    • deprecated nest_gid in favor of nest_gids

    Under the hood:

    • Improved testing and coverage
    • switched to sets in generation algorithms
  • v1.2.1 0afc464613

    Silmathoron released this 2019-11-25 13:47:17 +00:00 | 135 commits to main since this release

    Breaking change: decimate converted to decimate_connections in plot functions.

    Various corrections:

    • improved setup for NEST loading
    • set binsize to int in total_firing_rate
    • improved data management and pip install correction
  • v1.2.0 35adf55542

    Silmathoron released this 2019-09-08 14:52:33 +00:00 | 137 commits to main since this release

    This new version vastly improves the support of the backends with respect to node and edges attributes.
    It also introduces new metagroup objects for even better network generation.
    Finally, it comes with a refreshed and enriched documentation.

    Breaking changes:

    • ntype was switched to neuron_type for NeuralGroup and NeuralPop
    • create_group takes neurons as first parameters and name as second


    • full attributes support (including strings and objects) for all backends
    • addition of metagroups
    • new get_nodes and get_edges functions
    • improved plotting and histogram readded
    • enriched and updated documentation and tutorials
    • larger coverage (now at 30%)


    • corrected multiple issues with networkx and nngt backends
    • fixed all attribute-related issues
    • corrected IO for Network with NeuralPop
  • v1.1.0 b4d74fb4f8

    Silmathoron released this 2018-11-23 14:33:58 +00:00 | 140 commits to main since this release

    This new version provides a working multithreading install on Windows, as well as several improvements and bugfixes.

    Breaking change: for interactions with NEST, the set_minis has been change to have independent weight for the noise.


    • Improved and corrected draw_network, plot_activity, and animation
    • IO now save and load properly the areas of a Shape


    • Corrected error in distance-rule with OpenMP
    • Corrected error in betweenness with igraph
    • Corrected neighbors with networkx
    • Fixed crash with sorting method


    • I realized that GitHub does not include the submodules in the release archives; starting now, I will also include the .tar.gz and .zip archives containing the same files as the corresponding version of NNGT on PyPi.
    • For installation, it is now recommended to install directly through pip.

    To install via pip, use either

    pip install --user nngt


    sudo pip install nngt
  • v1.0.1 5f879c8c76

    Patch 1.0.1 Stable

    Silmathoron released this 2018-05-14 13:06:49 +00:00 | 141 commits to main since this release

    Various corrections and improvements.


    • plot_activity has axis keyword and better color handling
    • get_weights/delays/types support partial edges query
    • draw_network with colorbar


    • edge_list and neighbour_list attributes saving
    • problems with network saving in db
    • get_weights
    • get_node_attributes
    • nx edges_attributes and BaseGraph new_edge_attr
    • inverted in/out neighbours for igraph