XGI

XGI: A Python package for higher-order interaction networks - Published in JOSS (2023)

https://github.com/xgi-org/xgi

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.5%) to scientific vocabulary

Keywords

graph-analysis higher-order higher-order-networks hypergraphs network-science simplicial-complexes

Scientific Fields

Engineering Computer Science - 40% confidence
Last synced: 6 months ago · JSON representation ·

Repository

CompleX Group Interactions (XGI) is a Python package for higher-order networks.

Basic Info
  • Host: GitHub
  • Owner: xgi-org
  • License: other
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage: https://xgi.readthedocs.io
  • Size: 38.9 MB
Statistics
  • Stars: 219
  • Watchers: 9
  • Forks: 38
  • Open Issues: 53
  • Releases: 45
Topics
graph-analysis higher-order higher-order-networks hypergraphs network-science simplicial-complexes
Created over 4 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Code of conduct Citation Support

README.md

XGI

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Supports Python versions 3.10 and above. Test Status codecov Good First Issue DOI pyOpenSci Benchmarks

Sign up for our mailing list and follow XGI on Twitter or Mastodon!

Table of Contents:

What is XGI?

CompleX Group Interactions (XGI) is a Python package for higher-order networks (If you want more information on what higher-order networks are, see our brief introduction).

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 for several examples.)

Installation

XGI runs on Python 3.10 or higher.

To install the latest version of XGI, run the following command: 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"] * If that command does not work, you may try the following instead zsh pip install -e ."[all]" For more installation options, see the guide.

Getting Started

To get started, take a look at the user guides illustrating the library's basic functionality.

XGI-DATA

A number of higher-order datasets are available in the XGI-DATA repository and can be easily accessed with the load_xgi_data() function.

How to Contribute

If you want to contribute to this project, please make sure to read the contributing guidelines. We expect respectful and kind interactions by all contributors and users as laid out in our code of conduct.

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.

