Modularitypruning

Latest version: v1.4.1

Safety actively analyzes 681812 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

1.4.1

This release includes a few minor enhancements.

- Added support for Python 3.13
- Reformatted code and documentation to adhere to newer PEP8 guidelines
- Updated test suites to allow for parallel runs when possible

Note that we still support Python 3.8, even though it has reached end of life. Generally speaking, I expect to continue supporting older releases until they become a maintenance burden.

**Full Changelog**: https://github.com/ragibson/ModularityPruning/compare/v1.4.0...v1.4.1

1.4.0

There are a number of separate improvements in this release.

- Improved memory usage and performance of parallel Leiden algorithm optimization (see https://github.com/ragibson/ModularityPruning/issues/13). This also addresses pathologically bad job allocation when the number of runs is in the low 100s.

For example, on a very cheap (~$300) laptop with sweeps of gamma in (0, 2) and omega in (0, 2):
- 1,000,000 runs of a single-layer 32-node, 78-edge graph went from ~3.9 minutes to ~3.7 minutes
- 100 runs of a single-layer 100k-node, 500k-edge graph went from ~22.2 minutes to ~6.0 minutes
- 160,000 runs of a 3-layer 90-node, 416-edge graph went from ~4.3 minutes to ~4.2 minutes
- 50 runs of a 50-layer 25k-node, 102k-edge graph went from ~6.5 minutes to ~6.5 minutes

- Added basic test coverage for all documented functions (see https://github.com/ragibson/ModularityPruning/issues/11).
- This includes tests for all documentation examples, including plotting functionality.
- As part of the parallel Leiden algorithm optimization, we've also added tests to ensure that parallel Leiden has nearly optimal scaling compared to single-threaded optimization.
- Corrected usage of outdated Matplotlib APIs and improved default arguments in plotting functionality.
- Tweaked warnings from common usage to better reflect their importance (see https://github.com/ragibson/ModularityPruning/issues/10).
- Removed warnings about the inefficiency of the Leiden algorithm implementation in `leidenalg` for multi-layer networks as the number of layers increases. Although this inefficiency remains, it is still one of the most widely used modularity optimization implementations.
- Added warnings when multi-layer pruning functions truncate omega to the user-specified limit. This was already mentioned in the documentation but realistically should also be a warning.
- Improved documentation by adding basic descriptions of available multi-layer network topologies and tweaking examples to use parallel Leiden algorithm functions (see https://github.com/ragibson/ModularityPruning/issues/12).

**Full Changelog**: https://github.com/ragibson/ModularityPruning/compare/v1.3.6...v1.4.0

1.3.6

Fix minor documentation error involving an incorrect method link and upgrade ReadtheDocs configurations, integrations, and webhook to a more modern standard.

**Full Changelog**: https://github.com/ragibson/ModularityPruning/compare/v1.3.5...v1.3.6

1.3.5

Add support and testing for Python 3.12, which was released on Monday.

**Full Changelog**: https://github.com/ragibson/ModularityPruning/compare/v1.3.4...v1.3.5

1.3.4

Change python-igraph dependency to igraph in https://github.com/ragibson/ModularityPruning/pull/9

**Full Changelog**: https://github.com/ragibson/ModularityPruning/compare/v1.3.3...v1.3.4

1.3.3

Streamline package README and documentation, especially with respect to linking to the journal article and its supplementary information.

Also simplify the setup and package installation in the GitHub action.

**Full Changelog**: https://github.com/ragibson/ModularityPruning/compare/v1.3.2...v1.3.3

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.