Skip to content

Releases: xgi-org/xgi

v0.6

15 May 22:25
Compare
Choose a tag to compare
  • Added new drawing layouts (circular_layout, spiral_layout, and barycenter_kamada_kawai_layout) #360 (@thomasrobiglio).

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