Skip to main content

XGI is a Python package for higher-order networks.

Project description

XGI

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

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.9 or higher.

To install the latest version of XGI, run the following command:

pip install xgi

To install this package locally:

  • Clone this repository
  • Navigate to the folder on your local machine
  • Run the following command:
pip install -e .["all"]
  • If that command does not work, you may try the following instead
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-2024 XGI Developers

Funding

The XGI package has been supported by NSF Grant 2121905, "HNDS-I: Using Hypergraphs to Study Spreading Processes in Complex Social Networks".

Other Resources

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xgi-0.9.1.tar.gz (556.6 kB view details)

Uploaded Source

Built Distribution

xgi-0.9.1-py3-none-any.whl (599.7 kB view details)

Uploaded Python 3

File details

Details for the file xgi-0.9.1.tar.gz.

File metadata

  • Download URL: xgi-0.9.1.tar.gz
  • Upload date:
  • Size: 556.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for xgi-0.9.1.tar.gz
Algorithm Hash digest
SHA256 cd6fcffacb5c9f6a90f2eabfc1bec6a69df22013685f8256665d2f8cbbb9c3f5
MD5 9cf6d437123b257120770478f95a18b8
BLAKE2b-256 2da4b1bb5dd6455063efafc6228e23bd4b158e2a07c9b16efa61bd87e307b81c

See more details on using hashes here.

File details

Details for the file xgi-0.9.1-py3-none-any.whl.

File metadata

  • Download URL: xgi-0.9.1-py3-none-any.whl
  • Upload date:
  • Size: 599.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for xgi-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 590b7ed879aecabf7e28a1e3288981afd114907a53d8575d2bad3aa85a35a2c6
MD5 af44ac8265e2c0bd238f8a35d2c9a0a7
BLAKE2b-256 89c123e59d0d36087ecf384ffaf50fcecb470a7ce0e0926b29b12362e4d25c22

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page