Graphion
Graphion is a modular and extensible Python framework for building graph-based data processing pipelines.
Instead of providing a single clustering or graph algorithm, Graphion offers reusable building blocks for constructing complete graph analytics workflows, from feature relations to graph construction, partition detection, refinement, reduction, and evaluation.
The framework is designed around interchangeable pipeline stages, allowing researchers and developers to combine different algorithms with a consistent interface.
Project status: Early development (pre-release)
Features
Graphion currently provides the following components:
Relation Builders
Build pairwise relations between feature vectors using multiple similarity and distance metrics.
Implemented metrics include:
- Cosine Similarity
- Dot Product
- Pearson Correlation
- Angular Similarity
- Euclidean Distance
- Manhattan Distance
- Chebyshev Distance
- Minkowski Distance
- Canberra Distance
- Bray-Curtis Distance
- Hamming Distance
- Jaccard Similarity
- Weighted Jaccard
- Dice Similarity
- Overlap Coefficient
- Tanimoto Similarity
- RBF Similarity
Graph Builders
Construct graphs from pairwise relations using multiple strategies.
Implemented builders include:
- Threshold Graph
- Radius Graph
- k-Nearest Neighbors (kNN)
- Mutual kNN
- Symmetric kNN
- Weighted kNN
- Adaptive kNN
- kNN + Threshold
- Shared Nearest Neighbor (SNN)
- Relative Neighborhood Graph (RNG)
- Minimum Spanning Tree (MST)
Graph Refiners
Graph transformation stages.
Currently available:
- Identity Refiner
Partition Detectors
Detect graph communities using interchangeable algorithms.
Implemented algorithms include:
- Connected Components
- Leiden
- Louvain
- Label Propagation
- Walktrap
- Fast Greedy
- Girvan-Newman
- Spectral Clustering
- Agglomerative Clustering
- Infomap
- Identity
Partition Refiners
Post-process detected communities.
Currently available:
- Identity Refiner
Reducers
Dimensionality reduction modules.
Implemented reducers:
- PCA
- Truncated SVD
- Random Projection
- UMAP
- t-SNE
- Isomap
- Autoencoder
- Identity
Evaluation
Built-in evaluation utilities for:
- Feature sets
- Graphs
- Partition sets
- Feature partitions
Design Principles
Graphion is designed around several core principles:
- Modular architecture
- Consistent interfaces
- Pluggable algorithms
- Strong typing
- Clear separation of responsibilities
- Pipeline-oriented execution
- Easy extensibility
Every processing stage follows a common execution interface, making it straightforward to replace one algorithm with another.
Project Structure
Graphion/
│
├── builders/
│ ├── relation/
│ └── graph/
│
├── reducers/
│
├── refiners/
│ ├── graph/
│ └── partition/
│
├── detectors/
│ └── partition/
│
├── evaluation/
│
└── core/
├── interfaces/
├── models/
├── results/
├── errors/
└── types.py
Installation
Graphion is currently under active development.
Clone the repository:
git clone https://github.com/sahrayi/Graphion.git
Install in editable mode:
pip install -e .
Roadmap
Planned features include:
- Additional graph construction algorithms
- More community detection methods
- Hierarchical partition refinement
- Graph embedding modules
- Visualization utilities
- Benchmark suite
- Documentation website
- Comprehensive test coverage
Related Projects
Graphion serves as the foundation for higher-level graph analytics libraries.
For example:
- GraphTopic (graph-based topic discovery)
License
MIT License
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file graphion-0.0.2.tar.gz.
File metadata
- Download URL: graphion-0.0.2.tar.gz
- Upload date:
- Size: 60.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5af24f6fabbb3a76fa66186f5562d3310ddf35ba113522244c21fd94180486b5
|
|
| MD5 |
a102434363ab319c422931c7b8e7bd0f
|
|
| BLAKE2b-256 |
4c0e3c272671b2d921aa787495faa96c6b97b69797a2abf8a75735f6848309e3
|
File details
Details for the file graphion-0.0.2-py3-none-any.whl.
File metadata
- Download URL: graphion-0.0.2-py3-none-any.whl
- Upload date:
- Size: 98.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7bd3a8a52ac07ce77c0804ce1ed6242f29f6eee2b994203fed866f97ae3f7e7c
|
|
| MD5 |
64b19c75bfd2f23b513b3d4e86bbeda5
|
|
| BLAKE2b-256 |
775ef31973f037120082d0c4c061558ccd5902700a1677e71f020186a33a781f
|