Nngt

Latest version: v2.7.3

Safety actively analyzes 630169 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 5

2.3.0

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](https://sr.ht/~tfardet/NNGT) and the documentation has been updated and now includes an automatic dark theme for all browser requesting it.

New features

* ``to_undirected`` method, to create undirected counterparts from directed (even weighted) networks ([patch 20376](https://lists.sr.ht/~tfardet/nngt-developers/patches/20376))
* ``local_closure`` as a complementary tool for clustering (155), see [[Yin2019](https://www.cs.cornell.edu/~arb/papers/closure-coefficients-WSDM-2019.pdf)]
* Zhang--Horvath method for weighted clustering (146), see [[Zhang2005](https://dibernardo.tigem.it/files/papers/2008/zhangbin-statappsgeneticsmolbio.pdf)]

Enhancements

* improved support for positions/structures (149)
* improved `from_matrix` class method to support all ``Graph`` arguments (149)
* improved plots: positional layout and opacity (149):
- `layout` can now be a list of custom positions.
- added `ealpha` and `nalpha` support for edge and node transparency.
* shortest path and path length method can be used in "undirected" mode on directed weighted networks ([patch 20470](https://lists.sr.ht/~tfardet/nngt-developers/patches/20470))

Bugfixes

* corrected calculation of weighted path length for SWP ([patch 20470](https://lists.sr.ht/~tfardet/nngt-developers/patches/20470))
* fixed circular graph and lattice reciprocity ([patch 20412](https://lists.sr.ht/~tfardet/nngt-developers/patches/20412))
* corrected spatial plots with networkx (154)
* fixed IO issue with non-string node attributes (152)
* fixed ``nonstring_container`` import for RNGs (151)
* fixed edge deletion with nngt backend (149)

Breaking change

Default mode for SWP is now to use the average local clustering instead of the global clustering.

2.2.1

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](https://github.com/Silmathoron/mpl_chord_diagram) submodule in the previous release, making the ``plot`` module unusable.

2.2.0

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:**

* Addition of hive plots (108)
* Add chord diagrams from [mpl_chord_diagram](https://github.com/Silmathoron/mpl_chord_diagram) (#107)
* Add ``Structure``/``Group`` classes for non-neuronal ensembles and structure graph to analyze connections between groups (105 & 107)
* (Neural)Groups get an ``add_nodes`` method (110)

**Enhancements:**

* Speedup ``get_edges`` (132)
* Added edge and node deletion methods (129)
* Improved plots and created documentation gallery (109)

**Bugfixes:**

* correct "eid" attribute issue when copying graphs (134)
* correct global clustering for unweighted directed networks (131)
* fix io string issue for node/edge attributes and node/edge deletion (103 & 130)
* fix returned degrees and clustering for a subset of nodes (126)
* proper copy of returned attributes with graph-tool (125)
* correct ``save_spikes`` (122)
* fix delays setting (121)
* correct graph loading with 0-out-degree neighbour lines (118)
* fix undirected clustering for weighted directed networks (112)
* fix loading with from_matrix (112)
* get_edges with source/target node for undirected graphs (102)

2.1.0

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.

**Enhancements:**
* ``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)

**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)
* 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

2.0.1

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](https://github.com/Silmathoron/NNGT/releases/tag/v2.0.0).

2.0.0

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

Enhancement

* 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".

Bugfixes

* 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.

Page 2 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.