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