Unified generation and analysis of networks in Python, with neuroscientific additions
Bot releases are hidden (Show)
Published by tfardet over 1 year ago
Support graph-tool >= 2.4.6
Support networkx >= 3
Move to pyproject.toml
Make project REUSE compliant
Fix bug for igraph node attributes
Published by tfardet almost 3 years ago
This bugfix version upgrades the geometry submodule to make it ready for the upcoming 2.0 version of Shapely.
It also improves the GraphML IO functions so that they support graphs with missing attributes.
Published by tfardet about 3 years ago
This is mostly a bugfix version but it also introduces harmonic centrality support with igraph and node annotations on plots.
New features
Enhancement
Circular self-loops on network plots (81c7da08).
Bugfixes
Published by tfardet about 3 years ago
This new version adds support for NetworkX 2.6+, introduces a new network model, improves IO and plotting modules, and extends the list of functions that are supported by the default backend (if networkx, igraph, and graph-tool are not installed on the system).
New features
sparse_clustered
: it is now possible to generate sparse graphs with a desired clustering coefficient, this comes with an associated rewiring scheme (f45d0a9b)Enhancements
Bugfixes
Correct delete_edges for nngt backend that did not update the node degrees (b1ca08df).
Published by tfardet over 3 years ago
This new release brings the possibility to plot graph together with geospatial data and adds support for the new NEST 3 release.
geospatial
module and its draw_map
function.get_edges
functionGraph
objectsNeuralGroup
is excitatoryStructure.create_meta_group
new_edges
for empty edge listPublished by tfardet over 3 years ago
This new release includes a lot of bugfixes and under-the-hood improvements as well as a set of new tools for better analysis, especially with undirected measures.
All testing and main code hosting has been moved to SourceHut and the documentation has been updated and now includes an automatic dark theme for all browser requesting it.
to_undirected
method, to create undirected counterparts from directed (even weighted) networks (patch 20376)local_closure
as a complementary tool for clustering (#155), see [Yin2019]from_matrix
class method to support all Graph
arguments (#149)layout
can now be a list of custom positions.ealpha
and nalpha
support for edge and node transparency.nonstring_container
import for RNGs (#151)Default mode for SWP is now to use the average local clustering instead of the global clustering.
Published by Silmathoron almost 4 years ago
This release fixes several issues with edge deletion on all backends except networkx (see #137 and #141).
It also corrects several issues with the connector functions (#145).
Finally, it also shows the addition of the Price connectivity scheme with some generalizations (#138 and #139).
Most of all, it will fix the PyPi issue regarding the plot
module, since I forgot to add the new mpl_chord_diagram submodule in the previous release, making the plot
module unusable.
Published by Silmathoron almost 4 years ago
This new release of NNGT brings about a set of new plotting functions and better functionalities for non-neuronal structured graphs through the Structure
and Group
classes and the get_structure_graph
function.
New features:
Structure
/Group
classes for non-neuronal ensembles and structure graph to analyze connections between groups (#105 & #107)add_nodes
method (#110)Enhancements:
get_edges
(#132)Bugfixes:
save_spikes
(#122)Published by Silmathoron about 4 years ago
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:
Enhancements:
connect_*
functions now return only the newly created edges when some edges are dropped due to ignore_invalid
argumentmake_spatial
now works properly when only positions are provided during graph initialization.restrict nodes
restrict_edges
Bugfixes:
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)copy
method:
Published by Silmathoron over 4 years ago
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.
Published by Silmathoron over 4 years ago
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.
circular_graph
, from_degree_list
, and watts_strogatz
.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.graph
property (use responsibly)new_edge
/new_edges
functions for the checks:
SpatialGraph
objects.Under the hood, the library underwent some major restructuring, which led to the decision of introducing some important breaking changes.
num_wcc
and num_scc
in favour of connected_components
.Published by Silmathoron over 4 years ago
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)
Published by Silmathoron over 4 years ago
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
.
Published by Silmathoron over 4 years ago
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.
Improvements:
MetaGroup
classNeuralPop
and MetaGroup
Bugfixes:
simulation
moduleDeprecations:
nest_gid
in favor of nest_gids
Under the hood:
Published by Silmathoron almost 5 years ago
Breaking change: decimate
converted to decimate_connections
in plot functions.
Various corrections:
total_firing_rate
Published by Silmathoron about 5 years ago
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 secondImprovements:
get_nodes
and get_edges
functionsBugfix:
Network
with NeuralPop
Published by Silmathoron over 5 years ago
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.
Improvements:
Bugfix:
Notes:
pip
.To install via pip
, use either
pip install --user nngt
or
sudo pip install nngt
Published by Silmathoron over 6 years ago
Various corrections and improvements.
Improvements
Bugfix
Published by Silmathoron over 6 years ago
I think NNGT is now fully release ready, so this is officially 1.0.0.
You can now install it from pipy using pip on any platform.
Changelog:
Published by Silmathoron over 6 years ago
New default backend, which does not require any additional graph library.
Allows for fully distributed graph generation and storage to use with NEST on clusters.
Full I/O is now available with shape and population included in the file.
MPI-parallel I/O was also added.
Gaussian-degree is now available for MPI generation, in addition to distance-rule, which now includes a Gaussian kernel.