From 8abd807ef0d6c47b8ed812c8a875c98dd4a21c6f Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Thu, 29 Oct 2026 14:38:16 +0100 Subject: [PATCH 01/17] docs: shorten README --- README.md | 134 +++++++++---------------- docs/source/_static/readme_example.png | Bin 0 -> 14936 bytes 2 files changed, 45 insertions(+), 89 deletions(-) create mode 100644 docs/source/_static/readme_example.png diff --git a/README.md b/README.md index 1e49af7a0..cbf7e4bc8 100644 --- a/README.md +++ b/README.md @@ -1,96 +1,60 @@ -XGI - -[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active) -[![Supports Python versions 3.11 and above.](https://img.shields.io/badge/Python%20versions%20supported-3.11%2B-forest -)](https://www.repostatus.org/#active) -[![Test Status](https://github.com/xgi-org/xgi/actions/workflows/test-code.yml/badge.svg)](https://github.com/xgi-org/xgi/actions/workflows/test-code.yml) -[![codecov](https://codecov.io/gh/xgi-org/xgi/branch/main/graph/badge.svg?token=BI6TX2WDSG)](https://codecov.io/gh/xgi-org/xgi) -[![Good First Issue](https://img.shields.io/badge/contribute-Good%20First%20Issue-forest)](https://github.com/xgi-org/xgi/issues?q=is%3Aopen+is%3Aissue+label%3A%22Good+First+Issue%22) -[![DOI](https://joss.theoj.org/papers/10.21105/joss.05162/status.svg)](https://doi.org/10.21105/joss.05162) -[![pyOpenSci](https://tinyurl.com/y22nb8up)](https://github.com/pyOpenSci/software-review/issues/115) -[![Benchmarks](https://img.shields.io/badge/benchmarks-forest)](https://xgi-org.github.io/xgi/dev/bench/) - -* [**Source**](https://github.com/xgi-org/xgi) -* [**Bug reports**](https://github.com/xgi-org/xgi/issues) -* [**GitHub Discussions**](https://github.com/xgi-org/xgi/discussions) -* [**Documentation**](https://xgi.readthedocs.io) -* [**Contribute**](https://xgi.readthedocs.io/en/stable/contribute.html) -* [**Projects using XGI**](https://xgi.readthedocs.io/en/stable/using_xgi.html) - -Sign up for our [mailing list](http://eepurl.com/igE6ez) and follow XGI on [Twitter](https://twitter.com/xginets) or [Mastodon](https://mathstodon.xyz/@xginets)! - -### Table of Contents: ### -- [What is XGI?](#what-is-xgi) -- [Installation](#installation) -- [Getting Started](#getting-started) -- [XGI-DATA](#xgi-data) -- [How to Contribute](#how-to-contribute) -- [How to Cite](#how-to-cite) -- [License](#license) -- [Support](#support) -- [Other Resources](#other-resources) - -## What is XGI? - -Comple**X** **G**roup **I**nteractions (**XGI**) is a Python package for higher-order networks (If you want more information on what higher-order networks are, see our [brief introduction](https://xgi.readthedocs.io/en/stable/higher-order.html)). - -**XGI is a software designed to streamline working with higher-order networks from start to finish**. XGI can -* Create synthetic datasets from many **generative models** -* **Read and write** higher-order datasets in a user-friendly way -* Represent **hypergraphs, directed hypergraphs, and simplicial complexes** with efficient and flexible data structures -* Analyze higher-order networks with **measures and algorithms** -* **Manipulate node and edge statistics** in a flexible and customizable way. -* Draw higher-order networks in a variety of **visually striking ways** (See our [gallery](https://xgi.readthedocs.io/en/stable/auto_examples/index.html) for several examples.) - -## Installation -XGI runs on Python 3.11 or higher. - -To install the latest version of XGI, run the following command: +XGI + +[![PyPI](https://img.shields.io/pypi/v/xgi?color=forest)](https://pypi.org/project/xgi/) [![Python versions](https://img.shields.io/pypi/pyversions/xgi?color=forest)](https://pypi.org/project/xgi/) [![Test Status](https://github.com/xgi-org/xgi/actions/workflows/test-code.yml/badge.svg)](https://github.com/xgi-org/xgi/actions/workflows/test-code.yml) [![codecov](https://codecov.io/gh/xgi-org/xgi/branch/main/graph/badge.svg?token=BI6TX2WDSG)](https://codecov.io/gh/xgi-org/xgi) [![DOI](https://joss.theoj.org/papers/10.21105/joss.05162/status.svg)](https://doi.org/10.21105/joss.05162) [![pyOpenSci](https://tinyurl.com/y22nb8up)](https://github.com/pyOpenSci/software-review/issues/115) [![Good First Issue](https://img.shields.io/badge/contribute-Good%20First%20Issue-forest)](https://github.com/xgi-org/xgi/issues?q=is%3Aopen+is%3Aissue+label%3A%22Good+First+Issue%22) [![Benchmarks](https://img.shields.io/badge/benchmarks-forest)](https://xgi-org.github.io/xgi/dev/bench/) + +Comple**X** **G**roup **I**nteractions (**XGI**) is a Python package for [higher-order networks](https://xgi.readthedocs.io/en/stable/higher-order.html): hypergraphs, directed hypergraphs, and simplicial complexes. It provides data structures, generative models, measures, datasets, and drawing tools. + +

Documentation · Tutorials · Gallery · Datasets · Projects using XGI · Contribute

+ +## Install + ```sh pip install xgi ``` -To install this package locally: -* Clone this repository -* Navigate to the folder on your local machine -* Run the following command: -```sh -pip install -e .["all"] +For other options (development version, optional dependencies), see the [installation guide](https://xgi.readthedocs.io/en/stable/installing.html). + +## Getting started + +To get started, take a look at the [tutorials](https://xgi.readthedocs.io/en/stable/user_guides.html) illustrating the library's basic functionality. + +Quickstart example: + +```python +import xgi + +hyperedges = [[1, 2, 3], [3, 4, 5], [3, 6], [6, 7, 8, 9], [1, 4, 10, 11, 12], [1, 4]] +H = xgi.Hypergraph(hyperedges) + +H.edges.size.asnumpy() # array([3, 3, 2, 4, 5, 2]) +H.nodes.filterby("degree", 3) # nodes 1, 3, 4 + +pos = xgi.barycenter_spring_layout(H, seed=1) +xgi.draw(H, pos=pos) ``` -* If that command does not work, you may try the following instead -````zsh -pip install -e ."[all]" -```` -For more installation options, see the [guide](https://github.com/xgi-org/xgi/blob/main/requirements/README.md). +Drawing of the example hypergraph -## Getting Started -To get started, take a look at the [user guides](https://xgi.readthedocs.io/en/stable/user_guides.html) illustrating the library's basic functionality. +## XGI-DATA +[XGI-DATA](https://github.com/xgi-org/xgi-data) is a curated collection of 50+ real-world higher-order datasets (from face-to-face contacts and emails to coauthorships, legislation, and ecology), which can be loaded in one line with `xgi.load_xgi_data()`. See the [docs](https://xgi.readthedocs.io/en/stable/xgi-data.html) for more information. -## XGI-DATA -A number of higher-order datasets are available in the [XGI-DATA repository](https://github.com/xgi-org/xgi-data) and can be easily accessed with the `load_xgi_data()` function. +## Contribute +Contributions of any size are welcome, and we're happy to help! To report a bug or request a feature, [open an issue](https://github.com/xgi-org/xgi/issues/new). For more, see the [contributing guide](https://xgi.readthedocs.io/en/stable/contribute.html). -## How to Contribute -If you want to contribute to this project, please make sure to read the -[contributing guidelines](https://github.com/xgi-org/xgi/blob/main/HOW_TO_CONTRIBUTE.md). We expect respectful and kind interactions by all contributors and users as laid out in our [code of conduct](https://github.com/xgi-org/xgi/blob/main/CODE_OF_CONDUCT.md). +Join the community on [Zulip](https://xgi.zulipchat.com/join/7agfwo7dh7jo56ppnk5kc23r/) and follow XGI on [Bluesky](https://bsky.app/profile/xgi.bsky.social). -The XGI community always welcomes contributions, no matter how small. We're happy to help troubleshoot XGI issues you run into, assist you if you would like to add functionality or fixes to the codebase, or answer any questions you may have. +## Cite -Some concrete ways that you can get involved: +We acknowledge the importance of good software to support research, and we note that research becomes more valuable when it is communicated effectively. To demonstrate the value of XGI, we ask that you cite the XGI [paper](https://doi.org/10.21105/joss.05162) in your work. You can also use the "Cite this repository" button on GitHub. -* **Get XGI updates** by following the XGI [Twitter](https://twitter.com/xginets) account, signing up for our [mailing list](http://eepurl.com/igE6ez), or starring this repository. -* **Spread the word** when you use XGI by sharing with your colleagues and friends. -* **Request a new feature or report a bug** by raising a [new issue](https://github.com/xgi-org/xgi/issues/new). -* **Create a Pull Request (PR)** to address an [open issue](https://github.com/xgi-org/xgi/issues) or add a feature. -* **Add a paper or software package using XGI to the "Projects using XGI" page** with the following [instructions](/citations/adding_citations.md)! -* **Join our [Zulip channel](https://xgi.zulipchat.com/join/7agfwo7dh7jo56ppnk5kc23r/)** to be a part of the daily goings-on of XGI. +> Landry, N. W., Lucas, M., Iacopini, I., Petri, G., Schwarze, A., Patania, A., & Torres, L. (2023). XGI: A Python package for higher-order interaction networks. *Journal of Open Source Software*, 8(85), 5162. +
+BibTeX -## How to Cite -We acknowledge the importance of good software to support research, and we note that research becomes more valuable when it is communicated effectively. To demonstrate the value of XGI, we ask that you cite the XGI [paper](https://doi.org/10.21105/joss.05162) in your work. You can cite XGI either by going to our repository page [repository page](https://github.com/xgi-org/xgi) (if you haven't already) and clicking the "cite this repository" button on the right sidebar (which will generate a citation in your preferred format) or by copying the following BibTeX entry: -``` +```bibtex @article{Landry_XGI_2023, author = {Landry, Nicholas W. and Lucas, Maxime and Iacopini, Iacopo and Petri, Giovanni and Schwarze, Alice and Patania, Alice and Torres, Leo}, title = {{XGI: A Python package for higher-order interaction networks}}, @@ -105,18 +69,10 @@ We acknowledge the importance of good software to support research, and we note url = {https://doi.org/10.21105/joss.05162}, } ``` +
-## License -Released under the 3-Clause BSD license (see [`LICENSE.md`](https://github.com/xgi-org/xgi/blob/main/LICENSE.md)) - -Copyright (C) 2021-2025 XGI Developers - -## Support - -NSF -XGI +## License and support -See details [here](https://github.com/xgi-org/xgi/blob/main/SUPPORT.md). +Released under the [3-Clause BSD license](https://github.com/xgi-org/xgi/blob/main/LICENSE.md). XGI is supported by (see [details](https://github.com/xgi-org/xgi/blob/main/SUPPORT.md)): -## Other Resources -This library may not meet your needs and if this is this case, consider checking out our [list of other resources](https://github.com/xgi-org/xgi/blob/main/OTHER_RESOURCES.md). +NSF   Zulip diff --git a/docs/source/_static/readme_example.png b/docs/source/_static/readme_example.png new file mode 100644 index 0000000000000000000000000000000000000000..f9c8fd03a42d6535e158381550122b83bf9478b5 GIT binary patch literal 14936 zcmeIZcQoAXw>CaPLW&lN8bq{+D2X5lB052o=tB@hC%REmgd|#`muS&@H<%fOgd}>e zGg|aA+89QA?|Gi*e7|R%bJp+t{(aYatz|{{eD1REeP4TD*WUBtiKa5;1?CG72!v8q zML`DwA;E(0N{VyfH(g1O|A2oaJroT+bX{ybye(c@Lo_TrTpe9J9PKQxds)A9w{vk8 z5xgTTc<1)@7akt2?vg@6PXBsB(B-AAkh{ytJQ(G?tBR331j2Bc_)TJ)-Vf%I_^zrT zr|0u!9St*$#iyPgiwierWK7@5c%%Bj!Q=g%T+8Z|Hb=h!4++)7QH*NC#95dN8=_$E z=+M)9V59bMVqx0ZUEKRe^@MZfghJ$mr0-E+-@UDe8k-QSL7$Jzbl2HPn4Z15xNst$ z>H|4*zf*KXv}{rKe8Pz62sxeqp|tYBabOb!^2%Bv1q#;4$lSsLfrN1&Ng(Bn|L@2D zE9~Hw2!)($pWDjM&Q_?YsoC~JsXczIXJeB)Tx^u}?jl1nlnrt{`0G(%)709H-lpVa z<`NUQ=Frg4F(xK1E(fcN(>n9S%q(qtXD2Q? z`fF}3Ph3Jm(bun!LM(nRdlVKIKOP$!vq_+YFj@qACl(eI^!<+GpWiu%O-(I{U=hD1 zDvHZJWM*M`s;9>VpAg6!C|I9>51b)~q;Miz2e;=toyx zW)#xgW_T;N!{XpOoz{!7N^9df*UWeUlU&|3pGSvytawgZbo6Ca9Wygb#v7C9{{H^h zloWo|@p6mS_e19(!sZI0-WnPa@j~W;2^~2MWy3d?eWISihYS;#f@x{dX!li z7aupbwMq{+FRyyEv5CoB=w-Mbe~_RunQ7 zYQMUoV`7`|b#|6ZRYOBVp73R1!A4aFe3h${L4rTOzl8N%9X|U8mXS1BP*6}_2MB^PXl!voLV_l*bhk8Dy%A%rV#0$7uzUr=M? z!t~>#MZ!$e(Jq0WI1vJIrMT&wM!KkpyQv^+X_2nBc3;M@F9QQZhwvq9Yirs`$TN3Z z@rfgS+m~4XJSFUxqle_o%%0mvim6Vx!V-R;ZvjIFBLV7eTU##?Xy5_bR#sN&c+q?J z$Qp2TmoHZb9uubN&p;@oXh*gihms~)ot(Z27HEkuOy;;8?=ng6q`LfC_u`k9hSt~D z-@1A8$;+3O$tfvM_4RXq|5jrP$qWuAi;Iu16ukvec=i4w_WO4Q)z~IXOAE1O!maGMZOOU;Vu7Hj|o^Q~*4I62^mHud<2KvkOSR z6ZAUpsAy_wurF&|$1FESIVwM^MB{vx^6H*Z6|RK$R6o7Ln7%(50$H%EJ)p6DDSN0^ zklT}d^^F?2t=hJs07|-b?Jfkuam9^pm|nm*ySVr^Sm@WUH<-kWD;oQ1MCupoOf9ZX zMh}j@T+a2Jg+O3ob(`_oi)k=T%{+G%k@~qWn#VuHn^ActNpApA1;L! zt*opBVw2`xE(Jaq#s2X~hMt35C%Yku&7^Zy~MSlK6Ht@fmakMWYk0<6y9U=+M6)j>lHx?G1OHE#Vd=MSPu32tAYzLW(|QT z8GLpc|n)@>4KJv>rLUmYtt`b>BlRPJEJYCOG? zz_Oo_fnNnZuM*sG2)O@!PLl*OeEIXt`udulE-ZA+I-Iego1__Y<1TW2+&VB0UZuW> zaw6J>k>fKHMr`A5)5l?P$f&{hciu%kc?(qO;FUUHX(klvuct_888GZ)&!q;n2G9dp zQ6_?aSMBQBl-ee~1+;fMreR7c^Rx4LquaX>0q=v`YAllj#RF~lXv!%vEOKFVqd z2Tuc=b}h&rcay$Sq0^p$vdcji4DPI6gRJpdwjk>P1ksUcr`wMVU ztCKf0`t)qMTv0>)6C$00q~P&d3T#)3xC3rwX#2qb<^5~FJ34d&0~-NI4Gs=wZ*RW@ zsQ**=(vKhQt0uAmN?}-Y3$HPbtE^XZdV~^-d_vbHO(5524P}rH_V(2;=hY7UWvp#& z9p>61)HF0u%Z+VqN>{I5CEja68MD*<*|Hm@XE&0?6uloax_B``UYR^UIPb7JTyl}j z8^n+FZvv`+L!pkBS8ao&6b{=X1Fl9_d$J3poLn7_lxB-E6->BB6{?vogLZK>FUri6 zV`5^udr7{hQHR+rW>mi`HHRy2fOsq6&HVz{|1o6fn2A}|yyG{Xf;{LB z2A+IMj7u@JN z!%ZY4B*LE61Le9PT4vmxQI|J@MvZpe zu!%wX*NZ8nuUHKmCXQ~wCraMDdDDzp`2PgyTT)Vpo}TT)<3bnbzCID#p~;zxTi%zA zcXW6ix}9RWfbR(_)KdHlx1^>EERBqejGF>c@wbic=Jy=c%|}Omk9E~MEd2{#z@b4} zq#g%%gb3+Ix7#nTGv%V#A)Ct-Sm6OXM!(ZZ-_-lw-(o4v!3ettXWg%2U4xI%kXPS0 zkgc&vERA)!8hxyEZK1oV;CCQ-GzFW~GoW+TdK;V&^wV$84 z>_^K88sVR3lV{$AJQSwIh+QeBG{4r@M`)r4r_aOleuxC(e09dj%0S%T_jK~CC$)QP z0%9P~p0MvGS9%HJ%1?o%aOG!de5`V<l2TRv&{P^IcI-PcLv)O<2U8_3T%=5GA5w zVub)(08nV==}y31^3GC0I3D`UNp`KX8rNIC+ry%>{z>)kG;d{uSls00RR&LkyE|U* zZc9;g_SH`X@HktPvS5NbSX-V}`bO1{fGhwv*3X}VNaFi|ji-X7nIcRK0SQj{AJO@r zguX6(v&|D2j9c~K;6UE5G$Z3-w4Qi#rw8PrD-EVDa%44*Da z?vp}Hqrh92|3+dB@K$}jQFLtVcfRKk;eHAiQ(h4f-DqGVne0V?nOv%Z3H-#Y-?`b* z-86J;0YY=~!go$Gj9x$oke5rXPqei^U$UBh`xyM_=H@ot2*>!T9|h1rl;~$7QXb$Z z-Cs(k{?~L@>_z>`FW&S)t0?K*y}dn|bP~vohIn_Yux7Amf=muC2W36nNMObLTKM^w&jgC1vQB|j%GA8NY>QW z-s0l}dtS}mK_U(i%kGU~#3+I=8vqafhQB2>G2%( zgxw!Pf!bQqxL7|JOrw|zQXJ;&9;~3K_>L{;Xsh`fZ}jdvA%8g`)UM9-6FNxqG!2F# z35?7qE^eS4#YSnGBH^A3Oeq?4;!np<3USDsxW*ykf_X4BIJgvMeq=d4USZW4($CN=hMMP*U44Qb;NB zeNn5nOY7q`>R{~G4($G$uZiR~!OZU$u-0{dT8uE%((kV4 z9|Bkyhr5_h8yg!ZgS^9YDgd8k$ke&8<)f#g^A+Sgz9=(p9-dnwB0ITs8xRC1k~Usa zQgRnp76d)rVn3y=qi0~qTTBl!`|;xkkN!CkkP*H>H+a64Gzt7$Xb>i!i721PAL4e> zPfZ<0O5-dTU#}`ED*BxqEM8@2cd_)Oi2MJOT}q^C#>K_)Nl8ttRlcTG^x<4vAFYrF z;>B>1i0zq?ctL0(Kr)R~$)WGRh5POQmrS!`*~9*DZ@s$N!Xa4vc4lLv+1aya{SMdR zq$4~U$=Ut=I)K-=fRUnsR8R_NK7h!g!a_Bw(5xvKW$P17&B#e-I1zf?7rSZnF9g%i zPtqsO#$rMnsh>?|o>nnY@Rz*l@I!I~uDk>-cUxbZkCdE4;*5BLPR~ef2-m|v^jwMceaDgiUqRBqfMG5ARk@r`YxD*RZ?=v`81NgEUNS8z zDjJym5msZ}K~KjoU+#l4Q`J#Z`~4|RT~jlj3!uX}1lM&(8ccbyY7CEEN4x-`O}vq| z&TDH{QTk}Jm5>m0z;GwEb^O1k6bRUm%C{cP5E|o7MWw z(LE!m8fn1-LJDketxuj>`bwSGQZEPEy+?W+>09+7&f-3iednlSV?aiH>sEtv0;-WQ zBy)Dw63}r#%HOcmD*3ePw?(kzjhMkSrcO`rq$7gRhHPavUxk08jlA}ht9HGw;>WPC z7@%JPPXM~tArhXM$x$w+{^-%0;WBgfS^L+$U%`r>YHMeYNeDhq%W;U=q2b)irwkzRFmJp~X7IK#kC(l0U2nL62nGs^}dKg21P?nP>@7t0jK z$4{?mu(Pul$wF&Xwzewd4jx>;MvHlWzde#w7hDM{wg-%LVgUpXKuyWS&dI%~uC8`a z#=%yWmM*L;Y9`&)?ASnc81z-LbpfA(Uch^jrc~ zs_5b@MYB5{pG_cyNd`2WR=78>fQ4oQrj6SE&F@E8&b!JQaM0eoxU<}+%sxZ}fsGC4 z82)NFwd{j3R;ejnZ||P>C@XXH`5JGJ$k9bo8{i$ZE`Zb$wiB9)iJ`m{AkL!{F{l1N zzhX3sJJTYsIrW}+%ToM8@Mvicf1G!h-xj?Rb@KkLMg3q+cW8w&J>_ zu!)9AsQu%>Az#gq+jZQ_ok=#S_uY7&V@V&q+dSvt+hXkLS;Gcft7xtv5d4U9frRc} z#a)HR<0y){|xvJr-D{29&3=ROTdGu{qH8jkQXG-2$&`w5sZ1#rQ*I)S(@eEQ$i+L!U`#9+AdS>xYLDe_{t1x;pZ*zjQOBPSaq&5VR{E`lklDD_F z^~_Iyxy1qC0RbvmCZNIh-Mi27*nsS}p)&Un;UtR6%FC~N1fQs>eI3hzv?{?RgjMhu zSlQkNy67suK3OS{=k2y;e~edJhkb}kDucrfV0(@1dqC$vp#q22e9fh$J0}!pDn2CwU(~ejM!E`sKJXRAjJf&_sy4Ovjm}KD@Z9k7K7^wTu~A(+Qc^((fJ# zJ`c1aQpUS2EOlo+Jw1s~Q=pr7=CAy%u<%yb7l{F6%cG2%8hNQxpV59q0ymE&ZkqJs zRTdU2FTUnay-rkc#SOJXhIB zo;P){bD8ILLkgE^`UrMevoh3Paw8svJzH8+UA^>KnXQjHXkUJ!gum3KE`ME$s-S9s ztv$CfXf|9%X28*l>8}aNw0(W+8wo>YzgLf+U)m?Wr7ncZ2Dx0ap^+;xXx3_IIJFY} z9T^;a|9H7j@neK%BJ_gr&0ukw=b==rIsnQeS*7Uf#M~Di1I)EQIXd9c7xNEnGAE}B z%x_g*kv+Bv`v>SOz?>OilVoE^-<@h0-dTG4C+BMi06!P6Ia-PW_$wR>m>dRYm?v{T zk8sXiQ-(C;P8>pa3wi8P^rQxU1jC{ zFBj<5)Dt@O{0L+~VJ0ZTC1}ow*me(2xHOdjk0CEjmGo2tF@K;#s0k#J;!^)$V+Gjf z;fiKHDhr5euL8kse9y(hvod60KBN^y&{b46Kk3^!@b}y8Q^rNO_{*cw3sE(J`!l}l zqX%gXh>|-zvN{b2She@m`G4kp_J-)@9p)#Mf~Iveb+wj1E;x->tH$tZiRI*SDzj9d zLcLfJ!?T@I9__3PM|jA&M;$D}-`-No~j;4yk7EqaXzHrqY zPLBos-Zp7&NuzLS<^m-q10pI0?DqW&6@?o2EmiFQ6DV?FtC+L$3=nuWI6CrWxl9X- zur`SDfjcQvO8{Jwu0?j3xO;he7648Rphw$w@ux=e%G%m+j)6FHrL7kjr*7IeGhleAznwUO*_%Qr7 z-6a2x>Up54t9+fO430R&Hkrfl8$ZBu>z(XhE9;Lk2D8^yQ$w)$L3OU6F$I>!D zVsyKc_oHjYVVmb#e#Y|YRy$3I0q6!tDB-R|{b2J|TF}XX2^;MAKY+0o!de-oVa6)c z|ICZ&6&G-}a@=f~(8>qiv?l-+Q*s^aDmS0<|4^+<&A3pr< z>>NxMb*OfoX<3!Q{tcL9F=ftj9v-o5`)g-%vbmC>7j9gep$x9@#`r1&x?Wgz`bVJ* zXdK7KQ>Umj-vy?p1_t;;M?k7U3RT9f9>3HJV_%-mq?XsNT#sN9QKOb|O|Z0Fstfi7 z9^FaY2ng8YjRA)mO$)B~V-phcj*k2R-On#5P@SKj2QL1}f)S8!!s00onfthAL1K2s zey{kR0Fob+WN5wtA2`zhDDJvTkjd$u%PDzBDe2;ht3+@=3fS zENFY|Y_hP-FEBtceeiQYVv8uzdKCAb!ry-k!PNy{oG$I-5_IXEpO_*dH8WaC|&dzf8-_ zB@|gA<7J9aB%)q*wOewuSU1=!2e8tOyCNbr4kLoZ!g6`JYi|#TmQY_zPKA|{-CCly zIC=o>WJid zx3hC|l>kkO?O9}T4Xpu!6}VF7V-^BtTE|O^gqR*o+2fIQj^*L?<>fed7sKbd)ryKc zelLb@M5w(NM_d_Y1apT2)&TN*f0=Ypq5x<2^vRP9piYU3ix+_m30MUbD%{+*jPYGT z{pheNE>%t2FB|oTR5`g+PHld|iY@yDCph=&NpU?WOtEkxNiP0V*dq$$Rg1R==gf~M zWbpUWWdfp2FN$1YVKH;pU%%Jbcz=fq?biNWRbHy$D&wUVmh$rBL%c(42qh>1={h(R zg{QsHNb$=1C!;5ok+RoAZW#IJ@n|u#e6pcyzFp)0WPy!ti73X34sLH&1yy!c6xRxf4KWYNaJqfriN9Cc7hX=$k(J9@=KvIYRT@igNVu-?zo zu&I$>y0)P>M?Jk*n;x|RWWDZHI;+#vm_ugsror*dTCpjCsIpTubz>=KD4yC^)%@@N z0$+8k((~&`5*7)cC3#jqY?cWj{En5184sjxEMgwXFyQlDl7+xnnWOibBf&A0F} z7xea2bcnZygPmOgQBg}jJzA7IPJ1Q`t{JDMt?3h)Jorc%$PD$YtYS9m7rSNf@=*$R z?)0TM$R3>%eue(W%b-a6M*9}g=^VLaWa?!58B&mbbJSRSVg@QI0*Ixy+_AsZhX~IX zrfOds5CPF4K^_j^t6aT`a=0Vt4e>=o0jvXVch~+D!JePF^)>!>TIP2J+ukV)Ubvr! z!%_bIRJ&u9JAG6VUs(-Km{|5DC4VQY6Py)6UOQZ3GP3A*@K0OB`#Rhl|!K4M8so}6&^7PE8ftLa!!?Y2{D#Bq&~T+NPY%Y<{DN1Qd;s>8@)7linz-# z$T&$SNbqp8#)bxCe*NP2iMZ`fF>=T6SbWjfl~md(HIMB-&(ZF9R%X$Ut>VreMauA# zlajk#NwWMDaS8#Km$U=OkA|kHM?SHy$vya7XO;$bxPae4Z67o!9Z7?G_EMk$Iv~Om zxsNEesZ)jvHj3+()dkVDs0oEdeq0uxETcS0TOOG)LEeC;B}?!J<4vb>X>rl6d6Nf#gI`?wNTDzQZqGCUN}J^1)r3p{Q+ z+?Q00?&D5F*;AkhEDBZM8t_EqYOu2RdxsXmuqXr25dm5hK7s4*=SO&@440()LKq9{ z3HEeVk2Xi$^+P=04K(i29E_ufomy=hyp@$K#0HRoLM~T@S)*(IEWnigi;V4W zP(#polDoQ>;Ye>q4us8UB9kM*8u`2Ap0vvbNUgnvW&8JAv+t;uD@*Kdl8zPn+QQ8O za6=p#M-xE!YuwEdvIFfhq-hH_o=3qXVstC<_!`Y1A2Zt?Xuq`gROaAdW{G=k)?0Gw zb0-0_+2@nv?>u#Ka$=VDt6mUHED@4zlvIfsC@vbA$|_A`TMluzG&WA*CN32Cg@{d* z^r1g={Gh$HA%MUoV4RpaI{Nd-stp`&b@jbX&#kGGoW_QQQ?ZI04osqiZ9%VAs8D+B z^D??^=PO1j^rW=Sox}yDNfwR3H%7+X1#A*5KLY&`aM&B0xOAEAj1NPGJ;<}}T*SyO z@3*ny=bO-RbuGH(!VKkTxX4eFY|KZ1-cA#NDxPUEoPL2`_krT6J3YlPl~OQxPpp>d zqmZ=zbyZ^CYh^W;k!JVe#S?4m94U8Uz~tGgntjaUf4Vn9?o1zpGArQ1pv1w?-!a_roeO|e>b@}41-*h>?t)XT zph@$F1_m6wBsf0`?o98W$Ofu!b^Fw#ok3l7cjAo8ix(7*z0sdOWq{7C(7OKKi|Hq# z5V@I4t?_u!DPSHNHCVJY$AgCTT;k@95<_Iu$|d-^-flP)ls@gS#fh6AE@TXM@cyL? z4eps_sTJ>>b6f^uz6lgc>MfEiAStP~v!FS&W@PsXV+uPG&Lnb10DF3%HDwWh zATVwYdnkMGZD8C)cLFQ@*{cvlsL|fjK$K=l39C)QottwymusH?x)hxiF&8`V7NSw#6Q8RrJ6+`SLVuz62%L)@q_^jx$ysdg48jph`b!Ft0Sm z-1^5KMzXpL4$C5oE;5+N6U-VqTa~#yQvqyhjQRE(2N|14?Jk&*djc6|WqqA>3*TqW zW(Kwy&%lRX5C?UA$z6=H-&_}|y`3F0sPvI%Ac)U*bMW!FZ4PRTiZ zA+O^Bk`aYo*{B!}+;3F`XLZ%i3KOurj#~wn2)9uCw&BX3ov!1+Q_q>>O$LLrxScx> z)@l1aH-r%o2xqI{VG4Qck1#XTR$HKe;ipn2Z%i&|fiOAg1Soaa0+_a-YHW*mzJNVF2*u5CwuhFO5O9T-ieoq65QFG z9mAKN9AMM>Fv;U7flec(P`{aX46*<2t>n>TG$nezBHVYXJI$eQ)dau#{g+7V$t7UF z4tBGt+_IxFb9)z!5|I4?#T&O$RJMW}F&`-^Yb8~HVOV6|1@(# z$kL~<2EOxBv&zVz0(j1gEwuMd4i0CP9?)s26~-V$<&Q$|ND8>b`0SyIh;tMUj1+)6 ztkYzjHt3fTM~{q-=7X*?06w6W;xyHW?iX-128RiXF?=$SpDSM93!KabZtFqVJQHUoTM!1sW51X-|@D%CuOY>?vC0^>k@r;fhEdH=n2|AUschcXxvp(g9F&lsC0= z?b|-*xP~i9qcvZ3WYEov96^^(xFqvG(bdfYy^IA74GmMaL{L86(wZ7>={(B`;|3}Q7%#6uSc$rpDG6oXhPHoisXco8IVG3*amXYDx+U=#BknSi%( zNGE*xa$D8jiE^Do?3)7ca{7Y9l&L~sre%~o8#sL8aZ$B5r^bT9I4JeJ7Tj$mj|$1} z|0!m_ds9_MS9jo3nuD`*JQw)mSw!|H(6-EyH81_Z1bzh1o{7q7+)nA&s%QBo?DFlJ zs*bPk0ccp_M?BEqcv=4jszbcn5qB({d^A&$lP}r24GTSd>F+6F64($&hfq+gXlrYe zlOE{p%>eZT)qcR}m5OUWD}i;koh-D@?LcL|Kd-YYaB}+Wc0Xi{m>B%P+koN(v42ZA zoCGU=NgkA~0D%FOr+6q251^|hecNnoc_MQCo9#NF`pUW%-5Z5Hor7P&h9~@0KhbOw z*!-`ZM$~RO--sB{mWb~K`l;QwHyr|%Gm$yn2nWsH)kjnG=zxT@)A_2uE9+`nS_YuN zE#@?yJz^dN1tPi*_%G-hKJyK9vDz<}XmfiRk~)^Hc#E!VY}`SFmy5f#Fy?5bWEAMO zucGi&zvo|4!WK(G`Mc{2EEEY%7#toeWDD}9Xngx~{(a;?(p(o|p}~c!jxH@#^D3ZR zDWDb&h>{uT5)1|mR+%qgoQyc0cGfK50rMRRMPRJ*Zdk^=Wrzh?!}F@YD}~KvpatKP znbm%^A-lFz-xIevbz?L)93_9gA|dqF9(Jk>)DH7YOF{500eN6_$9yH)7XzT*9cZN) zJBuXD zIl2kwr!QN`G#I7p=KZ~hQ4rq_kIHX6na!JeVddsVrIC8qYK%`6 zaWK%)l?)DEA=+tzhnJtn#wVy5i$R%ysxa$T#h_VG)Hnk9dIM)ByL06neNKTD_LE5M zDTYppXmF{&i5q8C2gL`_d!UhgUuk)nPLx|fv7+Le6pSy{ssJQRtY{~LH%HOoW;{sr zO$m#yJmHa(?t|xDninv#TNQglX+V&tjf;L@OnldA#fO{gdlFQ$_aL0A#v2+9-?>bO z;rj98zNqLy_xm-$rjML*Bq>#^##q2n`|~tSBY>(@J#*2!K#6Q3OY_-sw|QXUPlSJ)eBfuJ~&f zC*p@^N#cvpw)?vG+LFGS1(iuQAQQwxmhGRG1x*JumfRFgqY{eenA9LOX9H0*JEn5-`(5%Vci`(@Z1Hn?qMZFIkb*!JsUAmqY zLl3=brFL#R57X$Qtbx+UJ`PV!fWzaH2OQ|wV=`icKjb2%CW-G;;Eb^!=-O^d2fWGE zWGbt>f09^{yvmD2=L%-+YH)mQF~zuim2Q(fyTI@QjVC#Nbxl|ZwUqWS@|*`04U zaOgf7OYU6T4y=&AMMDzF<`8RpT0k4nK3b6#>t-F+&(hNt5&+U9`&DG+oyTy4)}+ma z|CEsgVvPt%Fx*koaTDBQG%OXsZv<$j0!r=DI^28p=pgK+B;CE^JtO0qTgprWwv*e7 z)O(JOqq**!1+W*w`zeW4Hi`GzDM} z5FRvt0fH+pX(Orwf(j+*ogp@Ukg{1xz`7qvpA0n(g){Ah?2Z}qv~{bbXKc-p2Z@QT zt#7NoNMG9=9%xs6krsem;SbtNSlRXbSA&`TiU$6_H<$&Ig8Pv4?>3S2@yZWjVFL{= zCx+fa-OQUJWoZ$qcbwihBLtEJ)V2!z(d)0PewC#K@6E5Z*T8f2!KYV1vp{rf->E-E zt8i>g3@5-iQ1f4(tQXPCF*yU$K9#?*lrOzUd?{YT)bvXlq3@!2O>@@QulMZw4FPJ= z>{eCK8a2QqaeEuG_CIXdKK+xe9Gz|}QBqR={`nK=&D%Z?_7*n#&^8RR_Pm8;CnTK-5?sm}>MSs<_U@e{cJ~8kYb%&p><5 z+Y8RBYU=95qBfTu(CRq#)31VK)$n=12J*y?8P^w}kDAm=RV^BPf=5;L130kAYnZac zC4K3mPwMHgX~C}Kq{86fI+~}EDo;#czBa!9?qUX&N6=iMPQ=%nKy|)%6yL>Sa%!Tg zdhO`d=NX(Iw<;eWpS+)-goIHvka(HbqHjll^!-gdWs8yJ?7Z|^N^)|@uBp3w6&HAr zZ0Nag~y`TU9swkykpRvH;?mvl*IEK1|0%z?O@|;^1uOqs4=&D99A#dUAp_?? zYdu~ z1KX#aS%I?-k`m@@XV+(wM5~8Z8 LsZjdp*_;0ZH!7D) literal 0 HcmV?d00001 From 8f7ab048a36067d40d7eba889817b9bf1f5522a0 Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Thu, 29 Oct 2026 14:42:27 +0100 Subject: [PATCH 02/17] docs: README tweaks --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index cbf7e4bc8..6a87dfb9a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -XGI +

XGI

[![PyPI](https://img.shields.io/pypi/v/xgi?color=forest)](https://pypi.org/project/xgi/) [![Python versions](https://img.shields.io/pypi/pyversions/xgi?color=forest)](https://pypi.org/project/xgi/) [![Test Status](https://github.com/xgi-org/xgi/actions/workflows/test-code.yml/badge.svg)](https://github.com/xgi-org/xgi/actions/workflows/test-code.yml) [![codecov](https://codecov.io/gh/xgi-org/xgi/branch/main/graph/badge.svg?token=BI6TX2WDSG)](https://codecov.io/gh/xgi-org/xgi) [![DOI](https://joss.theoj.org/papers/10.21105/joss.05162/status.svg)](https://doi.org/10.21105/joss.05162) [![pyOpenSci](https://tinyurl.com/y22nb8up)](https://github.com/pyOpenSci/software-review/issues/115) [![Good First Issue](https://img.shields.io/badge/contribute-Good%20First%20Issue-forest)](https://github.com/xgi-org/xgi/issues?q=is%3Aopen+is%3Aissue+label%3A%22Good+First+Issue%22) [![Benchmarks](https://img.shields.io/badge/benchmarks-forest)](https://xgi-org.github.io/xgi/dev/bench/) @@ -33,11 +33,11 @@ pos = xgi.barycenter_spring_layout(H, seed=1) xgi.draw(H, pos=pos) ``` -Drawing of the example hypergraph +

Drawing of the example hypergraph

## XGI-DATA -[XGI-DATA](https://github.com/xgi-org/xgi-data) is a curated collection of 50+ real-world higher-order datasets (from face-to-face contacts and emails to coauthorships, legislation, and ecology), which can be loaded in one line with `xgi.load_xgi_data()`. See the [docs](https://xgi.readthedocs.io/en/stable/xgi-data.html) for more information. +[XGI-DATA](https://xgi.readthedocs.io/en/stable/xgi-data.html) is a curated collection of 50+ real-world higher-order datasets (from face-to-face contacts and emails to coauthorships, legislation, and ecology), which can be loaded in one line with `xgi.load_xgi_data()`. ## Contribute @@ -47,7 +47,7 @@ Join the community on [Zulip](https://xgi.zulipchat.com/join/7agfwo7dh7jo56ppnk5 ## Cite -We acknowledge the importance of good software to support research, and we note that research becomes more valuable when it is communicated effectively. To demonstrate the value of XGI, we ask that you cite the XGI [paper](https://doi.org/10.21105/joss.05162) in your work. You can also use the "Cite this repository" button on GitHub. +We acknowledge the importance of good software to support research. To demonstrate the value of XGI, we ask that you cite the XGI [paper](https://doi.org/10.21105/joss.05162) in your work. You can also use the "Cite this repository" button on GitHub. > Landry, N. W., Lucas, M., Iacopini, I., Petri, G., Schwarze, A., Patania, A., & Torres, L. (2023). XGI: A Python package for higher-order interaction networks. *Journal of Open Source Software*, 8(85), 5162. From 894472948d4ca66d6190b0f1316151fd198f7082 Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Thu, 29 Oct 2026 14:44:47 +0100 Subject: [PATCH 03/17] docs: add section comments to README example --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 6a87dfb9a..51ae16583 100644 --- a/README.md +++ b/README.md @@ -23,12 +23,15 @@ Quickstart example: ```python import xgi +# build hyperedges = [[1, 2, 3], [3, 4, 5], [3, 6], [6, 7, 8, 9], [1, 4, 10, 11, 12], [1, 4]] H = xgi.Hypergraph(hyperedges) +# analyze H.edges.size.asnumpy() # array([3, 3, 2, 4, 5, 2]) H.nodes.filterby("degree", 3) # nodes 1, 3, 4 +# visualize pos = xgi.barycenter_spring_layout(H, seed=1) xgi.draw(H, pos=pos) ``` From d9fc6a4df366384f1419652076c4fd6fc4ac0cc3 Mon Sep 17 00:00:00 2001 From: Nicholas Landry Date: Fri, 30 Oct 2026 13:36:51 -0400 Subject: [PATCH 04/17] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 51ae16583..f29ed5065 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Comple**X** **G**roup **I**nteractions (**XGI**) is a Python package for [higher-order networks](https://xgi.readthedocs.io/en/stable/higher-order.html): hypergraphs, directed hypergraphs, and simplicial complexes. It provides data structures, generative models, measures, datasets, and drawing tools. -

Documentation · Tutorials · Gallery · Datasets · Projects using XGI · Contribute

+

Documentation · Tutorials · Gallery · Datasets · Projects using XGI · Contribute

## Install @@ -18,7 +18,7 @@ For other options (development version, optional dependencies), see the [install To get started, take a look at the [tutorials](https://xgi.readthedocs.io/en/stable/user_guides.html) illustrating the library's basic functionality. -Quickstart example: +An example: ```python import xgi From 8aa1463cf0f2645c35462f1fda3483eab379eea2 Mon Sep 17 00:00:00 2001 From: Nicholas Landry Date: Fri, 30 Oct 2026 14:41:29 -0400 Subject: [PATCH 05/17] Minor language tweak --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f29ed5065..b727ca44d 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ Join the community on [Zulip](https://xgi.zulipchat.com/join/7agfwo7dh7jo56ppnk5 ## Cite -We acknowledge the importance of good software to support research. To demonstrate the value of XGI, we ask that you cite the XGI [paper](https://doi.org/10.21105/joss.05162) in your work. You can also use the "Cite this repository" button on GitHub. +We believe that quality software is important for supporting research. To demonstrate the value of XGI, we ask that you cite the XGI [paper](https://doi.org/10.21105/joss.05162) in your work. You can also use the "Cite this repository" button on GitHub. > Landry, N. W., Lucas, M., Iacopini, I., Petri, G., Schwarze, A., Patania, A., & Torres, L. (2023). XGI: A Python package for higher-order interaction networks. *Journal of Open Source Software*, 8(85), 5162. From 8de2188c87d2117cf8fbfd2fc231c021bb87cbf3 Mon Sep 17 00:00:00 2001 From: Nicholas Landry Date: Fri, 30 Oct 2026 14:59:19 -0400 Subject: [PATCH 06/17] Updated ReadTheDocs build specs --- .readthedocs.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 8bb8c7e24..fe979024d 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -7,9 +7,9 @@ version: 2 # Set the version of Python and other tools you might need build: - os: ubuntu-24.04 + os: ubuntu-26.04 tools: - python: "3.12" + python: "3.14" # Build documentation in the docs/ directory with Sphinx sphinx: From 80b2cbe7cab7819dc9f17af43c05b603743ba2e6 Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Nov 2026 10:56:21 +0100 Subject: [PATCH 07/17] docs: address review comments on README - Keep the feature list (data structures, generative models, measures, datasets, drawing tools) in the intro, framed as covering the whole workflow - Link OTHER_RESOURCES.md from the end of the README so it is no longer orphaned - Split License and Support into separate sections --- README.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b727ca44d..e47ce117f 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![PyPI](https://img.shields.io/pypi/v/xgi?color=forest)](https://pypi.org/project/xgi/) [![Python versions](https://img.shields.io/pypi/pyversions/xgi?color=forest)](https://pypi.org/project/xgi/) [![Test Status](https://github.com/xgi-org/xgi/actions/workflows/test-code.yml/badge.svg)](https://github.com/xgi-org/xgi/actions/workflows/test-code.yml) [![codecov](https://codecov.io/gh/xgi-org/xgi/branch/main/graph/badge.svg?token=BI6TX2WDSG)](https://codecov.io/gh/xgi-org/xgi) [![DOI](https://joss.theoj.org/papers/10.21105/joss.05162/status.svg)](https://doi.org/10.21105/joss.05162) [![pyOpenSci](https://tinyurl.com/y22nb8up)](https://github.com/pyOpenSci/software-review/issues/115) [![Good First Issue](https://img.shields.io/badge/contribute-Good%20First%20Issue-forest)](https://github.com/xgi-org/xgi/issues?q=is%3Aopen+is%3Aissue+label%3A%22Good+First+Issue%22) [![Benchmarks](https://img.shields.io/badge/benchmarks-forest)](https://xgi-org.github.io/xgi/dev/bench/) -Comple**X** **G**roup **I**nteractions (**XGI**) is a Python package for [higher-order networks](https://xgi.readthedocs.io/en/stable/higher-order.html): hypergraphs, directed hypergraphs, and simplicial complexes. It provides data structures, generative models, measures, datasets, and drawing tools. +Comple**X** **G**roup **I**nteractions (**XGI**) is a Python package for modeling, analyzing, and visualizing [higher-order networks](https://xgi.readthedocs.io/en/stable/higher-order.html): hypergraphs, directed hypergraphs, and simplicial complexes. It covers the whole workflow, from start to finish, with data structures, generative models, measures, datasets, and drawing tools.

Documentation · Tutorials · Gallery · Datasets · Projects using XGI · Contribute

@@ -74,8 +74,14 @@ We believe that quality software is important for supporting research. To demons ``` -## License and support +## License -Released under the [3-Clause BSD license](https://github.com/xgi-org/xgi/blob/main/LICENSE.md). XGI is supported by (see [details](https://github.com/xgi-org/xgi/blob/main/SUPPORT.md)): +Released under the [3-Clause BSD license](https://github.com/xgi-org/xgi/blob/main/LICENSE.md). + +## Support NSF   Zulip + +See details [here](https://github.com/xgi-org/xgi/blob/main/SUPPORT.md). + +Looking for something else? See this [list of other higher-order network software](https://github.com/xgi-org/xgi/blob/main/OTHER_RESOURCES.md). From abc8a7e1fb8c1838894c193aae27e2bb0a368083 Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Nov 2026 10:56:21 +0100 Subject: [PATCH 08/17] docs: trim docs landing page Shorter intro, feature cards, and a getting-started section with the same quickstart example as the README. --- docs/source/index.rst | 141 +++++++++++++++++++++--------------------- 1 file changed, 70 insertions(+), 71 deletions(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index 9ca44598c..5147efc04 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,4 +1,3 @@ - .. image:: ../../logo/logo.png :class: only-light :width: 200 @@ -24,91 +23,99 @@ Software for higher-order networks ================================== -The Comple\ **X** **G**\ roup **I**\ nteractions `(XGI) `_ -library provides data structures and algorithms for modeling, analyzing, and visualizing complex systems -with group (higher-order) interactions. It provides tools to: +The Comple\ **X** **G**\ roup **I**\ nteractions (XGI) library provides data structures and algorithms for modeling, analyzing, and visualizing complex systems with group (higher-order) interactions: hypergraphs, directed hypergraphs, and simplicial complexes. -* load and store higher-order networks in standard formats -* generate many random and non-random higher-order networks from models -* analyze the structure of higher-order networks with metrics and algorithms -* compute nodes and edge statistics in a unified interface -* draw higher-order networks -* manipulate hypergraphs (undirected and directed) and simplicial complexes +Higher-order networks generalize standard (pairwise) networks to interactions between any number of entities, such as collaborations between several authors or contagion in groups. For more information, see this `brief overview `_. +.. grid:: 1 2 2 2 + :gutter: 3 -Higher-order networks generalize standard (pairwise) networks by allowing to encode higher-order interactions, -that is, interactions between any number of entities. Collaborations and contagion processes are typical -examples where these higher-order interactions are crucial. -For more information about what higher-order -interactions are, see a `brief overview `_. + .. grid-item-card:: General purpose -XGI is implemented in pure Python and is designed to seamlessly interoperate with the -rest of the Python scientific stack (numpy, scipy, pandas, matplotlib, etc). XGI is -designed and developed by network scientists with the needs of network scientists in -mind. Browse the `list of projects using XGI `_ to get an idea of what XGI can do and how it is being used by other people. + From building and generating higher-order networks to measuring and drawing them: XGI covers the whole workflow, for any field. -Get started immediately by `installing XGI `_ and checking the `XGI in 1 minute `_ tutorial. + .. grid-item-card:: Node and edge statistics + Compute, filter, and combine node and edge statistics in one line, e.g., ``H.nodes.degree.asnumpy()`` or ``H.nodes.filterby("degree", 3)``. See the `cheatsheet `_. -Corresponding Data -================== + .. grid-item-card:: Scientific Python -A number of higher-order datasets are available in the `XGI-DATA repository `_ and can be easily accessed with the ``load_xgi_data()`` function. -More information about the datasets and how to load them is in the `XGI-DATA menu `_. + Built on NumPy, SciPy, pandas, NetworkX, and matplotlib. Convert to and from matrices, dataframes, and graphs to use XGI with the rest of your tools. + .. grid-item-card:: Real-world data -Get involved -============ + 50+ curated higher-order datasets from `XGI-DATA `_, loaded in one line with ``xgi.load_xgi_data()``. -To simply getting news and updates, you can sign up for our `mailing list `_ and follow XGI on `Twitter `_! +Getting started +=============== -If you want to contribute, even better! The XGI community always welcomes contributions, no matter how small. -For more information, see our `contribution guide `_. +Install XGI with +.. code:: bash + pip install xgi -How to Cite -=========== -We acknowledge the importance of good software to support research, and we note -that research becomes more valuable when it is communicated effectively. To -demonstrate the value of XGI, we ask that you cite the XGI -`paper `_ in your work. -You can cite XGI either by going to our repository page -`repository page `_ and -clicking the "cite this repository" button on the right sidebar (which will generate -a citation in your preferred format) or by copying the following BibTeX entry: +For other options, see the `installation guide `_. Then, take a look at the `XGI in 1 minute `_ tutorial or the other `tutorials `_. + +Quickstart example: + +.. code:: python + + import xgi -.. code:: text + # build + hyperedges = [[1, 2, 3], [3, 4, 5], [3, 6], [6, 7, 8, 9], [1, 4, 10, 11, 12], [1, 4]] + H = xgi.Hypergraph(hyperedges) - @article{Landry_XGI_2023, - author = {Landry, Nicholas W. and Lucas, Maxime and Iacopini, Iacopo and Petri, Giovanni and Schwarze, Alice and Patania, Alice and Torres, Leo}, - title = {{XGI: A Python package for higher-order interaction networks}}, - doi = {10.21105/joss.05162}, - journal = {Journal of Open Source Software}, - publisher = {The Open Journal}, - year = {2023}, - month = may, - volume = {8}, - number = {85}, - pages = {5162}, - url = {https://doi.org/10.21105/joss.05162}, - } + # analyze + H.edges.size.asnumpy() # array([3, 3, 2, 4, 5, 2]) + H.nodes.filterby("degree", 3) # nodes 1, 3, 4 + # visualize + pos = xgi.barycenter_spring_layout(H, seed=1) + xgi.draw(H, pos=pos) -Academic References -=================== +.. image:: _static/readme_example.png + :width: 300 + :align: center + :alt: Drawing of the example hypergraph -* `The Why, How, and When of Representations for Complex Systems - `_, Torres, L., Blevins, A.S., Bassett, D. and Eliassi-Rad, T., 2021. SIAM Review, 63(3), pp.435-485. +Get involved +============ + +Contributions of any size are welcome, and we're happy to help! To report a bug or request a feature, `open an issue `_. For more, see the `contributing guide `_. Browse the `projects using XGI `_ to see how others use it, and add yours! + +Join the community on `Zulip `_ and follow XGI on `Bluesky `_. + +How to cite +=========== -* `Networks beyond pairwise interactions: Structure and dynamics - `_, Battiston, F., Cencetti, G., Iacopini, I., Latora, V., Lucas, M., Patania, A., Young, J.G. and Petri, G., 2020. Physics reports, 874, pp.1-92. +We acknowledge the importance of good software to support research. To demonstrate the value of XGI, we ask that you cite the XGI `paper `_ in your work. You can also use the "Cite this repository" button on our `GitHub page `_. -* `What are higher-order networks? `_, Bick, C., Gross, E., Harrington, H.A. and Schaub, M.T., 2023. SIAM Review, 65(3), pp.686-731. + Landry, N. W., Lucas, M., Iacopini, I., Petri, G., Schwarze, A., Patania, A., & Torres, L. (2023). XGI: A Python package for higher-order interaction networks. *Journal of Open Source Software*, 8(85), 5162. -* `From networks to optimal higher-order models of complex systems - `_, Lambiotte, R., Rosvall, M. and Scholtes, I., 2019. Nature physics, 15(4), pp.313-320. +.. dropdown:: BibTeX + .. code:: text + + @article{Landry_XGI_2023, + author = {Landry, Nicholas W. and Lucas, Maxime and Iacopini, Iacopo and Petri, Giovanni and Schwarze, Alice and Patania, Alice and Torres, Leo}, + title = {{XGI: A Python package for higher-order interaction networks}}, + doi = {10.21105/joss.05162}, + journal = {Journal of Open Source Software}, + publisher = {The Open Journal}, + year = {2023}, + month = may, + volume = {8}, + number = {85}, + pages = {5162}, + url = {https://doi.org/10.21105/joss.05162}, + } + +License +======= + +Released under the `3-Clause BSD license `_. Support ======= @@ -119,16 +126,8 @@ Support :target: https://www.nsf.gov .. image:: _static/zulip-org-logo.svg - :height: 50 + :height: 30 :alt: Zulip :target: https://zulip.com - See details `here `_. - -License -======= - -This project is licensed under the `BSD 3-Clause License -`_. - From a890da636b8bf3b5fe40fb4e2445c6475a2e2f29 Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Nov 2026 11:05:38 +0100 Subject: [PATCH 09/17] docs: hide right sidebar on landing page --- docs/source/index.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/source/index.rst b/docs/source/index.rst index 5147efc04..24ad5c69d 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,3 +1,5 @@ +:html_theme.sidebar_secondary.remove: + .. image:: ../../logo/logo.png :class: only-light :width: 200 From c735f75ac3d2e8b2ee534abffcec121f8868f912 Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Nov 2026 11:17:44 +0100 Subject: [PATCH 10/17] docs: match landing page intro to README, add feature cards Use the README's first two sentences, replace the General purpose card (now covered by the intro) with Easy to use, and add Built by researchers and Open source and community-driven cards. --- docs/source/index.rst | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index 24ad5c69d..0e26451f3 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -25,16 +25,16 @@ Software for higher-order networks ================================== -The Comple\ **X** **G**\ roup **I**\ nteractions (XGI) library provides data structures and algorithms for modeling, analyzing, and visualizing complex systems with group (higher-order) interactions: hypergraphs, directed hypergraphs, and simplicial complexes. +Comple\ **X** **G**\ roup **I**\ nteractions (XGI) is a Python package for modeling, analyzing, and visualizing `higher-order networks `_: hypergraphs, directed hypergraphs, and simplicial complexes. It covers the whole workflow, from start to finish, with data structures, generative models, measures, datasets, and drawing tools. Higher-order networks generalize standard (pairwise) networks to interactions between any number of entities, such as collaborations between several authors or contagion in groups. For more information, see this `brief overview `_. .. grid:: 1 2 2 2 :gutter: 3 - .. grid-item-card:: General purpose + .. grid-item-card:: Easy to use - From building and generating higher-order networks to measuring and drawing them: XGI covers the whole workflow, for any field. + If you know NetworkX, you already know XGI: add nodes and edges, then query them, with a familiar API. .. grid-item-card:: Node and edge statistics @@ -48,6 +48,14 @@ Higher-order networks generalize standard (pairwise) networks to interactions be 50+ curated higher-order datasets from `XGI-DATA `_, loaded in one line with ``xgi.load_xgi_data()``. + .. grid-item-card:: Built by researchers + + Designed and developed by network scientists, with the latest measures, models, and algorithms from the higher-order network literature. + + .. grid-item-card:: Open source and community-driven + + BSD-licensed and developed in the open. Contributions of any size are welcome: see the `contributing guide `_ or join us on `Zulip `_. + Getting started =============== From aca2e71d2bfe62296e1ee75f704945751ff2dc2f Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Nov 2026 11:23:55 +0100 Subject: [PATCH 11/17] docs: 3-column feature grid, collapsible quickstart example --- docs/source/index.rst | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index 0e26451f3..c4ff05e11 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -29,7 +29,7 @@ Comple\ **X** **G**\ roup **I**\ nteractions (XGI) is a Python package for model Higher-order networks generalize standard (pairwise) networks to interactions between any number of entities, such as collaborations between several authors or contagion in groups. For more information, see this `brief overview `_. -.. grid:: 1 2 2 2 +.. grid:: 1 2 3 3 :gutter: 3 .. grid-item-card:: Easy to use @@ -67,28 +67,28 @@ Install XGI with For other options, see the `installation guide `_. Then, take a look at the `XGI in 1 minute `_ tutorial or the other `tutorials `_. -Quickstart example: +.. dropdown:: Quickstart example -.. code:: python + .. code:: python - import xgi + import xgi - # build - hyperedges = [[1, 2, 3], [3, 4, 5], [3, 6], [6, 7, 8, 9], [1, 4, 10, 11, 12], [1, 4]] - H = xgi.Hypergraph(hyperedges) + # build + hyperedges = [[1, 2, 3], [3, 4, 5], [3, 6], [6, 7, 8, 9], [1, 4, 10, 11, 12], [1, 4]] + H = xgi.Hypergraph(hyperedges) - # analyze - H.edges.size.asnumpy() # array([3, 3, 2, 4, 5, 2]) - H.nodes.filterby("degree", 3) # nodes 1, 3, 4 + # analyze + H.edges.size.asnumpy() # array([3, 3, 2, 4, 5, 2]) + H.nodes.filterby("degree", 3) # nodes 1, 3, 4 - # visualize - pos = xgi.barycenter_spring_layout(H, seed=1) - xgi.draw(H, pos=pos) + # visualize + pos = xgi.barycenter_spring_layout(H, seed=1) + xgi.draw(H, pos=pos) -.. image:: _static/readme_example.png - :width: 300 - :align: center - :alt: Drawing of the example hypergraph + .. image:: _static/readme_example.png + :width: 300 + :align: center + :alt: Drawing of the example hypergraph Get involved ============ From e6341d3a41b571691df727881aa042996147d5fe Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Nov 2026 11:29:43 +0100 Subject: [PATCH 12/17] docs: keep example drawing visible, collapse only the code --- docs/source/index.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index c4ff05e11..27db83cb8 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -54,7 +54,7 @@ Higher-order networks generalize standard (pairwise) networks to interactions be .. grid-item-card:: Open source and community-driven - BSD-licensed and developed in the open. Contributions of any size are welcome: see the `contributing guide `_ or join us on `Zulip `_. + BSD-licensed and developed in the open. Contributions of any size are welcome: see the `contributing guide `_. Getting started =============== @@ -67,7 +67,7 @@ Install XGI with For other options, see the `installation guide `_. Then, take a look at the `XGI in 1 minute `_ tutorial or the other `tutorials `_. -.. dropdown:: Quickstart example +.. dropdown:: An example .. code:: python @@ -85,10 +85,10 @@ For other options, see the `installation guide `_. Then, take a pos = xgi.barycenter_spring_layout(H, seed=1) xgi.draw(H, pos=pos) - .. image:: _static/readme_example.png - :width: 300 - :align: center - :alt: Drawing of the example hypergraph +.. image:: _static/readme_example.png + :width: 300 + :align: center + :alt: Drawing of the example hypergraph Get involved ============ From 84efe06d655736ab0358b7fed84be8425ac5d91a Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Nov 2026 11:33:37 +0100 Subject: [PATCH 13/17] docs: rename Getting started to Get started --- docs/source/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index 27db83cb8..cb14e7df1 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -56,8 +56,8 @@ Higher-order networks generalize standard (pairwise) networks to interactions be BSD-licensed and developed in the open. Contributions of any size are welcome: see the `contributing guide `_. -Getting started -=============== +Get started +=========== Install XGI with From 063988dfac57afb5a5f48a6439ecbf6895dbcfb3 Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Nov 2026 11:34:01 +0100 Subject: [PATCH 14/17] docs: rename How to cite to Cite --- docs/source/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index cb14e7df1..fa2058779 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -97,8 +97,8 @@ Contributions of any size are welcome, and we're happy to help! To report a bug Join the community on `Zulip `_ and follow XGI on `Bluesky `_. -How to cite -=========== +Cite +==== We acknowledge the importance of good software to support research. To demonstrate the value of XGI, we ask that you cite the XGI `paper `_ in your work. You can also use the "Cite this repository" button on our `GitHub page `_. From f9b3f79675b571b7cb60f9bc5f9d12793442a8af Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Nov 2026 11:48:13 +0100 Subject: [PATCH 15/17] docs: restore repo link on (XGI) --- docs/source/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index fa2058779..3cce1b4a9 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -25,7 +25,7 @@ Software for higher-order networks ================================== -Comple\ **X** **G**\ roup **I**\ nteractions (XGI) is a Python package for modeling, analyzing, and visualizing `higher-order networks `_: hypergraphs, directed hypergraphs, and simplicial complexes. It covers the whole workflow, from start to finish, with data structures, generative models, measures, datasets, and drawing tools. +Comple\ **X** **G**\ roup **I**\ nteractions `(XGI) `_ is a Python package for modeling, analyzing, and visualizing `higher-order networks `_: hypergraphs, directed hypergraphs, and simplicial complexes. It covers the whole workflow, from start to finish, with data structures, generative models, measures, datasets, and drawing tools. Higher-order networks generalize standard (pairwise) networks to interactions between any number of entities, such as collaborations between several authors or contagion in groups. For more information, see this `brief overview `_. From 7d78cae2105b8718e528d996749d05acd28d27bf Mon Sep 17 00:00:00 2001 From: Nicholas Landry Date: Sun, 1 Nov 2026 17:03:24 -0500 Subject: [PATCH 16/17] Minor change to the language --- docs/source/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index 3cce1b4a9..8f7a49a1a 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -100,7 +100,7 @@ Join the community on `Zulip `_ in your work. You can also use the "Cite this repository" button on our `GitHub page `_. +We believe that quality software is important for supporting research. To demonstrate the value of XGI, we ask that you cite the XGI `paper `_ in your work. You can also use the "Cite this repository" button on our `GitHub page `_. Landry, N. W., Lucas, M., Iacopini, I., Petri, G., Schwarze, A., Patania, A., & Torres, L. (2023). XGI: A Python package for higher-order interaction networks. *Journal of Open Source Software*, 8(85), 5162. From 9af6945f17f036f2f13dc10fa5a6838dae4fb4d1 Mon Sep 17 00:00:00 2001 From: Nicholas Landry Date: Sun, 1 Nov 2026 17:25:37 -0500 Subject: [PATCH 17/17] Updated publications in "Using XGI" --- citations/preprints.yaml | 15 ------------- citations/published.yaml | 35 ++++++++++++++++++++++++++++--- docs/source/using_xgi.rst | 44 ++++++++++++++++++++++----------------- 3 files changed, 57 insertions(+), 37 deletions(-) diff --git a/citations/preprints.yaml b/citations/preprints.yaml index ae9e4d5fc..72286b5e0 100644 --- a/citations/preprints.yaml +++ b/citations/preprints.yaml @@ -85,21 +85,6 @@ zajdela_higher-order_2026: paper: https://arxiv.org/abs/2603.02571 code: https://github.com/nwlandry/higher-order-team-formation -ibrahim_elruhna_2025: - tags: - - XGI-DATA - authors: - - Cameron Ibrahim - - S M Ferdous - - Ilya Safro - - Marco Minutoli - - Mahantesh Halappanavar - title: 'ELRUHNA: Elimination Rule-based Hypergraph Alignment' - year: 2025 - reference: 'arXiv:2506.09866' - links: - paper: https://arxiv.org/abs/2506.09866 - keating_approximate-master-equation_2025: tags: - XGI diff --git a/citations/published.yaml b/citations/published.yaml index 873111d1f..c01be00c4 100644 --- a/citations/published.yaml +++ b/citations/published.yaml @@ -20,11 +20,24 @@ berte_fibration_2026: - Tommaso Gili title: Fibration Symmetries and Cluster Synchronization in Multi-Body Systems year: 2026 - reference: '*Scientific Reports*' + reference: '*Scientific Reports* **16**, 32628' links: paper: https://doi.org/10.1038/s41598-026-61679-0 code: https://github.com/margheritaberte/Fibration_symmetries_cluster_synchronization +brandt-tumescheit_hypergraph_2026: + tags: + - XGI-DATA + authors: + - Fabian Brandt-Tumescheit + - Henning Meyerhenke + title: Parameter-light algorithms for improving hypermodularity-based community detection + year: 2026 + reference: '*Social Network Analysis and Mining* **16**, 82' + links: + paper: https://doi.org/10.1007/s13278-026-01638-9 + code: https://github.com/KIT-EAE/parameter-light-hyperleiden + chun_survey_2026: tags: - XGI @@ -59,6 +72,22 @@ de_caro_evaluating_2026: links: paper: https://doi.org/10.1109/PDP55228.2026.00024 +ibrahim_elruhna_2025: + tags: + - XGI-DATA + authors: + - Cameron Ibrahim + - S M Ferdous + - Ilya Safro + - Marco Minutoli + - Mahantesh Halappanavar + title: 'ELRUHNA: Elimination Rule-based Hypergraph Alignment' + year: 2026 + reference: 'Social Networks Analysis and Mining. ASONAM 2025. Lecture Notes in Computer Science, vol 16322. Springer, Cham.' + links: + paper: https://doi.org/10.1007/978-3-032-13513-1_6 + code: https://github.com/cameton/ASONAM_ELRUHNA + lucas_reducibility_2026: tags: - XGI @@ -88,7 +117,7 @@ maia_efficient_2026: title: Efficient Gillespie algorithms for spreading phenomena in large and heterogeneous higher-order networks year: 2026 - reference: '*Nature Communications*' + reference: '*Nature Communications* **17**, 8665' links: paper: https://doi.org/10.1038/s41467-026-75402-0 code: https://github.com/gisc-ufv/hyperSIS @@ -122,7 +151,7 @@ santoro_higher-order_2026: - Giovanni Petri title: Charting higher-order models of brain function beyond pairwise interactions year: 2026 - reference: '*Nature Communications*' + reference: '*Nature Communications* **17**, 9207' links: paper: https://doi.org/10.1038/s41467-026-75959-w code: https://github.com/nplresearch/HOI_lenses_analysis diff --git a/docs/source/using_xgi.rst b/docs/source/using_xgi.rst index 480f5ecec..8d377a4a0 100644 --- a/docs/source/using_xgi.rst +++ b/docs/source/using_xgi.rst @@ -26,42 +26,52 @@ Software Packages (8 total) 1. `simplicial-kuramoto `_ -Published Work (40 total) +Published Work (42 total) ========================= 2026 ---- -40. [XGI] Cosimo Agostinelli, Marco Mancastroppa, and Alain Barrat, "Higher-order dissimilarity measures for hypergraph comparison", *Journal of Complex Networks*, Volume 14, Issue 1, cnaf048 (2026). +42. [XGI] Cosimo Agostinelli, Marco Mancastroppa, and Alain Barrat, "Higher-order dissimilarity measures for hypergraph comparison", *Journal of Complex Networks*, Volume 14, Issue 1, cnaf048 (2026). :bdg-link-primary-line:`Paper ` :bdg-link-primary-line:`Code ` -39. [XGI-DATA] Margherita Bertè and Tommaso Gili, "Fibration Symmetries and Cluster Synchronization in Multi-Body Systems", *Scientific Reports* (2026). +41. [XGI-DATA] Margherita Bertè and Tommaso Gili, "Fibration Symmetries and Cluster Synchronization in Multi-Body Systems", *Scientific Reports* **16**, 32628 (2026). :bdg-link-primary-line:`Paper ` :bdg-link-primary-line:`Code ` -38. [XGI-DATA] Antonio De Caro, Dario De Maio, Francesco Monzillo, Alessia Antelmi, and Biagio Cosenza, "Evaluating Portable Programming Models for Hypergraph Label Propagation on GPUs", *Proceedings of PDP 2026: 34th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing* (2026). +40. [XGI-DATA] Fabian Brandt-Tumescheit and Henning Meyerhenke, "Parameter-light algorithms for improving hypermodularity-based community detection", *Social Network Analysis and Mining* **16**, 82 (2026). + +:bdg-link-primary-line:`Paper ` +:bdg-link-primary-line:`Code ` + +39. [XGI-DATA] Antonio De Caro, Dario De Maio, Francesco Monzillo, Alessia Antelmi, and Biagio Cosenza, "Evaluating Portable Programming Models for Hypergraph Label Propagation on GPUs", *Proceedings of PDP 2026: 34th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing* (2026). :bdg-link-primary-line:`Paper ` -37. [XGI] Jaewan Chun, Fanchen Bu, Yeongho Kim, Atsushi Miyauchi, Francesco Bonchi, and Kijung Shin, "A Survey on Centrality and Importance Measures in Hypergraphs: Categorization and Empirical Insights", *ACM Computing Surveys*, Volume 58, Issue 16, Article 414 (2026). +38. [XGI] Jaewan Chun, Fanchen Bu, Yeongho Kim, Atsushi Miyauchi, Francesco Bonchi, and Kijung Shin, "A Survey on Centrality and Importance Measures in Hypergraphs: Categorization and Empirical Insights", *ACM Computing Surveys*, Volume 58, Issue 16, Article 414 (2026). :bdg-link-primary-line:`Paper ` :bdg-link-primary-line:`Code ` +37. [XGI-DATA] Cameron Ibrahim, S M Ferdous, Ilya Safro, Marco Minutoli, and Mahantesh Halappanavar, "ELRUHNA: Elimination Rule-based Hypergraph Alignment", Social Networks Analysis and Mining. ASONAM 2025. Lecture Notes in Computer Science, vol 16322. Springer, Cham. (2026). + +:bdg-link-primary-line:`Paper ` +:bdg-link-primary-line:`Code ` + 36. [XGI, XGI-DATA] Maxime Lucas, Luca Gallo, Arsham Ghavasieh, Federico Battiston, and Manlio De Domenico, "Reducibility of higher-order networks from dynamics", *Nature Communications* **17**, 1551 (2026). :bdg-link-primary-line:`Paper ` :bdg-link-primary-line:`Code ` -35. [XGI, XGI-DATA] Hugo P. Maia, Wesley Cota, Yamir Moreno, and Silvio C. Ferreira, "Efficient Gillespie algorithms for spreading phenomena in large and heterogeneous higher-order networks", *Nature Communications* (2026). +35. [XGI, XGI-DATA] Hugo P. Maia, Wesley Cota, Yamir Moreno, and Silvio C. Ferreira, "Efficient Gillespie algorithms for spreading phenomena in large and heterogeneous higher-order networks", *Nature Communications* **17**, 8665 (2026). :bdg-link-primary-line:`Paper ` :bdg-link-primary-line:`Code ` -34. [XGI] Andrea Santoro, Matteo Neri, Simone Poetto, Davide Orsenigo, Matteo Diano, Marilyn Gatica, and Giovanni Petri, "Charting higher-order models of brain function beyond pairwise interactions", *Nature Communications* (2026). +34. [XGI] Andrea Santoro, Matteo Neri, Simone Poetto, Davide Orsenigo, Matteo Diano, Marilyn Gatica, and Giovanni Petri, "Charting higher-order models of brain function beyond pairwise interactions", *Nature Communications* **17**, 9207 (2026). :bdg-link-primary-line:`Paper ` :bdg-link-primary-line:`Code ` @@ -232,34 +242,34 @@ Published Work (40 total) :bdg-link-primary-line:`Code ` -Preprints (10 total) -==================== +Preprints (9 total) +=================== 2026 ---- -10. [XGI] Kun Cao, Guangzu Bai, and Li Li, "Identifying Disruptive Technologies via Dynamic Hypergraph Modeling and Large Language Models", TechRxiv (2026). +9. [XGI] Kun Cao, Guangzu Bai, and Li Li, "Identifying Disruptive Technologies via Dynamic Hypergraph Modeling and Large Language Models", TechRxiv (2026). :bdg-link-primary-line:`Paper ` -9. [XGI] Timothy LaRock, Yanting Zhang, Jean-Gabriel Young, Nicole Eikmeier, Renaud Lambiotte, and Nicholas W. Landry, "The nestedness of higher-order networks", arXiv:2605.18420 (2026). +8. [XGI] Timothy LaRock, Yanting Zhang, Jean-Gabriel Young, Nicole Eikmeier, Renaud Lambiotte, and Nicholas W. Landry, "The nestedness of higher-order networks", arXiv:2605.18420 (2026). :bdg-link-primary-line:`Paper ` :bdg-link-primary-line:`Code ` -8. [XGI-DATA] Hugo P. Maia, Guilherme Ferraz de Arruda, Silvio C. Ferreira, and Yamir Moreno, "Nesting Controls Phase Transitions in Higher-Order Contagion", arXiv:2604.23337 (2026). +7. [XGI-DATA] Hugo P. Maia, Guilherme Ferraz de Arruda, Silvio C. Ferreira, and Yamir Moreno, "Nesting Controls Phase Transitions in Higher-Order Contagion", arXiv:2604.23337 (2026). :bdg-link-primary-line:`Paper ` -7. [XGI] Violet Ross, Francis Cataldo, and Philip S. Chodrow, "Growing Hypergraphs with Homophily", arXiv:2607.16046 (2026). +6. [XGI] Violet Ross, Francis Cataldo, and Philip S. Chodrow, "Growing Hypergraphs with Homophily", arXiv:2607.16046 (2026). :bdg-link-primary-line:`Paper ` -6. [XGI-DATA] Jason P. Smith, Celia Hacker, Jānis Lazovskis, Florian Unger, Keith M. Smith, and Daniela Egas Santander, "Higher-order rich clubs and configuration models on general directed hypergraphs", arXiv:2609.01624 (2026). +5. [XGI-DATA] Jason P. Smith, Celia Hacker, Jānis Lazovskis, Florian Unger, Keith M. Smith, and Daniela Egas Santander, "Higher-order rich clubs and configuration models on general directed hypergraphs", arXiv:2609.01624 (2026). :bdg-link-primary-line:`Paper ` -5. [XGI] Emma Zajdela and Nicholas W. Landry, "Higher-order interactions at scientific conferences influence team formation", arXiv:2603.02571 (2026). +4. [XGI] Emma Zajdela and Nicholas W. Landry, "Higher-order interactions at scientific conferences influence team formation", arXiv:2603.02571 (2026). :bdg-link-primary-line:`Paper ` :bdg-link-primary-line:`Code ` @@ -267,10 +277,6 @@ Preprints (10 total) 2025 ---- -4. [XGI-DATA] Cameron Ibrahim, S M Ferdous, Ilya Safro, Marco Minutoli, and Mahantesh Halappanavar, "ELRUHNA: Elimination Rule-based Hypergraph Alignment", arXiv:2506.09866 (2025). - -:bdg-link-primary-line:`Paper ` - 3. [XGI] Leah A. Keating, Kwang-Il Goh, and Mason A. Porter, "An Approximate-Master-Equation Formulation of the Watts Threshold Model on Hypergraphs", arXiv:2503.04020 (2025). :bdg-link-primary-line:`Paper `