diff --git a/.isort.cfg b/.isort.cfg index 59dc1d7c5..09fc2ea39 100644 --- a/.isort.cfg +++ b/.isort.cfg @@ -1,2 +1,2 @@ [settings] -skip=__init__.py \ No newline at end of file +skip=__init__.py, benchmarks/env \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 4345cc7b7..b497c3e12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,28 @@ # Changelog +## v0.4.3 +* `Hypergraph.has_edge` is now `IDView.lookup`, `Hypergraph.duplicate_edges` is now `IDView.duplicates`, and `utilities.convert_labels_to_integer` is now `function.convert_labels_to_integer` ([#150](https://github.com/ComplexGroupInteractions/xgi/pull/150)). +* Added some unit tests for the convert module, the function module, and the classic generators module. Fixed for minor bugs encountered while writing tests and added documentation to Read The Docs for the drawing module. ([#153](https://github.com/ComplexGroupInteractions/xgi/pull/153)) +* Fixed a bug in `remove_node_from_edge()` ([#154](https://github.com/ComplexGroupInteractions/xgi/pull/154)). +* Implemented computation of moments for NodeStat and EdgeStat ([#155](https://github.com/ComplexGroupInteractions/xgi/pull/155)). +* Implemented weak and strong node removal as per issue [#167](https://github.com/ComplexGroupInteractions/xgi/issues/76) ([#156](https://github.com/ComplexGroupInteractions/xgi/pull/156)). +* Added a dynamics module and created a Kuramoto model synchronization function ([#159](https://github.com/ComplexGroupInteractions/xgi/pull/159)). +* Added a cleanup method that removes artifacts specified by the user: multi-edges, singletons, isolates. It also can convert all labels to consecutive integers ([#161](https://github.com/ComplexGroupInteractions/xgi/pull/161)). +* Modified the `duplicates()` method to not include the first instance of the node/edge in the list of duplicates ([#161](https://github.com/ComplexGroupInteractions/xgi/pull/161)). +* Converted all instances of edges to sets from lists in response to issue [#158](https://github.com/ComplexGroupInteractions/xgi/issues/158) ([#162](https://github.com/ComplexGroupInteractions/xgi/pull/162)). +* Added lambda function default arguments for $f$, $g$, $\varphi$, $\psi$ as defined by Tudisco and Higham. Default behavior is identical as before. Fixes [#132](https://github.com/ComplexGroupInteractions/xgi/issues/132) ([#165](https://github.com/ComplexGroupInteractions/xgi/pull/165)). +* Added `sum()` as a stats method ([#168](https://github.com/ComplexGroupInteractions/xgi/pull/168)). +* Added a benchmarking suite for the core hypergraph data structure using airspeed velocity ([#170](https://github.com/ComplexGroupInteractions/xgi/pull/170)). +* Fixed issue [#171](https://github.com/ComplexGroupInteractions/xgi/issues/171) ([#172](https://github.com/ComplexGroupInteractions/xgi/pull/172)) + +Contributors: @nwlandry, @leotrs, and @saad1282 + ## v0.4.2 * Keyword arguments are now consistent in the `draw()` function ([#148](https://github.com/ComplexGroupInteractions/xgi/pull/148)). * Notebooks are now formatted with black and the requirements have been updated to reflect this ([#148](https://github.com/ComplexGroupInteractions/xgi/pull/148)). +Contributors: @nwlandry + ## v0.4.1 * Added the ability to color nodes and edges in `xgi.draw()` by value, iterable, or NodeStat/EdgeStat ([#139](https://github.com/ComplexGroupInteractions/xgi/pull/139), [#142](https://github.com/ComplexGroupInteractions/xgi/pull/142), and [#143](https://github.com/ComplexGroupInteractions/xgi/pull/143)). * Fixed the distortion of the node aspect ratio with different figure sizes in [Issue #137](https://github.com/ComplexGroupInteractions/xgi/issues/137). diff --git a/CITATION.cff b/CITATION.cff index 2acfe6fbe..94041b658 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -24,5 +24,5 @@ cff-version: "1.1.0" license: "BSD-3" message: "If you use this software, please cite it using these metadata." title: XGI -version: "0.4.2" +version: "0.4.3" ... \ No newline at end of file diff --git a/benchmarks/benchmarks/bench_core_hypergraph.py b/benchmarks/benchmarks/bench_core_hypergraph.py index 3e8c9575b..92867308b 100644 --- a/benchmarks/benchmarks/bench_core_hypergraph.py +++ b/benchmarks/benchmarks/bench_core_hypergraph.py @@ -1,7 +1,8 @@ -from .common import Benchmark +import pandas as pd import xgi -import pandas as pd + +from .common import Benchmark class CoreHypergraph(Benchmark): diff --git a/benchmarks/benchmarks/common.py b/benchmarks/benchmarks/common.py index 1798d2490..705022204 100644 --- a/benchmarks/benchmarks/common.py +++ b/benchmarks/benchmarks/common.py @@ -1,6 +1,7 @@ -import numpy import random +import numpy + # Various pre-crafted datasets/variables for testing # !!! Must not be changed -- only appended !!! # while testing numpy we better not rely on numpy to produce random diff --git a/docs/source/conf.py b/docs/source/conf.py index 75528b42b..5a031c5a4 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -25,7 +25,7 @@ author = "Nicholas W. Landry, Leo Torres, Iacopo Iacopini, Maxime Lucas, Giovanni Petri, Alice Patania" # The full version, including alpha/beta/rc tags -release = "0.4.2" +release = "0.4.3" # -- General configuration --------------------------------------------------- diff --git a/setup.py b/setup.py index 1dc99e14c..c6a471e85 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ import setuptools from setuptools import setup -__version__ = "0.4.2" +__version__ = "0.4.3" if sys.version_info < (3, 7): sys.exit("XGI requires Python 3.7 or later.")