Some concrete ways that you can get involved:

  • Get XGI updates by following the XGI Twitter account, signing up for our mailing list, 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.
  • Create a Pull Request (PR) to address an open issue or add a feature.
  • Join our Zulip channel to be a part of the daily goings-on of 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 (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: @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 (see LICENSE.md)

Copyright (C) 2021-2025 XGI Developers

Support

NSF XGI

See details here.

Other Resources

This library may not meet your needs and if this is this case, consider checking out our list of other resources.

Owner

  • Name: Complex Group Interactions
  • Login: xgi-org
  • Kind: organization

CompleX Group Interactions (XGI) provides an ecosystem for the analysis and representation of complex systems with group interactions.

Citation (CITATION.cff)

# YAML 1.2
cff-version: "1.2.0"
authors:
- email: nicholas.landry@uvm.edu
  family-names: Landry
  given-names: Nicholas W.
  orcid: "https://orcid.org/0000-0003-1270-4980"
- family-names: Lucas
  given-names: Maxime
  orcid: "https://orcid.org/0000-0001-8087-2981"
- family-names: Iacopini
  given-names: Iacopo
  orcid: "https://orcid.org/0000-0001-8794-6410"
- family-names: Petri
  given-names: Giovanni
  orcid: "https://orcid.org/0000-0003-1847-5031"
- family-names: Schwarze
  given-names: Alice
  orcid: "https://orcid.org/0000-0002-9146-8068"
- family-names: Patania
  given-names: Alice
  orcid: "https://orcid.org/0000-0002-3047-4376"
- family-names: Torres
  given-names: Leo
  orcid: "https://orcid.org/0000-0002-2675-2775"
contact:
- email: nicholas.landry@uvm.edu
  family-names: Landry
  given-names: Nicholas W.
  orcid: "https://orcid.org/0000-0003-1270-4980"
doi: 10.5281/zenodo.7939055
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - email: nicholas.landry@uvm.edu
    family-names: Landry
    given-names: Nicholas W.
    orcid: "https://orcid.org/0000-0003-1270-4980"
  - family-names: Lucas
    given-names: Maxime
    orcid: "https://orcid.org/0000-0001-8087-2981"
  - family-names: Iacopini
    given-names: Iacopo
    orcid: "https://orcid.org/0000-0001-8794-6410"
  - family-names: Petri
    given-names: Giovanni
    orcid: "https://orcid.org/0000-0003-1847-5031"
  - family-names: Schwarze
    given-names: Alice
    orcid: "https://orcid.org/0000-0002-9146-8068"
  - family-names: Patania
    given-names: Alice
    orcid: "https://orcid.org/0000-0002-3047-4376"
  - family-names: Torres
    given-names: Leo
    orcid: "https://orcid.org/0000-0002-2675-2775"
  date-published: 2023-05-17
  doi: 10.21105/joss.05162
  issn: 2475-9066
  issue: 85
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 5162
  title: "XGI: A Python package for higher-order interaction networks"
  type: article
  url: "https://doi.org/10.21105/joss.05162"
  volume: 8
title: "XGI: A Python package for higher-order interaction networks"

GitHub Events

Total
  • Create event: 41
  • Issues event: 63
  • Release event: 6
  • Watch event: 35
  • Delete event: 29
  • Issue comment event: 241
  • Push event: 206
  • Pull request event: 74
  • Pull request review event: 145
  • Pull request review comment event: 128
  • Fork event: 9
Last Year
  • Create event: 41
  • Issues event: 63
  • Release event: 6
  • Watch event: 35
  • Delete event: 29
  • Issue comment event: 241
  • Push event: 206
  • Pull request event: 74
  • Pull request review event: 145
  • Pull request review comment event: 128
  • Fork event: 9

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 596
  • Total Committers: 19
  • Avg Commits per committer: 31.368
  • Development Distribution Score (DDS): 0.327
Past Year
  • Commits: 117
  • Committers: 8
  • Avg Commits per committer: 14.625
  • Development Distribution Score (DDS): 0.188
Top Committers
Name Email Commits
Nicholas Landry n****1@g****m 401
Maxime Lucas m****s 72
Leo Torres l****o@l****m 61
Thomas Robiglio 8****o 24
Martina Contisciani m****i@g****m 8
Iacopo Iacopini i****o@g****m 8
Antoine Combret--Renouard 9****d 4
Tim LaRock t****k@g****m 4
Bell 3****l 3
Daniel Kaiser 5****n 2
Iacopo Iacopini i****i@I****l 1
Alice Schwarze a****e@g****m 1
Gonzalo Contreras Aso 6****t 1
Marco Nurisso 4****o 1
Martin Coll m****l@g****m 1
Will Collins 9****0 1
cosimoagostinelli 1****i 1
pgberlureau 6****u 1
saad1282 8****2 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 205
  • Total pull requests: 237
  • Average time to close issues: 5 months
  • Average time to close pull requests: 14 days
  • Total issue authors: 25
  • Total pull request authors: 15
  • Average comments per issue: 2.46
  • Average comments per pull request: 3.64
  • Merged pull requests: 196
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 44
  • Pull requests: 77
  • Average time to close issues: 10 days
  • Average time to close pull requests: 10 days
  • Issue authors: 8
  • Pull request authors: 8
  • Average comments per issue: 1.36
  • Average comments per pull request: 3.32
  • Merged pull requests: 59
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • nwlandry (76)
  • maximelucas (63)
  • leotrs (17)
  • tlarock (5)
  • acombretrenouard (4)
  • thomasrobiglio (3)
  • cosimoagostinelli (2)
  • colltoaction (2)
  • Mattehub (1)
  • vissarion (1)
  • YuhuYang (1)
  • aleable (1)
  • johannagehlen (1)
  • saad1282 (1)
  • alpatania (1)
Pull Request Authors
  • nwlandry (204)
  • maximelucas (47)
  • thomasrobiglio (23)
  • doabell (6)
  • willcollins10 (6)
  • tlarock (5)
  • leotrs (4)
  • kaiser-dan (3)
  • acombretrenouard (3)
  • cosimoagostinelli (2)
  • pgberlureau (2)
  • colltoaction (2)
  • goznalo-git (1)
  • danielskatz (1)
  • arnaudon (1)
Top Labels
Issue Labels
new feature (34) improve (23) documentation (22) good first issue (18) bug (16) viz (13) test (5) long term (3) warning (1)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 4,245 last-month
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 3
    (may contain duplicates)
  • Total versions: 48
  • Total maintainers: 3
pypi.org: xgi

XGI is a Python package for higher-order networks.

  • Documentation: https://xgi.readthedocs.io/en/stable/
  • License: XGI is distributed with the 3-clause BSD license. Copyright (C) 2021-2025, XGI Developers All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the names of the XGI Developers nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------- License Tensor methods for nonuniform hypergraphs * Tensor methods functionality for the CompleX Group Interactions library Copyright 2023, 2024 Battelle Memorial Institute Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • Latest release: 0.9.5
    published about 1 year ago
  • Versions: 45
  • Dependent Packages: 1
  • Dependent Repositories: 3
  • Downloads: 4,234 Last month
Rankings
Dependent packages count: 4.8%
Stargazers count: 5.9%
Average: 7.5%
Forks count: 7.7%
Dependent repos count: 8.9%
Downloads: 10.3%
Maintainers (2)
Last synced: 6 months ago
pypi.org: xgi-optimized

XGI extension for faster hypergraph operations

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 11 Last month
Rankings
Dependent packages count: 9.2%
Average: 30.7%
Dependent repos count: 52.1%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/test.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/coverage.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v3 composite