Releases: GiulioRossetti/cdlib
Emperor of the Galaxy
Emperor of the Galaxy is the perfect codename for (a release of) a community detection library.
Many millennia prior to the events of the series (The Hitchhiker's Guide to the Galaxy), the final Emperor of the Galactic Empire (in the Hitchhiker's universe) was placed into a stasis field during his dying moments: thus leaving the Empire with a technically ruling, but actually near-dead Emperor, with all his heirs long since dead. And so today, an Imperial President, elected by the Galactic Assembly, has all the trappings of power, without actually wielding any. This was the office held by Yooden Vranx and Zaphod Beeblebrox.
Emperor of the Galaxy comes with several new features and bugfixes, in particular:
- A completely reorganized readthedocs documentation;
- Support for Dynamic Community Events detection, analysis, validation and I/O;
- Novel measures for clustering comparisons (leveraging clusim as optional dependency)
- Novel CD algorithms;
- Novel and updated viz (community-graph and community events);
What's Changed
- 📝 Fix description of the cut ratio formula [ci skip] by @EdGeber in #224
- Updating vizualisation of communities by @amineitji in #234
- pass partition as 2nd input parameter to the Louvain by @Praveer1981 in #232
- New function - viz.plot_network_highlighted_clusters (collaborating with Remy Cazabet at UCBL) by @amineitji in #235
- Clustering comparison by @GiulioRossetti in #237
- Community events by @GiulioRossetti in #238
New Contributors
- @EdGeber made their first contribution in #224
- @amineitji made their first contribution in #234
- @Praveer1981 made their first contribution in #232
Full Changelog: v0.3.0...v0.4.0
Deep Thought
Deep Thought is the perfect codename for (a release of) a community detection library.
[she] is a computer that was created by a pan-dimensional, hyper-intelligent species of beings (whose three-dimensional protrusions into our universe are ordinary white mice) to come up with the Answer to The Ultimate Question of Life, the Universe, and Everything. Deep Thought is the size of a small city.
When, after seven and a half million years of calculation, the answer finally turns out to be 42, Deep Thought admonishes Loonquawl and Phouchg (the receivers of the Ultimate Answer) that:
"[she] checked it very thoroughly, and that quite definitely is the answer. I think the problem, to be quite honest with you is that you've never actually known what the question was."Douglas Adams - Hitchhiker's Guide to the Galaxy
Deep Thought captures the main aspects of Community Detection:
- Algorithms might take a long time to compute;
- Practitioners search for insights when they decide to apply CD to their data;
- Being the problem ill-posed the answer an algorithm provides makes sense only if the research question, the data, and the assumptions are well-stated and understood from the very beginning.
What's Changed
This version reduces the number of available algorithms to simplify the dependency chain and installation process.
Dependencies upgraded (major breaking changes)
- networkx >= 3.0
Dependencies removed:
- karateclub (hopefully, it will be reintroduced in a later release)
Dependencies made optional:
- pyclustering
- leidenalg
- pycombo
- networkit
- infomap
New CD algorithms:
- Bayan (depends on bayanpy - optional dependency)
Additional notes:
- PiPy installation now has four modalities: vanilla; [C] that includes packages depending on C code (safe for *nix OS); [pypi] that provides for all those pypi dependencies that are not satisfiable on conda; [all] that includes all (pip installable - except for graph-tool) dependencies.
graph-tool
support is maintained, but its dependency is not explicitly introduced (neither in pypi nor in the conda distributions). Its installation has to be fulfilled separately fromcdlib
.bayanpy
depends on Gouroby solver that needs to be installed separately.- if the
infomap
package is not installed,cdlib
will fall back on thepython-igraph
implementation of such an algorithm.
Full Changelog: v0.2.6...v0.3.0
v0.2.6
🆕 CDlib light version (python only dependencies)
v0.2.5
⬆️ python-infomap 1.7.1 support
v0.2.4
:arrow_up: v0.2.4
v0.2.3
:arrow_up: v0.2.3
Blart Versenwald III
Changes:
- Dropped support for Python<=3.7
- Updated optional dependencies (see installation instructions)
- Type annotation for public interfaces
- Code style: Black
Bug fix:
- Infomap
- Minor bug fixes
New algorithms:
- Condor bipartite clustering algorithm
- Threshold Clustering (Guzzi et. al. 2013)
- LSWL
- LSWL+
- mod_m (Clauset2005)
- mod_r (Luo2006)
- Head Tail (Jiang2015)
- Core Expansion (Choumane2020)
- LPANNI (Lu2018)
- LPAM (Ponomarenko2019)
- DCS (Muhammad2016)
- UMSTMO (Asmi2020)
- Kcut (Ruan2007)
- SymmNMF (Kuang2012)
- SCD (Perez2014)
- GEMSEC (Rozemberczki2019)
- pyCombo (Sobolevsky2014)
- walkscan (Hollocou2016)
- Paris (Bonald2018)
- Principled Communities (Ball2011)
- Ricci flow community (Ni2019)
- EnDNTM (Jaiswa2021)
Beeblebrox Zaphod
New Features:
- Dynamic Community Discovery support (general Identify & Match pattern)
- Remote dataset loading
New Algorithms:
- Belief
- Tiles
- CPM bipartite
- Infomap bipartite
- GA-net
Changes/Fix:
- I/O support for compressed files (gzip)
- AGDL bug fix
Almighty Bob
New Features:
- Weighted Communities algorithm
- Chinese Whispers algorithm
- Siblinarity Antichain algorithm
- Support for colourmap and community filtering in community-graph visualization
- Support for Directed/Attributed graph conversion (networkx <-> igraph)
Changes:
- Infomap implementation update
- MCL implementation updated
- Compatibility with Python 3.8
- Minor bug fixes
Arthur Dent
New Features:
- Integration of Graph-tools' CD algorithms
- Integration of karateclub's CD algorithms
- Integration of BiLPA, iLouvain, Eva
- Support for Bipartite Node clustering
- Support for Node Labeled clustering
Changes:
- Markov clustering moved from edge to node based