Skip to content

Releases: xgi-org/xgi

v0.5.8

15 May 17:57
Compare
Choose a tag to compare
  • Formatted the codebase with ruff #346 (@leotrs).
  • Improved the performance of flag_complex and random_flag_complex #355 (@maximelucas).
  • Moved the IDDict class to utilities and removed unnecessary arguments in the IDView constructor #353 (@nwlandry).
  • Up-versioned sphinx to v6.xxx and up-versioned sphinx-rtd-theme to >= 1.2 to be compatible with Sphinx v6.xxx. Updated the contribution guide and the GH, PyPI, and RTD landing pages #350 (@nwlandry).
  • Fixed a bug in the double edge swap method #349 (@nwlandry)
  • Updated the convert module methods to be able to return a hypergraph, addressing Issue #327. Now the conversion from a simplicial complex to a hypergraph only includes maximal faces #345 (@thomasrobiglio)
  • Place a ceiling on IPython so that it is Python 3.8 compatible #344 (@nwlandry).
  • Started fixing the cross references in the "See Also" section in the function/class docstrings #343 (@nwlandry).
  • Feature: added complete_hypergraph #337 (@maximelucas).
  • Updated the quickstart notebook #338 (@nwlandry).
  • Added strict keyword to the maximal() method #332 (@nwlandry).
  • Feature: added trivial hypergraph #335 (@maximelucas).

v0.5.7

13 Apr 18:55
Compare
Choose a tag to compare
  • Changed the organization name to xgi-org and removed codecov from the test requirements file #334 (@nwlandry).
  • Fix: improved the degree_counts documentation #329 (@maximelucas).
  • Added the maximal() method to EdgeView, removed the maximal_simplices() method, and removed a bug from the duplicates() method #324 (@nwlandry).
  • Fix: documented max_order in add_simplices_from() #328 (@maximelucas).
  • Restructured folder for the generators and linalg modules #321 (@maximelucas).
  • Added 3 clustering coefficient definitions to the algorithms module as well as to NodeStats #316 (@nwlandry).
  • Added the ability to choose whether to output the index-to-ID mappings from to_bipartite_graph() method. Fixes #322 #323 (@leotrs).
  • Added the ability to draw hypergraphs with hyperedges as convex hulls #320 (@thomasrobiglio).

v0.5.6

03 Apr 19:02
Compare
Choose a tag to compare
  • Renamed convert_to_line_graph() to to_line_graph(), added an s parameter to the function, and added corresponding unit tests #318 (@nwlandry).
  • Made the sparse warning in the adjacency_matrix() function more intelligible #315 (@nwlandry).
  • Added a function for the normalized hypergraph laplacian #314 (@nwlandry).
  • Added tests for draw functions #312 (@maximelucas).
  • Updated the centrality functions so they more gracefully handle empty and disconnected hypergraphs #313 (@nwlandry).
  • Added keep_isolates argument to the subhypergraph function #308 (@maximelucas).
  • Fix: raise error for assortativity of empty hypergraph #307 (@maximelucas).
  • Minor: renamed to from_max_simplices #306 (@maximelucas).

v0.5.5

23 Mar 13:54
Compare
Choose a tag to compare
  • Refactored incidence_matrix() for ~4x speedup, made output consistent for empty matrices, added tests, and refactored multiorder_laplacian() so all internal variables are sparse if sparse=True. Fixes #301. #303 (@maximelucas).
  • Renamed plotting functions, xgi_pylab module, and node/hyperedge/simplex plotting functions. All drawing functions now return axes. Added pca_transform() to rotate the node positions relative to the principal axes #300 (@nwlandry).
  • Changed the Github actions to test all notebooks in the tutorial folder #299 (@nwlandry).
  • Added the convert_to_line_graph() function and the vector_centrality() function, which uses it #290 (@goznalo-git).
  • Fixed the quickstart notebook by updating the synchronization #294 (@nwlandry).
  • Added more tests for the layout functions #296 (@maximelucas).
  • Added basic tests for layout functions #293 (@maximelucas).
  • Added tests for generators #291 (@maximelucas).
  • Added the ability to specify sparsity in the matrix functions in the linalg module #284 (@nwlandry).
  • Added the uniform_HSBM() and uniform_HPPM generative models #286 (@nwlandry).
  • Up-versioned requirements to fix #287 and make compatible with NetworkX #288 (@nwlandry).
  • Added code coverage with codecov and displayed coverage on main page #285 (@nwlandry).
  • Fixed a bug in the add_edge() method #289 (@nwlandry).
  • Added examples of sorting matrices by node/edge IDs to the documentation #282 (@nwlandry).
  • Added the ability in draw() to plot any node positions by rescaling the plot area #279 (@maximelucas).

v0.5.4

03 Feb 14:47
Compare
Choose a tag to compare

v0.5.3

11 Jan 23:46
745c906
Compare
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
Compare
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
Compare
Choose a tag to compare

v0.5.0

08 Nov 21:32
8d8f913
Compare
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
Compare
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