Releases: xgi-org/xgi
Releases · xgi-org/xgi
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_orderkeyword #248 (@maximelucas).- Changed the
add_simplexmethod 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
drawfunction #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
pstoxgi.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 anorderparameter to thedegree_counts()function (#192). - Fixed #182 and #186 by adding a
max_orderargument 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_edgeis nowIDView.lookup,Hypergraph.duplicate_edgesis nowIDView.duplicates, andutilities.convert_labels_to_integeris 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)
v0.4.2
v0.4.1
- 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()andsingletons()method from theHypergraphclass to theNodeViewandEdgeViewclasses respectively (#146). - Fixed
Hypergraph.copy()to not use thesubhypergraphmethod (#145). filterby()now acceptsNodeStatandEdgeStatobjects 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
- Added the
statspackage which implementsNodeStat,EdgeStatand related functionality. This package now handles computation of edge size and degree (#120). - Removed the
EdgeSizeViewandDegreeViewclasses (#120). - Changed all imports to be relative in the
xgipackage (#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
egonetmethod to `edge_neighborhood (#129). - Moved the
neighborsmethod in theHypergraphclass to theIDViewclass so that node and edge neighbors are now supported (PR #129). - Added a centrality module and added these methods to
nodestats.pyandedgestats.py(#130). - Moved the
load_xgi_datamethod to thereadwritemodule (#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_layoutandweighted_barycenter_spring_layoutmethods to handle non-integer node IDs (#133). - Added an isort configuration file so it no longer sorts the
__init__.pyfiles (#134).
v0.3.1
- 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, andhas_node) - Refactored the
members()method as well as theNodeViewandEdgeViewclasses for significant speedup. - Github Actions now tests the docstrings and tutorial notebooks
- The
add_edges_frommethod now supports different input formats. - Fixed various bugs in the generative models module.
- A method for double edge swaps is now implemented.