Skip to content

Releases: xgi-org/xgi

v0.5.4

03 Feb 14:47

Choose a tag to compare

v0.5.3

11 Jan 23:46
745c906

Choose a tag to compare

  • Added support for NetworkX 3.0, removed support for Python 3.7, and changed all scipy sparse matrices to scipy sparse arrays #268 (@nwlandry).
  • Added the ability to display the list of available datasets in xgi-data with load_xgi_data() #266 (@nwlandry).

v0.5.2

05 Jan 18:37

Choose a tag to compare

  • Added the find_triangles() and flag_complex_d2() functions. The flag_complex_d2() function is much faster than flag_complex() for simplicial complexes of max order 2. Also refactored random_flag_complex_d2() to use flag_complex_d2() #263 (@maximelucas).
  • Added the items() method so NodeStats and EdgeStats are even more dict-like #233 (@leotrs).
  • Added the ability to cache the output of load_xgi_data() and added more interpretable errors when the http request fails #261 (@nwlandry).
  • Deleted the data folder #260 (@nwlandry).
  • Split the simulation of the Kuramoto model and its order parameter into two functions #257 (@maximelucas).
  • Added the ability to write/read xgi-data datasets to/from a file, and pointed the load_xgi_data() function to the new xgi-data collection in Gitlab #254 (@acuschwarze).
  • remove singletons from random generators #256 (@maximelucas).
  • Remove references to the disGene dataset in the data folder #253 (@nwlandry).
  • Updated the new release process #249 (@nwlandry).

v0.5.1

09 Dec 22:59

Choose a tag to compare

v0.5.0

08 Nov 21:32
8d8f913

Choose a tag to compare

  • Fixed #214, added a powerset() function, added a subfaces() function, and added examples of these functions (#209).
  • Refactored the NodeStats and EdgeStats classes to be more efficient (#209).
  • Implemented set operations for NodeView and EdgeView (#208).
  • Addressed #180 with density() and incidence_density() functions (#204 and #207).
  • Added the << operator to "add" two hypergraphs together (#203).
  • Improved the documentation (#202).
  • Added Python 3.11 to the test suite (#201).
  • Added an option to fill only some cliques with probabilities ps to xgi.flag_complex() (#200).
  • Fixed Issue #198 (#199).
  • Refactored load_xgi_data() to call dict_to_hypergraph() and fixed a bug in dict_to_hypergraph() (#193).
  • Added num_edges_order() to get the number of edges of a given order and added an order parameter to the degree_counts() function (#192).
  • Fixed #182 and #186 by adding a max_order argument to draw() and load_xgi_data() (#173) .
  • Made draw() faster by refactoring _color_arg_to_dict() and _scalar_arg_to_dict() (#173).

Contributors: @leotrs, @maximelucas, and @nwlandry

v0.4.3

19 Sep 17:18

Choose a tag to compare

  • Hypergraph.has_edge is now IDView.lookup, Hypergraph.duplicate_edges is now IDView.duplicates, and utilities.convert_labels_to_integer is now function.convert_labels_to_integer (#150).
  • Added some unit tests for the convert module, the function module, and the classic generators module. Fixed for minor bugs encountered while writing tests and added documentation to Read The Docs for the drawing module. (#153)
  • Fixed a bug in remove_node_from_edge() (#154).
  • Implemented computation of moments for NodeStat and EdgeStat (#155).
  • Implemented weak and strong node removal as per issue #167 (#156).
  • Added a dynamics module and created a Kuramoto model synchronization function (#159).
  • Added a cleanup method that removes artifacts specified by the user: multi-edges, singletons, isolates. It also can convert all labels to consecutive integers (#161).
  • Modified the duplicates() method to not include the first instance of the node/edge in the list of duplicates (#161).
  • Converted all instances of edges to sets from lists in response to issue #158 (#162).
  • Added lambda function default arguments for $f$, $g$, $\varphi$, $\psi$ as defined by Tudisco and Higham. Default behavior is identical as before. Fixes #132 (#165).
  • Added sum() as a stats method (#168).
  • Added a benchmarking suite for the core hypergraph data structure using airspeed velocity (#170).
  • Fixed issue #171 (#172)

Contributors: @nwlandry, @leotrs, and @saad1282

v0.4.2

08 Aug 21:34

Choose a tag to compare

  • Keyword arguments are now consistent in the draw() function (#148).
  • Notebooks are now formatted with black and the requirements have been updated to reflect this (#148).

Contributors: @nwlandry

v0.4.1

04 Aug 12:56

Choose a tag to compare

  • Added the ability to color nodes and edges in xgi.draw() by value, iterable, or NodeStat/EdgeStat (#139, #142, and #143).
  • Fixed the distortion of the node aspect ratio with different figure sizes in Issue #137.
  • Moved the isolates() and singletons() method from the Hypergraph class to the NodeView and EdgeView classes respectively (#146).
  • Fixed Hypergraph.copy() to not use the subhypergraph method (#145).
  • filterby() now accepts NodeStat and EdgeStat objects instead of just strings (#144).
  • Removed edit-mode install to run the Github Actions test suite (#136).
  • Added unit tests (#147).

Contributors: @nwlandry, @leotrs, and @maximelucas

v0.4

06 Jul 16:51

Choose a tag to compare

  • Added the stats package which implements NodeStat, EdgeStat and related functionality. This package now handles computation of edge size and degree (#120).
  • Removed the EdgeSizeView and DegreeView classes (#120).
  • Changed all imports to be relative in the xgi package (#121).
  • Added an assortativity module (#122).
  • Improved the performance of accessing edge members (#124).
  • Added more operations for node and edge attributes besides "eq" (#125).
  • Added a function to convert all node and edge labels to integers and store the old labels as properties (#127).
  • Renamed the egonet method to `edge_neighborhood (#129).
  • Moved the neighbors method in the Hypergraph class to the IDView class so that node and edge neighbors are now supported (PR #129).
  • Added a centrality module and added these methods to nodestats.py and edgestats.py (#130).
  • Moved the load_xgi_data method to the readwrite module (#130).
  • Added a generator for sunflower hypergraphs (#130).
  • Added a Jupyter notebook as a quickstart guide (#131 and #134).
  • Fixed a bug in the barycenter_spring_layout and weighted_barycenter_spring_layout methods to handle non-integer node IDs (#133).
  • Added an isort configuration file so it no longer sorts the __init__.py files (#134).

Contributors: @leotrs, @nwlandry, and @iaciac

v0.3.1

07 Jun 17:38

Choose a tag to compare

  • Refactored the subhypergraph methods
  • Moved functions no related to the core Hypergraph data structure to functions.py
  • Removed unnecessary duplicated functions (n_bunch_iter, get_edge_data, and has_node)
  • Refactored the members() method as well as the NodeView and EdgeView classes for significant speedup.
  • Github Actions now tests the docstrings and tutorial notebooks
  • The add_edges_from method now supports different input formats.
  • Fixed various bugs in the generative models module.
  • A method for double edge swaps is now implemented.

Contributors: @leotrs and @nwlandry