From 3a1a9b5c226c2cf5501f37af7570992369b81b52 Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Sep 2024 15:03:01 +0100 Subject: [PATCH 01/16] docs: initial theme change --- docs/source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index f03a160c..98f55bea 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -154,7 +154,7 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -html_theme = "sphinx_rtd_theme" +html_theme = "pydata_sphinx_theme" # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the From 800eeb1e873af3c852f80326aedb334448631464 Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Sep 2024 18:02:22 +0100 Subject: [PATCH 02/16] docs: first restructuring of menu of sphinx docs --- docs/source/conf.py | 30 ++++++++++- docs/source/contribute.rst | 23 +++++++++ docs/source/index.rst | 99 ++++--------------------------------- docs/source/installing.rst | 25 ++++++++++ docs/source/reference.rst | 26 ++++++++++ docs/source/user_guides.rst | 31 ++++++++++++ 6 files changed, 143 insertions(+), 91 deletions(-) create mode 100644 docs/source/contribute.rst create mode 100644 docs/source/installing.rst create mode 100644 docs/source/reference.rst create mode 100644 docs/source/user_guides.rst diff --git a/docs/source/conf.py b/docs/source/conf.py index 98f55bea..6421f834 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -159,12 +159,40 @@ # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. -# html_theme_options = {} +html_theme_options = { + "navbar_end": ["theme-switcher", "navbar-icon-links"], # Place the social links at the end of the navbar + "icon_links": [ + { + "name": "GitHub", + "url": "https://xgi.readthedocs.io/", + "icon": "fab fa-github-square", # Font Awesome icon + }, + { + "name": "Twitter", + "url": "https://twitter.com/xginets", + "icon": "fab fa-twitter-square", # Font Awesome icon + }, + ], +} + + +html_sidebars = { + "**": ["sidebar-nav-bs", "sidebar-ethical-ads"], + "index": [], + "installing": [], + "tutorial": [], + "xgi-data": [], + "gallery": [], + "contribute": [], + "user_guides": [], +} # Add any paths that contain custom themes here, relative to this directory. # html_theme_path = ["_static"] # html_static_path = ["_static"] +html_logo = "../../logo/logo.svg" + html_show_sphinx = True htmlhelp_basename = "XGIDoc" diff --git a/docs/source/contribute.rst b/docs/source/contribute.rst new file mode 100644 index 00000000..244ae4b3 --- /dev/null +++ b/docs/source/contribute.rst @@ -0,0 +1,23 @@ +.. _contribute: + +**************** +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 `_. \ No newline at end of file diff --git a/docs/source/index.rst b/docs/source/index.rst index 852e7a7a..ba48d8e5 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -3,56 +3,23 @@ :width: 200 .. toctree:: - :maxdepth: 2 - :caption: Home + :maxdepth: 1 :hidden: - about - contributors - higher-order + installing + user_guides + reference xgi-data gallery - using-xgi - -.. toctree:: - :maxdepth: 2 - :caption: Practical guides - :hidden: - - Tutorials - Recipes - -.. toctree:: - :maxdepth: 2 - :caption: Quick reference links - :hidden: - - Hypergraph class - Simplicial Complex class - Directed Hypergraph class - -.. toctree:: - :maxdepth: 2 - :caption: API Reference - :hidden: - - Core functionality - Node and edge statistics - Algorithms - Generative Models - Linear Algebra - Read/Write - Dynamics - Drawing - Converting to and from other data formats - Utilities + contribute + about_us About ===== The Comple\ **X** **G**\ roup **I**\ nteractions `(XGI) `_ -library provides data structures and algorithms for modeling and analyzing complex systems +library provides data structures and algorithms for modeling, analyzing, and visualizing complex systems with group (higher-order) interactions. For more information about what higher-order interactions are, see a `brief overview `_. @@ -69,40 +36,12 @@ called higher-order interactions), that XGI was designed for. 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. - -- Repository: https://github.com/xgi-org/xgi -- PyPI: `latest release `_ -- Twitter: `@xginets `_ -- `List of Contributors `_ -- `Projects Using XGI `_ +mind. Browse the `list of projects Using XGI `_ to get an idea. +We thank all our great `contributors `_! Sign up for our `mailing list `_ and follow XGI on `Twitter `_ or `Mastodon `_! -Installation -============ - -To install and use XGI as an end user, execute - -.. code:: bash - - pip install xgi - -To install for development purposes, first clone the repository and then execute - -.. code:: bash - - pip install -e .['all'] - -If that command does not work, you may try the following instead - -.. code:: zsh - - pip install -e .\[all\] - -XGI was developed and tested for Python 3.8-3.12 on Mac OS, Windows, and Ubuntu. - Corresponding Data ================== @@ -110,26 +49,6 @@ Corresponding 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. -Contributing -============ - -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 =========== diff --git a/docs/source/installing.rst b/docs/source/installing.rst new file mode 100644 index 00000000..6b2b73f4 --- /dev/null +++ b/docs/source/installing.rst @@ -0,0 +1,25 @@ +.. _installing: + +*************** +Installing +*************** + +To install and use XGI as an end user, execute + +.. code:: bash + + pip install xgi + +To install for development purposes, first clone the repository and then execute + +.. code:: bash + + pip install -e .['all'] + +If that command does not work, you may try the following instead + +.. code:: zsh + + pip install -e .\[all\] + +XGI was developed and tested for Python 3.8-3.12 on Mac OS, Windows, and Ubuntu. \ No newline at end of file diff --git a/docs/source/reference.rst b/docs/source/reference.rst new file mode 100644 index 00000000..c624a735 --- /dev/null +++ b/docs/source/reference.rst @@ -0,0 +1,26 @@ +.. _reference: + +************** +API Reference +************** + + +.. toctree:: + :maxdepth: 2 + + api/core.rst + api/stats.rst + api/algorithms.rst + api/generators.rst + api/linalg.rst + +Core functionality <> +Node and edge statistics <> +Algorithms <> +Generative Models <> +Linear Algebra <> +Read/Write +Dynamics +Drawing +Converting to and from other data formats +Utilities \ No newline at end of file diff --git a/docs/source/user_guides.rst b/docs/source/user_guides.rst new file mode 100644 index 00000000..9281df68 --- /dev/null +++ b/docs/source/user_guides.rst @@ -0,0 +1,31 @@ +.. _guides: + +*********************************** +User guides +*********************************** + + +.. grid:: + + .. grid-item-card:: Tutorials + + To get started + + +++ + + .. button-ref:: api/tutorials.rst + :expand: + :color: secondary + :click-parent: + + To the absolute beginner's guide + + .. grid-item-card:: Recipes + + Tricks and examples for specific tasks + + :bdg-primary:`Sample badge` + + +Tutorials <> +Recipes \ No newline at end of file From 834d5cf8647d1cf39944c278d77d5cd001937d43 Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Sep 2024 18:12:39 +0100 Subject: [PATCH 03/16] fix: add theme to requirements --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 6106b8b0..bb25b33a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -81,6 +81,7 @@ docs = [ "ipykernel", "nbsphinx", "nbsphinx-link", + "pydata-sphinx-theme", ] release = [ "twine>=3.4", From 318fc1d04892b0896dada60e52c2960c96ebeb55 Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Sep 2024 19:05:00 +0100 Subject: [PATCH 04/16] docs: added description to Reference page --- docs/source/higher-order.rst | 17 ++++++++++++- docs/source/index.rst | 48 +++++++++++++++++------------------- docs/source/reference.rst | 24 ++++++++++-------- 3 files changed, 52 insertions(+), 37 deletions(-) diff --git a/docs/source/higher-order.rst b/docs/source/higher-order.rst index 6996d672..51214332 100644 --- a/docs/source/higher-order.rst +++ b/docs/source/higher-order.rst @@ -9,4 +9,19 @@ A *higher-order network* is formed by the collection of these higher-order inter Why higher-order interactions? ============================== -Higher-order interactions can reveal more nuanced and sophisticated patterns of connection and can naturally encode different scales of interaction which are inaccessible to pairwise network representations. Higher-order networks can be helpful for describing social networks, ecological communities, co-authorship or citation networks, email, protein interactions, and many more examples. Higher-order networks can also exhibit rich dynamical behavior for simple models of contagion, synchronization, and opinion formation. \ No newline at end of file +Higher-order interactions can reveal more nuanced and sophisticated patterns of connection and can naturally encode different scales of interaction which are inaccessible to pairwise network representations. Higher-order networks can be helpful for describing social networks, ecological communities, co-authorship or citation networks, email, protein interactions, and many more examples. Higher-order networks can also exhibit rich dynamical behavior for simple models of contagion, synchronization, and opinion formation. + + +Academic References +=================== + +* `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. + +* `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. + +* `What are higher-order networks? `_, Bick, C., Gross, E., Harrington, H.A. and Schaub, M.T., 2023. SIAM Review, 65(3), pp.686-731. + +* `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. \ No newline at end of file diff --git a/docs/source/index.rst b/docs/source/index.rst index ba48d8e5..d39f6d40 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -15,32 +15,34 @@ about_us -About -===== +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. For more information about what higher-order -interactions are, see a `brief overview `_. +with group (higher-order) interactions. It provides tools to: + +* easily 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 classic and state-of-the-art algorithms +* compute nodes and edge statistics in unified interface +* draw higher-order networks with intuitive customizations -Many datasets can be represented as graphs, where pairs of entities (or nodes) are -related via links (or edges). Examples are road networks, energy grids, social -networks, neural networks, etc. However, in many other datasets, more than two entities -can be related at a time. For example, many scientists (entities) can collaborate on a -scientific article together (links), and multiple email accounts (entities) can all -participate on the same email thread (links). In this latter case, graphs no longer -present a viable alternative to represent such datasets. It is for this kind of -datasets, where the interactions are given among groups of more than two entities (also -called higher-order interactions), that XGI was designed for. + +Higher-order networks generalize standard (pairwise) networks by allowing to encore higher-order interactions, +that is interactions between any number of entities. Collaborations or 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 `_. 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. -We thank all our great `contributors `_! +mind. Browse the `list of projects Using XGI `_ to get an idea of what XGI can do. -Sign up for our `mailing list `_ and follow XGI on `Twitter `_ or `Mastodon `_! +Get started immediately by `installing XGI `_ and checking the `XGI in 1 minute `_ tutorial. +Then, sign up for our `mailing list `_ and follow XGI on `Twitter `_ or `Mastodon `_! Corresponding Data @@ -82,20 +84,15 @@ Academic References =================== * `The Why, How, and When of Representations for Complex Systems - `_, Leo Torres, Ann S. Blevins, Danielle Bassett, - and Tina Eliassi-Rad. + `_, Torres, L., Blevins, A.S., Bassett, D. and Eliassi-Rad, T., 2021. SIAM Review, 63(3), pp.435-485. * `Networks beyond pairwise interactions: Structure and dynamics - `_, Federico Battiston, Giulia - Cencetti, Iacopo Iacopini, Vito Latora, Maxime Lucas, Alice Patania, Jean-Gabriel - Young, and Giovanni Petri. + `_, 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. -* `What are higher-order networks? `_, Christian Bick, - Elizabeth Gross, Heather A. Harrington, Michael T. Schaub. +* `What are higher-order networks? `_, Bick, C., Gross, E., Harrington, H.A. and Schaub, M.T., 2023. SIAM Review, 65(3), pp.686-731. * `From networks to optimal higher-order models of complex systems - `_, Renaud Lambiotte, Martin - Rosvall, and Ingo Scholtes. + `_, Lambiotte, R., Rosvall, M. and Scholtes, I., 2019. Nature physics, 15(4), pp.313-320. Funding @@ -111,4 +108,3 @@ License This project is licensed under the `BSD 3-Clause License `_. -Copyright (C) 2021-2024 XGI Developers diff --git a/docs/source/reference.rst b/docs/source/reference.rst index c624a735..9f6399a8 100644 --- a/docs/source/reference.rst +++ b/docs/source/reference.rst @@ -4,7 +4,21 @@ API Reference ************** +This page gives an overview of all public XGI objects, functions and methods. All classes and functions are exposed in xgi.* namespace are public. +XGI is organized into the following subpackages: + +* ``xgi.algorithms``: Function to compute classic algorightms on higher-order networks +* ``xgi.convert``: Functions to convert between different representations of the data +* ``xgi.core``: Classes for the core datastructures and views +* ``xgi.drawing``: Functions for plotting +* ``xgi.dynamics``: Functions to simulate given dynamical processes +* ``xgi.generators``: Functions to generate higher-order networks from models +* ``xgi.linalg``: Functions to compute matrix and tensors representations +* ``xgi.readwrite``: Functions to load and store higher-order networks in standard formats +* ``xgi.stats``: Functions to compute node and edge statistics in a single interface +* ``xgi.utils``: Small utility functions + .. toctree:: :maxdepth: 2 @@ -14,13 +28,3 @@ API Reference api/generators.rst api/linalg.rst -Core functionality <> -Node and edge statistics <> -Algorithms <> -Generative Models <> -Linear Algebra <> -Read/Write -Dynamics -Drawing -Converting to and from other data formats -Utilities \ No newline at end of file From 793f43578c63317b8b1d43acf14d0884e82807fc Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Sep 2024 19:30:39 +0100 Subject: [PATCH 05/16] docs: fixed link to tutorials --- docs/source/api/recipes.rst | 2 + docs/source/api/tutorials/focus.rst | 4 +- docs/source/api/tutorials/getting_started.rst | 2 + docs/source/user_guides.rst | 69 ++++++++++++++++--- 4 files changed, 68 insertions(+), 9 deletions(-) diff --git a/docs/source/api/recipes.rst b/docs/source/api/recipes.rst index b8b6b7b4..9b50a1e3 100644 --- a/docs/source/api/recipes.rst +++ b/docs/source/api/recipes.rst @@ -1,3 +1,5 @@ +.. _recipes: + ################## Recipes ################## diff --git a/docs/source/api/tutorials/focus.rst b/docs/source/api/tutorials/focus.rst index 9e5e3b8d..ed6e68e8 100644 --- a/docs/source/api/tutorials/focus.rst +++ b/docs/source/api/tutorials/focus.rst @@ -1,5 +1,7 @@ +.. _focus_tutorials: + ################ - Focus tutorials +Focus tutorials ################ diff --git a/docs/source/api/tutorials/getting_started.rst b/docs/source/api/tutorials/getting_started.rst index 38e8e86b..58633097 100644 --- a/docs/source/api/tutorials/getting_started.rst +++ b/docs/source/api/tutorials/getting_started.rst @@ -1,3 +1,5 @@ +.. _xgi_in_x_minutes: + ############### Getting started ############### diff --git a/docs/source/user_guides.rst b/docs/source/user_guides.rst index 9281df68..c980e023 100644 --- a/docs/source/user_guides.rst +++ b/docs/source/user_guides.rst @@ -6,26 +6,79 @@ User guides .. grid:: + + .. grid-item-card:: + :text-align: center - .. grid-item-card:: Tutorials + Getting started + ^^^ - To get started + "XGI in x minutes" tutorials to quickly get started! +++ - .. button-ref:: api/tutorials.rst + .. button-ref:: xgi_in_x_minutes :expand: :color: secondary :click-parent: To the absolute beginner's guide - .. grid-item-card:: Recipes + .. grid-item-card:: + :text-align: center - Tricks and examples for specific tasks + Focus tutorials + ^^^ + + One tutorial per aspect of XGI to learn everything + step by step. + + +++ + + .. button-ref:: focus_tutorials + :expand: + :color: secondary + :click-parent: + + To the focus tutorials + + + +.. grid:: + + .. grid-item-card:: + :text-align: center + + In depth tutorials + ^^^ + + To know everything there is to know about specific features of XGI + +++ + + .. button-ref:: focus_tutorials + :expand: + :color: secondary + :click-parent: + + To the focus tutorials + + .. grid-item-card:: + :text-align: center + + Cookbook + ^^^ + + Recipes to solve specific tasks in a few lines + + +++ + + .. button-ref:: recipes + :expand: + :color: secondary + :click-parent: + + To the cookbook - :bdg-primary:`Sample badge` -Tutorials <> -Recipes \ No newline at end of file +For all specifications and options of a particular function, or to explore all existing function, see the `API Reference `_. \ No newline at end of file From 93b80eacb2dff97e5fa6ef5912e24ab0b795862e Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Sep 2024 19:39:36 +0100 Subject: [PATCH 06/16] fix: minor fixes in online docs --- docs/source/api/tutorials/in_depth.rst | 3 +++ docs/source/installing.rst | 5 +++++ docs/source/user_guides.rst | 6 +++--- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/source/api/tutorials/in_depth.rst b/docs/source/api/tutorials/in_depth.rst index 60494569..4dc28ef8 100644 --- a/docs/source/api/tutorials/in_depth.rst +++ b/docs/source/api/tutorials/in_depth.rst @@ -1,3 +1,6 @@ +.. _indepth_tutorials: + + ################## In Depth tutorials ################## diff --git a/docs/source/installing.rst b/docs/source/installing.rst index 6b2b73f4..d29395bd 100644 --- a/docs/source/installing.rst +++ b/docs/source/installing.rst @@ -10,6 +10,11 @@ To install and use XGI as an end user, execute pip install xgi + + +Once installed, go directly to the `User Guides `_ to get started! + + To install for development purposes, first clone the repository and then execute .. code:: bash diff --git a/docs/source/user_guides.rst b/docs/source/user_guides.rst index c980e023..7845dde0 100644 --- a/docs/source/user_guides.rst +++ b/docs/source/user_guides.rst @@ -52,15 +52,15 @@ User guides In depth tutorials ^^^ - To know everything there is to know about specific features of XGI + To know everything there is to know about a specific feature of XGI +++ - .. button-ref:: focus_tutorials + .. button-ref:: indepth_tutorials :expand: :color: secondary :click-parent: - To the focus tutorials + To the in-depth tutorials .. grid-item-card:: :text-align: center From c188cb1e03968849c4dbf049155531c828bf0e29 Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Sep 2024 19:50:21 +0100 Subject: [PATCH 07/16] docs: added back contributors --- docs/source/contribute.rst | 170 ++++++++++++++++++++++++++++++++++++- 1 file changed, 168 insertions(+), 2 deletions(-) diff --git a/docs/source/contribute.rst b/docs/source/contribute.rst index 244ae4b3..0ec11f90 100644 --- a/docs/source/contribute.rst +++ b/docs/source/contribute.rst @@ -1,9 +1,13 @@ .. _contribute: **************** -Contribute +Development **************** + +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 @@ -20,4 +24,166 @@ Some concrete ways that you can get involved: * **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 `_. \ No newline at end of file +* **Join our Zulip channel** to be a part of the `daily goings-on of XGI `_. + + +Contributors +============ + +The XGI project has been helped by invaluable contributions from many members of the community. All listings are alphabetical. + +Core team +--------- + +.. raw:: html + +

