From b54f52792152562b447464032e5a51c75d0fc7db Mon Sep 17 00:00:00 2001 From: Nicholas Landry Date: Mon, 13 May 2024 12:29:18 -0400 Subject: [PATCH 1/4] Update license and contributing --- HOW_TO_CONTRIBUTE.md | 5 ++-- LICENSE.md | 52 +------------------------------------- README.md | 2 +- docs/source/about.rst | 2 +- docs/source/conf.py | 2 +- docs/source/index.rst | 2 +- long_description.rst | 2 +- requirements/developer.txt | 2 +- 8 files changed, 9 insertions(+), 60 deletions(-) diff --git a/HOW_TO_CONTRIBUTE.md b/HOW_TO_CONTRIBUTE.md index fa1599816..2b66b4c09 100644 --- a/HOW_TO_CONTRIBUTE.md +++ b/HOW_TO_CONTRIBUTE.md @@ -13,9 +13,8 @@ Please note we have a [code of conduct](/CODE_OF_CONDUCT.md), please follow it i 5. [Optional, but STRONGLY preferred] Run `pylint xgi/ --disable all --enable W0611` and `nbqa pylint . --disable all --enable W0611` and remove any unnecessary dependencies. 6. [Optional, but STRONGLY preferred] Run `isort .` and `nbqa isort .` to sort any new import statements in the source code and tutorials. 7. [Optional, but STRONGLY preferred] Run `black .` for consistent styling. -8. Update the "Current Version" section of CHANGELOG.md with overview of changes to the interface and add the usernames of all contributors. -9. Submit Pull Request with a list of changes, links to issues that it addresses (if applicable) -10. You may merge the Pull Request in once you have the sign-off of at least one other developer, or if you do not have permission to do that, you may request the reviewer to merge it for you. +8. Submit Pull Request with a list of changes, links to issues that it addresses (if applicable) +9. You may merge the Pull Request in once you have the sign-off of at least one other developer, or if you do not have permission to do that, you may request the reviewer to merge it for you. ## New Version process 1. Make sure that the Github Actions workflow runs without any errors. diff --git a/LICENSE.md b/LICENSE.md index 0407be647..ac2d4fcc2 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,6 +1,6 @@ XGI is distributed with the 3-clause BSD license. -Copyright (C) 2023, XGI Developers +Copyright (C) 2024, XGI Developers All rights reserved. @@ -31,53 +31,3 @@ 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. - ----------------------------------------------------------------------- -HyperNetX - -Copyright © 2018, Battelle Memorial Institute - -Battelle Memorial Institute (hereinafter Battelle) hereby grants permission to any person or entity lawfully obtaining a copy of this software and associated documentation files (hereinafter “the Software”) to redistribute and use the Software in source and binary forms, with or without modification. Such person or entity may use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and may permit others to do so, subject to the following conditions: - -Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimers. -Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other -Other than as used herein, neither the name Battelle Memorial Institute or Battelle may be used in any form whatsoever without the express written consent of Battelle. -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 BATTELLE 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. - - ----------------------------------------------------------------------- -NetworkX is distributed with the 3-clause BSD license. - -Copyright (C) 2004-2021, NetworkX Developers -Aric Hagberg -Dan Schult -Pieter Swart -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 name of the NetworkX 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. diff --git a/README.md b/README.md index 1118c3725..e5891a4ca 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ We acknowledge the importance of good software to support research, and we note ## License Released under the 3-Clause BSD license (see [`LICENSE.md`](LICENSE.md)) -Copyright (C) 2021-2023 XGI Developers +Copyright (C) 2021-2024 XGI Developers The XGI library has copied or modified code from the HyperNetX and NetworkX libraries, the licenses of which can be found in our [license file](LICENSE.md) diff --git a/docs/source/about.rst b/docs/source/about.rst index 401edcbdf..95883e85a 100644 --- a/docs/source/about.rst +++ b/docs/source/about.rst @@ -109,4 +109,4 @@ License This project is licensed under the `BSD 3-Clause License `_. -Copyright (C) 2021-2023 XGI Developers +Copyright (C) 2021-2024 XGI Developers diff --git a/docs/source/conf.py b/docs/source/conf.py index 3304d35bd..621937869 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -20,7 +20,7 @@ # -- Project information ----------------------------------------------------- project = "XGI" -copyright = "Copyright (C) 2021-2023 XGI Developers" +copyright = "Copyright (C) 2021-2024 XGI Developers" release = "0.8.5" # -- General configuration --------------------------------------------------- diff --git a/docs/source/index.rst b/docs/source/index.rst index 63f9dd9de..852e7a7a6 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -192,4 +192,4 @@ License This project is licensed under the `BSD 3-Clause License `_. -Copyright (C) 2021-2023 XGI Developers +Copyright (C) 2021-2024 XGI Developers diff --git a/long_description.rst b/long_description.rst index 4410fef7c..e50d2faf4 100644 --- a/long_description.rst +++ b/long_description.rst @@ -71,4 +71,4 @@ License ------- Released under the 3-Clause BSD license (see the `license file `_) -Copyright (C) 2021-2023 XGI Developers \ No newline at end of file +Copyright (C) 2021-2024 XGI Developers \ No newline at end of file diff --git a/requirements/developer.txt b/requirements/developer.txt index 98cc4706e..2ac54bb51 100644 --- a/requirements/developer.txt +++ b/requirements/developer.txt @@ -1,4 +1,4 @@ -black[jupyter]==22.3.0 +black[jupyter]>=24.3 pre-commit>=2.12 isort==5.10.1 pylint>=2.10 From 913fca6411b1e341bcf440ef974fa0bd0274548f Mon Sep 17 00:00:00 2001 From: Nicholas Landry Date: Mon, 13 May 2024 12:32:58 -0400 Subject: [PATCH 2/4] add acknowledgement --- xgi/algorithms/connected.py | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/xgi/algorithms/connected.py b/xgi/algorithms/connected.py index 141f2aa96..21472f895 100644 --- a/xgi/algorithms/connected.py +++ b/xgi/algorithms/connected.py @@ -188,20 +188,6 @@ def node_connected_component(H, n): raise XGIError("Specified node is not in the hypergraph!") -def _plain_bfs(H, source): - """A fast BFS node generator""" - seen = set() - nextlevel = {source} - while nextlevel: - thislevel = nextlevel - nextlevel = set() - for v in thislevel: - if v not in seen: - seen.add(v) - nextlevel.update(H.nodes.neighbors(v)) - return seen - - def largest_connected_hypergraph(H, in_place=False): """ A function to find the largest connected hypergraph from a data set. @@ -242,3 +228,21 @@ def largest_connected_hypergraph(H, in_place=False): return subhypergraph(H, nodes=connected_nodes).copy() else: H.remove_nodes_from(set(H.nodes).difference(connected_nodes)) + + +def _plain_bfs(H, source): + """A fast BFS node generator + + Source: + https://networkx.org/documentation/stable/_modules/networkx/algorithms/components/connected.html + """ + seen = set() + nextlevel = {source} + while nextlevel: + thislevel = nextlevel + nextlevel = set() + for v in thislevel: + if v not in seen: + seen.add(v) + nextlevel.update(H.nodes.neighbors(v)) + return seen From 81e43997f0471d7497a66b24c63069754911b8c6 Mon Sep 17 00:00:00 2001 From: Nicholas Landry Date: Tue, 14 May 2024 09:55:53 -0400 Subject: [PATCH 3/4] Softened the language in contributing --- HOW_TO_CONTRIBUTE.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/HOW_TO_CONTRIBUTE.md b/HOW_TO_CONTRIBUTE.md index 2b66b4c09..ea5f08033 100644 --- a/HOW_TO_CONTRIBUTE.md +++ b/HOW_TO_CONTRIBUTE.md @@ -10,11 +10,16 @@ Please note we have a [code of conduct](/CODE_OF_CONDUCT.md), please follow it i 2. [Optional, but STRONGLY preferred] Add unit tests for features being added or bugs being fixed. 3. [Optional, but STRONGLY preferred] Include any new method/function in the corresponding docs file. 4. Run `pytest` to verify all unit tests pass. -5. [Optional, but STRONGLY preferred] Run `pylint xgi/ --disable all --enable W0611` and `nbqa pylint . --disable all --enable W0611` and remove any unnecessary dependencies. -6. [Optional, but STRONGLY preferred] Run `isort .` and `nbqa isort .` to sort any new import statements in the source code and tutorials. -7. [Optional, but STRONGLY preferred] Run `black .` for consistent styling. -8. Submit Pull Request with a list of changes, links to issues that it addresses (if applicable) -9. You may merge the Pull Request in once you have the sign-off of at least one other developer, or if you do not have permission to do that, you may request the reviewer to merge it for you. +5. Identify the unnecessary imports in the + 1. source code by running `pylint xgi/ --disable all --enable W0611` + 2. notebooks by running `nbqa pylint . --disable all --enable W0611` +6. Remove these unnecessary imports. +7. Sort the import statements in the + 1. source code by running `isort .` + 2. notebooks by running `nbqa isort .` to sort any new import statements in the source code and tutorials. +8. Format the source code and notebooks by running `black .` for consistent styling. +9. Submit Pull Request with a list of changes, links to issues that it addresses (if applicable) +10. You may merge the Pull Request in once you have the sign-off of at least one other developer, or if you do not have permission to do that, you may request the reviewer to merge it for you. ## New Version process 1. Make sure that the Github Actions workflow runs without any errors. From 6d12a1028a57b16e8efdee7136310142baa80af4 Mon Sep 17 00:00:00 2001 From: Nicholas Landry Date: Wed, 15 May 2024 13:31:22 -0400 Subject: [PATCH 4/4] Added refs --- docs/source/using-xgi.rst | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/docs/source/using-xgi.rst b/docs/source/using-xgi.rst index b30788aeb..2efaa2552 100644 --- a/docs/source/using-xgi.rst +++ b/docs/source/using-xgi.rst @@ -2,7 +2,7 @@ Projects using XGI ****************** -XGI has been used in a variety of published work and other software. +XGI has been used in a variety of published work and other software. This is a list of projects that use XGI in substantive ways. Articles are listed by year and then alphabetically by the last name of the first author (and title if necessary). @@ -22,6 +22,11 @@ Nicholas W. Landry, Jean-Gabriel Young, and Nicole Eikmeier, "The simpliciality :bdg-link-primary-line:`Paper ` :bdg-link-primary-line:`Code ` +Leonie Neuhäuser, Michael Scholkemper, Francesco Tudisco, and Michael T. Schaub, "Learning the effective order of a hypergraph dynamical system", *Science Advances* **10**,eadh4053 (2024). + +:bdg-link-primary-line:`Paper ` +:bdg-link-primary-line:`Code ` + 2023 ---- @@ -62,6 +67,11 @@ Gonzalo Contreras-Aso, Regino Criado, and Miguel Romance, "Beyond directed hyper :bdg-link-primary-line:`Paper ` :bdg-link-primary-line:`Code ` +Robin Delabays, Giulia De Pasquale, Florian Dörfler, Yuanzhao Zhang, "Hypergraph reconstruction from dynamics", arXiv:2402.00078 (2024). + +:bdg-link-primary-line:`Paper ` +:bdg-link-primary-line:`Code ` + Maxime Lucas, Luca Gallo, Arsham Ghavasieh, Federico Battiston, and Manlio De Domenico, "Functional reducibility of higher-order networks", arXiv:2404.08547 (2024). :bdg-link-primary-line:`Paper ` @@ -88,6 +98,14 @@ Yuanzhao Zhang, Per Sebastian Skardal, Federico Battiston, Giovanni Petri, Maxim Theses ====== +2024 +---- + +Yifei (Bell) Luo, "Efficient sampling of configuration model random hypergraphs", (2024). + +2023 +---- + Leonie Neuhäuser, "Modelling the effect of groups on network structure and dynamics", (2023). :bdg-link-primary-line:`Thesis `