Releases: xgi-org/xgi
Releases · xgi-org/xgi
v0.5.8
- Formatted the codebase with ruff #346 (@leotrs).
- Improved the performance of
flag_complex
andrandom_flag_complex
#355 (@maximelucas). - Moved the
IDDict
class to utilities and removed unnecessary arguments in theIDView
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 themaximal()
method #332 (@nwlandry). - Feature: added trivial hypergraph #335 (@maximelucas).
v0.5.7
- Changed the organization name to
xgi-org
and removedcodecov
from the test requirements file #334 (@nwlandry). - Fix: improved the
degree_counts
documentation #329 (@maximelucas). - Added the
maximal()
method to EdgeView, removed themaximal_simplices()
method, and removed a bug from theduplicates()
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
- Renamed
convert_to_line_graph()
toto_line_graph()
, added ans
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
- Refactored
incidence_matrix()
for ~4x speedup, made output consistent for empty matrices, added tests, and refactoredmultiorder_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. Addedpca_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 thevector_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()
anduniform_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
v0.5.3
v0.5.2
- Added the
find_triangles()
andflag_complex_d2()
functions. Theflag_complex_d2()
function is much faster thanflag_complex()
for simplicial complexes of max order 2. Also refactoredrandom_flag_complex_d2()
to useflag_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
draw()
now correctly plots simplicial complexes with themax_order
keyword #248 (@maximelucas).- Changed the
add_simplex
method to be non recursive #247 (@maximelucas). - Added tests for the SimplicialComplex class #245 (@maximelucas).
- Made all draw functions available from xgi #246 (@maximelucas).
- Added an indent to make hypergraph json files more readable #242 (@maximelucas).
- Improved the efficiency of the uid update function #239 (@nwlandry).
- Added the ability to display the node and hyperedge labels in
draw()
#234 (@mcontisc). - Fixed the uid counter initialisation #225 (@maximelucas).
- Added the ability to pickle hypergraphs #229 (@nwlandry).
- Made
random_hypergraph()
andrandom_simplicialcomplex()
faster #213 (@maximelucas). - Fixed a bug in
dynamical_assortativity()
#230 (@nwlandry). - Removed all random decorators #227 (@nwlandry).
- Modified
unique_edge_sizes()
so that the list of sizes is now sorted #226 (@nwlandry). - Added the
merge_duplicate_edges()
function to merge multi-edges #210 (@nwlandry). - Partial speed-up of
draw
function #211 (@iaciac). - Added a simplicial synchronization function #212 (@Marconurisso).
- Sped up the
add_simplices_from()
method #223 (@maximelucas). - Updated the
add_simplices_from()
method to matchadd_hyperedges_from()
#220 (@maximelucas).
v0.5.0
- Fixed #214, added a
powerset()
function, added asubfaces()
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()
andincidence_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
toxgi.flag_complex()
(#200). - Fixed Issue #198 (#199).
- Refactored
load_xgi_data()
to calldict_to_hypergraph()
and fixed a bug indict_to_hypergraph()
(#193). - Added
num_edges_order()
to get the number of edges of a given order and added anorder
parameter to thedegree_counts()
function (#192). - Fixed #182 and #186 by adding a
max_order
argument todraw()
andload_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
-
Hypergraph.has_edge
is nowIDView.lookup
,Hypergraph.duplicate_edges
is nowIDView.duplicates
, andutilities.convert_labels_to_integer
is nowfunction.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)