+ + @acuschwarze +

+ +

+ + @alpatania +

+ +

+ + @iaciac +

+ +

+ + @leotrs +

+ +

+ + @lordgrilo +

+ +

+ + @maximelucas +

+ +

+ + @nwlandry +

+ +

+ + @tlarock +

+ +

+ + @thomasrobiglio +

+ + +Core team alumni +---------------- + +.. raw:: html + +

+ + @mcontisc +

+ +Contributors +------------ + +.. raw:: html + +

+ + @acombretrenouard +

+ +

+ + @aleable +

+ +

+ + @arnaudon +

+ +

+ + @colltoaction +

+ +

+ + @doabell +

+ +

+ + @goznalo-git +

+ +

+ + @marconurisso +

+ +

+ + @pgberlureau +

+ +

+ + @pietrotraversa +

+ +

+ + @saad1282 +

From 1d38d71f37aef1ad7b6e3b608cc99f84a6db6ded Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Sep 2024 22:17:34 +0100 Subject: [PATCH 08/16] docs: fix typo + better installing page --- docs/source/conf.py | 7 +++++ docs/source/index.rst | 14 ++++----- docs/source/installing.rst | 23 ++++++++++++--- docs/source/installing_more.rst | 51 +++++++++++++++++++++++++++++++++ 4 files changed, 84 insertions(+), 11 deletions(-) create mode 100644 docs/source/installing_more.rst diff --git a/docs/source/conf.py b/docs/source/conf.py index 6421f834..577d8a93 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -172,10 +172,17 @@ "url": "https://twitter.com/xginets", "icon": "fab fa-twitter-square", # Font Awesome icon }, + { + "name": "Mastodon", + "url": "https://mathstodon.xyz/@xginets", + "icon": "fa-brands fa-mastodon", # Font Awesome icon + }, ], } + + html_sidebars = { "**": ["sidebar-nav-bs", "sidebar-ethical-ads"], "index": [], diff --git a/docs/source/index.rst b/docs/source/index.rst index d39f6d40..5d076058 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -22,15 +22,15 @@ The Comple\ **X** **G**\ roup **I**\ nteractions `(XGI) `_. @@ -38,7 +38,7 @@ interactions are, see a `brief overview `_. 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. +mind. Browse the `list of projects using XGI `_ to get an idea of what XGI can do. Get started immediately by `installing XGI `_ and checking the `XGI in 1 minute `_ tutorial. diff --git a/docs/source/installing.rst b/docs/source/installing.rst index d29395bd..6c955070 100644 --- a/docs/source/installing.rst +++ b/docs/source/installing.rst @@ -4,27 +4,42 @@ Installing *************** -To install and use XGI as an end user, execute + +Installing the released version +=============================== + +To install XGI, execute the following in the command line: .. code:: bash pip install xgi +XGI was developed and tested for Python 3.8-3.12 on Mac OS, Windows, and Ubuntu. Once installed, go directly to the `User Guides `_ to get started! +Installing the development version +================================== + -To install for development purposes, first clone the repository and then execute +You can also install the development version, either to contribute or to get the latest (potentially unstable) upgrades without having to wait for a new release. +To do this, you need to first clone the repository and then pip install locally: .. code:: bash + git clone https://github.com/xgi-org/xgi.git + cd xgi pip install -e .['all'] -If that command does not work, you may try the following instead +If the last line does not work, you may try the following instead .. code:: zsh pip install -e .\[all\] -XGI was developed and tested for Python 3.8-3.12 on Mac OS, Windows, and Ubuntu. \ No newline at end of file + +.. seealso:: + + For more installation options, see our `guide `_. + diff --git a/docs/source/installing_more.rst b/docs/source/installing_more.rst new file mode 100644 index 00000000..8f920a57 --- /dev/null +++ b/docs/source/installing_more.rst @@ -0,0 +1,51 @@ +.. _installing_more: + +*************************** +Installation instructions +*************************** + +pip installing with options +============================ + +You may wish to selectively install dependencies required for testing, developing, or building certain parts of the project. +The options are the following: + +- ``benchmark``: Requirements needed to run the benchmarking notebooks +- ``tutorial``: Requirements needed to run the Jupyter Notebooks with the examples +- ``test``: Requirements needed to run the test suite +- ``docs``: Requirements needed to build the documentation (see the [docs](https://github.com/xgi-org/xgi/tree/main/docs)) +- ``developer``: Requirements needed to format the codebase +- ``release``: Requirements needed to release new versions of XGI + +You can install XGI with one or more of these options by running the following: + +.. code:: bash + + pip install xgi[option] + pip install xgi[option1,option2] + +pip installing dependencies (without installing XGI) +==================================================== + +You may wish to install the dependencies without actually installing XGI itself. The following are the requirements files to do that: + +- ``benchmark.txt``: Requirements to run the benchmarking notebooks +- ``default.txt``: Default requirements +- ``tutorial.txt``: Requirements for running the Jupyter Notebooks with the examples +- ``test.txt``: Requirements for running test suite +- ```docs.txt``: Requirements for building the documentation (see `../docs/`) +- ``developer.txt``: Requirements for developers +- ``release.txt``: Requirements for making releases + +To install these dependencies, simply run + +.. code:: bash + + pip install -U -r requirements/{filename} + +where the filename is one of the ones listed above. For example, to install the requirements necessary to run the test suite, run + +.. code:: bash + + pip install -U -r requirements/default.txt + pip install -U -r requirements/test.txt From 42c52a511fe8ad1a49049e9812de4f42616f30ad Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Sep 2024 22:51:13 +0100 Subject: [PATCH 09/16] fix: added back missing api sections --- docs/source/api/tutorials/focus.rst | 7 ++++++- docs/source/api/tutorials/getting_started.rst | 9 ++++++++- docs/source/index.rst | 11 +++++++++-- docs/source/reference.rst | 16 ++++++++++------ 4 files changed, 33 insertions(+), 10 deletions(-) diff --git a/docs/source/api/tutorials/focus.rst b/docs/source/api/tutorials/focus.rst index ed6e68e8..aadf1ade 100644 --- a/docs/source/api/tutorials/focus.rst +++ b/docs/source/api/tutorials/focus.rst @@ -14,4 +14,9 @@ Focus tutorials focus_4 focus_5 focus_6 - focus_7 \ No newline at end of file + focus_7 + +.. seealso:: + + This is now too easy and you want to dive deeper into some features of XGI? + Go to the `In-depth Tutorials `_. \ No newline at end of file diff --git a/docs/source/api/tutorials/getting_started.rst b/docs/source/api/tutorials/getting_started.rst index 58633097..10f5caa3 100644 --- a/docs/source/api/tutorials/getting_started.rst +++ b/docs/source/api/tutorials/getting_started.rst @@ -9,4 +9,11 @@ Getting started getting_started_1 getting_started_2 - getting_started_3 \ No newline at end of file + getting_started_3 + + + +.. seealso:: + + This is now too easy and you want to explore more of what XGI can do? + Go to the `Focus Tutorials `_. \ No newline at end of file diff --git a/docs/source/index.rst b/docs/source/index.rst index 5d076058..b91ed67a 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -42,13 +42,20 @@ mind. Browse the `list of projects using XGI `_ to get an idea o Get started immediately by `installing XGI `_ and checking the `XGI in 1 minute `_ tutorial. -Then, sign up for our `mailing list `_ and follow XGI on `Twitter `_ or `Mastodon `_! - Corresponding 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. +More information about the datasets and how to load them is in the `XGI-DATA menu `_ + +Get involved +================== + +To simply getting news and updates, you can sign up for our `mailing list `_ and follow XGI on `Twitter `_ or `Mastodon `_! + +If you want to contribute, even better! The XGI community always welcomes contributions, no matter how small. +For more information, see `contribution guide `_ diff --git a/docs/source/reference.rst b/docs/source/reference.rst index 9f6399a8..2814cf8e 100644 --- a/docs/source/reference.rst +++ b/docs/source/reference.rst @@ -22,9 +22,13 @@ XGI is organized into the following subpackages: .. toctree:: :maxdepth: 2 - api/core.rst - api/stats.rst - api/algorithms.rst - api/generators.rst - api/linalg.rst - + Algorithms + Convert + Core functionality + Drawing + Dynamics + Generators + Linalg + I/O + Stats + Utils From 610f9c9bbc264f90152de9d569cc60eb90b388fc Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Sep 2024 22:52:20 +0100 Subject: [PATCH 10/16] style: black --- docs/source/conf.py | 7 ++++--- tests/drawing/test_draw.py | 18 +++++++++++------- xgi/drawing/draw.py | 13 ++++++------- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 577d8a93..64f6a05d 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -160,7 +160,10 @@ # further. For a list of options available for each theme, see the # documentation. html_theme_options = { - "navbar_end": ["theme-switcher", "navbar-icon-links"], # Place the social links at the end of the navbar + "navbar_end": [ + "theme-switcher", + "navbar-icon-links", + ], # Place the social links at the end of the navbar "icon_links": [ { "name": "GitHub", @@ -181,8 +184,6 @@ } - - html_sidebars = { "**": ["sidebar-nav-bs", "sidebar-ethical-ads"], "index": [], diff --git a/tests/drawing/test_draw.py b/tests/drawing/test_draw.py index 4eadd158..6edc1e78 100644 --- a/tests/drawing/test_draw.py +++ b/tests/drawing/test_draw.py @@ -340,16 +340,20 @@ def test_draw_hyperedges_ec(edgelist8): H = xgi.Hypergraph(edgelist8) - colors = np.array([[0.6468274 , 0.80289262, 0.56592265, 0.4], - [0.17363177, 0.19076859, 0.44549087, 0.4], - [0.17363177, 0.19076859, 0.44549087, 0.4], - [0.17363177, 0.19076859, 0.44549087, 0.4], - [0.17363177, 0.19076859, 0.44549087, 0.4], - [0.17363177, 0.19076859, 0.44549087, 0.4]]) + colors = np.array( + [ + [0.6468274, 0.80289262, 0.56592265, 0.4], + [0.17363177, 0.19076859, 0.44549087, 0.4], + [0.17363177, 0.19076859, 0.44549087, 0.4], + [0.17363177, 0.19076859, 0.44549087, 0.4], + [0.17363177, 0.19076859, 0.44549087, 0.4], + [0.17363177, 0.19076859, 0.44549087, 0.4], + ] + ) # edge stat color fig, ax = plt.subplots() - ax, collections = xgi.draw_hyperedges(H,ax=ax, edge_ec=H.edges.size, edge_fc="w") + ax, collections = xgi.draw_hyperedges(H, ax=ax, edge_ec=H.edges.size, edge_fc="w") (_, edge_collection) = collections assert np.all(edge_collection.get_edgecolor() == colors) diff --git a/xgi/drawing/draw.py b/xgi/drawing/draw.py index b6a18ff2..c1bf5045 100644 --- a/xgi/drawing/draw.py +++ b/xgi/drawing/draw.py @@ -182,7 +182,7 @@ def draw( * IDStat containing the `ids` as keys If None (default), color by edge size. - Numerical formats will be mapped to colors using edge_vmin, edge_vmax, + Numerical formats will be mapped to colors using edge_vmin, edge_vmax, and edge_fc_cmap. alpha : float, optional The edge transparency. By default, 0.4. @@ -618,7 +618,7 @@ def draw_hyperedges( * IDStat containing the `ids` as keys If None (default), color by edge size. - Numerical formats will be mapped to colors using edge_vmin, edge_vmax, + Numerical formats will be mapped to colors using edge_vmin, edge_vmax, and edge_fc_cmap. alpha : float, optional The edge transparency. By default, 0.4. @@ -752,17 +752,16 @@ def draw_hyperedges( edge_fc_arr = None edge_fc_colors = edge_fc[ids_sorted] if len(edge_fc) > 1 else edge_fc - - edge_ec = edge_ec[ids_sorted] if len(edge_ec) > 1 else edge_ec # reorder + edge_ec = edge_ec[ids_sorted] if len(edge_ec) > 1 else edge_ec # reorder - if edge_ec_to_map: # edgecolors need to be manually mapped + if edge_ec_to_map: # edgecolors need to be manually mapped # create scalarmappable to map floats to colors # we use the same vmin, vmax, and cmap as for edge_fc norm = mpl.colors.Normalize(vmin=edge_vmin, vmax=edge_vmax) sm_edgecolors = cm.ScalarMappable(norm=norm, cmap=edge_fc_cmap) - edge_ec = sm_edgecolors.to_rgba(edge_ec) # map to colors + edge_ec = sm_edgecolors.to_rgba(edge_ec) # map to colors patches = [] for he in np.array(edges.members())[ids_sorted]: @@ -790,7 +789,7 @@ def draw_hyperedges( edge_collection = PatchCollection( patches, facecolors=edge_fc_colors, - array=edge_fc_arr, # will be mapped by PatchCollection + array=edge_fc_arr, # will be mapped by PatchCollection cmap=edge_fc_cmap, edgecolors=edge_ec, alpha=alpha, From 6a968bd613a156240f5e9a5a34839427bbac4c83 Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Sun, 1 Sep 2024 23:33:27 +0100 Subject: [PATCH 11/16] docs: added link to ref for loading function --- docs/source/index.rst | 6 +++--- docs/source/user_guides.rst | 2 +- docs/source/xgi-data.rst | 35 +++++++++++++++++++++++------------ 3 files changed, 27 insertions(+), 16 deletions(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index b91ed67a..5941c4ff 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -12,7 +12,6 @@ xgi-data gallery contribute - about_us Software for higher-order networks @@ -27,6 +26,7 @@ with group (higher-order) interactions. It provides tools to: * 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 by allowing to encode higher-order interactions, @@ -47,7 +47,7 @@ Corresponding 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. -More information about the datasets and how to load them is in the `XGI-DATA menu `_ +More information about the datasets and how to load them is in the `XGI-DATA menu `_. Get involved ================== @@ -55,7 +55,7 @@ Get involved To simply getting news and updates, you can sign up for our `mailing list `_ and follow XGI on `Twitter `_ or `Mastodon `_! If you want to contribute, even better! The XGI community always welcomes contributions, no matter how small. -For more information, see `contribution guide `_ +For more information, see our `contribution guide `_. diff --git a/docs/source/user_guides.rst b/docs/source/user_guides.rst index 7845dde0..4d47f3c8 100644 --- a/docs/source/user_guides.rst +++ b/docs/source/user_guides.rst @@ -1,7 +1,7 @@ .. _guides: *********************************** -User guides +User Guides *********************************** diff --git a/docs/source/xgi-data.rst b/docs/source/xgi-data.rst index ec9a9da5..d61f294e 100644 --- a/docs/source/xgi-data.rst +++ b/docs/source/xgi-data.rst @@ -4,6 +4,29 @@ XGI-DATA XGI-DATA is a repository of openly available hypergraph datasets in JSON format with corresponding documentation of network statistics, limitations of the data, and methods of collection. They are hosted in the `XGI Community `_ on Zenodo. This is loosely inspired by `Datasheets for Datasets `_ by Gebru et al. +Loading datasets +---------------- + +Loading a dataset using XGI is as simple as the following two lines: + +.. code-block:: python + + import xgi + H = xgi.load_xgi_data("") + +XGI-DATA uses an HTTP request to load the hypergraph dataset. See the `Reference `_ for a complete description of the function. + +The directed hypergraph datasets from the Biochemical, Genetic and Genomic (BIGG) database can also be loaded with: + + +.. code-block:: python + + import xgi + H = xgi.load_bigg_data("") + + +See the `Reference `_ for a complete description of the function. + Dataset format -------------- @@ -24,18 +47,6 @@ The xgi-data format for higher-order datasets is a JSON data structure with the * :code:`edge-dict`: This tag accesses the edge IDs and the corresponding nodes which participate in that hyperedge. -Loading datasets ----------------- - -Loading a dataset using XGI is as simple as the following two lines: - -.. code-block:: python - - import xgi - H = xgi.load_xgi_data("") - -XGI-DATA uses an HTTP request to load the hypergraph dataset. - Network Statistics ------------------ From 45bd55b866969a98fab3f30585018ac3aa9fe268 Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Mon, 2 Sep 2024 08:00:48 +0100 Subject: [PATCH 12/16] response to review --- docs/source/conf.py | 5 ++--- docs/source/reference.rst | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 64f6a05d..5e3b7b99 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -20,7 +20,7 @@ # -- Project information ----------------------------------------------------- project = "XGI" -copyright = "Copyright (C) 2021-2024 XGI Developers" +copyright = "2021-2024 XGI Developers" release = "0.8.9" # -- General configuration --------------------------------------------------- @@ -130,7 +130,7 @@ # If true, the current module name will be prepended to all description # unit titles (such as .. function::). -# add_module_names = True +add_module_names = False # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. @@ -161,7 +161,6 @@ # documentation. html_theme_options = { "navbar_end": [ - "theme-switcher", "navbar-icon-links", ], # Place the social links at the end of the navbar "icon_links": [ diff --git a/docs/source/reference.rst b/docs/source/reference.rst index 2814cf8e..d998d84f 100644 --- a/docs/source/reference.rst +++ b/docs/source/reference.rst @@ -28,7 +28,7 @@ XGI is organized into the following subpackages: Drawing Dynamics Generators - Linalg + Linear Algebra I/O - Stats - Utils + Stats for nodes and edges + Utilities From 038a810fe33f98e93c28cf29abe90d28a4a5e284 Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Mon, 2 Sep 2024 09:40:54 +0100 Subject: [PATCH 13/16] docs: added button to new release and release notes --- docs/source/conf.py | 1 + docs/source/index.rst | 5 +++++ docs/source/reference.rst | 7 ++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 5e3b7b99..4564cf39 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -22,6 +22,7 @@ project = "XGI" copyright = "2021-2024 XGI Developers" release = "0.8.9" +version = release # -- General configuration --------------------------------------------------- diff --git a/docs/source/index.rst b/docs/source/index.rst index 5941c4ff..273ae63a 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -14,6 +14,11 @@ contribute + +.. button-link:: https://github.com/xgi-org/xgi/releases/tag/v0.8.9 + :color: primary + :outline: + Software for higher-order networks ================================== diff --git a/docs/source/reference.rst b/docs/source/reference.rst index d998d84f..1dad224e 100644 --- a/docs/source/reference.rst +++ b/docs/source/reference.rst @@ -4,7 +4,7 @@ API Reference ************** -This page gives an overview of all public XGI objects, functions and methods. All classes and functions are exposed in xgi.* namespace are public. +This page gives an overview of all public XGI objects, functions and methods. All classes and functions are exposed in xgi.* namespace are public XGI is organized into the following subpackages: @@ -18,6 +18,11 @@ XGI is organized into the following subpackages: * ``xgi.readwrite``: Functions to load and store higher-order networks in standard formats * ``xgi.stats``: Functions to compute node and edge statistics in a single interface * ``xgi.utils``: Small utility functions + + +.. note:: + + This page describes release |version| of XGI. Find out more in the `Release notes `_ about this and previous releases. .. toctree:: :maxdepth: 2 From 345cc46ea769f49ac96cba83fd2477f2709849f9 Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Mon, 2 Sep 2024 10:06:46 +0100 Subject: [PATCH 14/16] fix: button --- docs/source/conf.py | 1 + docs/source/index.rst | 3 +++ 2 files changed, 4 insertions(+) diff --git a/docs/source/conf.py b/docs/source/conf.py index 4564cf39..412b7e87 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -23,6 +23,7 @@ copyright = "2021-2024 XGI Developers" release = "0.8.9" version = release +today = "30-08-2024" # -- General configuration --------------------------------------------------- diff --git a/docs/source/index.rst b/docs/source/index.rst index 273ae63a..0ca36636 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -19,6 +19,9 @@ :color: primary :outline: + XGI |version| released! |today| + + Software for higher-order networks ================================== From d0fefce259bfd34589eafddbabbc489dc961e283 Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Mon, 2 Sep 2024 10:20:07 +0100 Subject: [PATCH 15/16] docs: moved Using XGI to toc --- docs/source/index.rst | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index 0ca36636..96dcb48a 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -46,7 +46,7 @@ interactions are, see a `brief overview `_. 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. +mind. Get started immediately by `installing XGI `_ and checking the `XGI in 1 minute `_ tutorial. @@ -57,6 +57,11 @@ Corresponding 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. More information about the datasets and how to load them is in the `XGI-DATA menu `_. +Projects using XGI +=================== + +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. + Get involved ================== From 5f56d6c902e0268e8bc0c22e8baafe1188185004 Mon Sep 17 00:00:00 2001 From: Maxime Lucas Date: Mon, 2 Sep 2024 10:54:28 +0100 Subject: [PATCH 16/16] doocs: add using xgi to to menu --- docs/source/conf.py | 1 + docs/source/index.rst | 8 ++------ docs/source/using-xgi.rst | 3 +++ 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 412b7e87..978fd912 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -194,6 +194,7 @@ "gallery": [], "contribute": [], "user_guides": [], + "using-xgi": [], } # Add any paths that contain custom themes here, relative to this directory. diff --git a/docs/source/index.rst b/docs/source/index.rst index 96dcb48a..93470563 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -12,7 +12,7 @@ xgi-data gallery contribute - + using-xgi .. button-link:: https://github.com/xgi-org/xgi/releases/tag/v0.8.9 @@ -46,7 +46,7 @@ interactions are, see a `brief overview `_. 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. +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. Get started immediately by `installing XGI `_ and checking the `XGI in 1 minute `_ tutorial. @@ -57,10 +57,6 @@ Corresponding 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. More information about the datasets and how to load them is in the `XGI-DATA menu `_. -Projects using XGI -=================== - -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. Get involved ================== diff --git a/docs/source/using-xgi.rst b/docs/source/using-xgi.rst index 18136e36..5438d7d0 100644 --- a/docs/source/using-xgi.rst +++ b/docs/source/using-xgi.rst @@ -1,3 +1,6 @@ +.. _using_xgi: + + ****************** Projects using XGI ******************