Skip to main content

Documentation  •  Paper

PyPI CI License

GraKeL is a library that provides implementations of several well-established graph kernels. The library unifies these kernels into a common framework. Furthermore, it provides implementations of some frameworks that work on top of graph kernels. Specifically, GraKeL contains 16 kernels and 2 frameworks. The library is compatible with the scikit-learn pipeline allowing easy and fast integration inside machine learning algorithms.


In detail, the following kernels and frameworks are currently implemented:


To learn how to install and use GraKeL, and to find out more about the implemented kernels and frameworks, please read our documentation. To learn about the functionality of the library and about example applications, check out our examples in the examples/ directory and our tutorials in the tutorials/ directory.

In case you find a bug, please open an issue. To propose a new kernel, you can open a feature request.

Installation

The GraKeL library requires the following packages to be installed:

  • Python (>=3.9, <3.13)
  • NumPy (>=1.19.0)
  • SciPy (>=1.12.0)
  • scikit-learn (>=0.24.0)
  • Cython (>=0.29.21)
  • cvxopt (>=1.2.0) [optional]

To install the package, run:

$ pip install grakel

Development

To work on the source, first install uv and then sync the project (this installs the package and all its development dependencies in a .venv):

$ uv sync --all-extras

Running tests

To test the package, execute:

$ uv run pytest

Running examples

$ cd examples
$ python shortest_path.py

Cite

If you use GraKeL in a scientific publication, please cite our paper (http://jmlr.org/papers/volume21/18-370/18-370.pdf):

@article{JMLR:v21:18-370,
  author  = {Giannis Siglidis and Giannis Nikolentzos and Stratis Limnios and Christos Giatsidis and Konstantinos Skianis and Michalis Vazirgiannis},
  title   = {GraKeL: A Graph Kernel Library in Python},
  journal = {Journal of Machine Learning Research},
  year    = {2020},
  volume  = {21},
  number  = {54},
  pages   = {1-5}
}

License

GraKeL is distributed under the BSD 3-clause license. The library makes use of the C++ source code of BLISS (a tool for computing automorphism groups and canonical labelings of graphs) which is LGPL licensed. Futhermore, the cvxopt package (a software package for convex optimization) which is an optional dependency of GraKeL is GPL licensed.

Acknowledgements

We would like to thank @SneachChea for a round of tooling, CI, and docs modernization.

We would like to thank @eddiebergman for modernizing our CI and extending our python support.


Metadata

Release files for GraKeL 0.1.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for GraKeL 0.1.11
File Size Uploaded
grakel-0.1.11.tar.gz 1.1 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for GraKeL 0.1.11
File
grakel-0.1.11-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
grakel-0.1.11-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
grakel-0.1.11-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
grakel-0.1.11-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
grakel-0.1.11-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details
grakel-0.1.11-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
grakel-0.1.11-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
grakel-0.1.11-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
grakel-0.1.11-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
grakel-0.1.11-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details
grakel-0.1.11-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
grakel-0.1.11-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
grakel-0.1.11-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
grakel-0.1.11-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
grakel-0.1.11-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details
grakel-0.1.11-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
grakel-0.1.11-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
grakel-0.1.11-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
grakel-0.1.11-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
grakel-0.1.11-cp39-cp39-macosx_10_9_universal2.whl CPython 3.9 CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) Details

Total release size: 28.1 MB

Release files / grakel-0.1.11.tar.gz

Download URL grakel-0.1.11.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
36e4e6636b3a5657b820aa1b0d01e5f1f3ff0e13bd5d82449f68d07403f411a4
BLAKE2b-256 checksum
How to use checksums
79f4425fe8c7bba0cbecfc3c7963ceac17730a3e9c1bdfbed57c9ecbe87b448c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp312-cp312-win_amd64.whl

Download URL grakel-0.1.11-cp312-cp312-win_amd64.whl
Size 851.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
08da02cbee6c5d7ed4a34ab76207228b448865cfe6f17ee5e2ec473853d5e473
BLAKE2b-256 checksum
How to use checksums
2f2ab6abf5049b4fe47bdf473c330002e3d8564282fc04b9ee989f277e1da47d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL grakel-0.1.11-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.1 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8baeeb951e59aa66b56830bd992ea99ade024cc59501105417ed428a27168589
BLAKE2b-256 checksum
How to use checksums
23f84f5d6a781e2197e090378f1688b67993196cf852ef0d973821994e85106d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL grakel-0.1.11-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 2.0 MB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
571ceffdcba158e6195d7ab98ed92e67b3c9669fba06c6dfc7e3dce5c85e9d46
BLAKE2b-256 checksum
How to use checksums
5e5285a91f1ec33d2cafcd9303d3e72f6e1998355a9de082e548547369cf6d92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp312-cp312-macosx_10_13_x86_64.whl

Download URL grakel-0.1.11-cp312-cp312-macosx_10_13_x86_64.whl
Size 709.9 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
e0e62d76e544d7b5abaf185567aa007ddedcd7d07990c5ea920027e06ab51ccd
BLAKE2b-256 checksum
How to use checksums
24166885e52e0fe1eb01785d001d708d16b1b75aca9710c066d76d23cdf51b84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp312-cp312-macosx_10_13_universal2.whl

Download URL grakel-0.1.11-cp312-cp312-macosx_10_13_universal2.whl
Size 1.1 MB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
7bbc416de6637f315a260612552110a76d3aff32b436293949d17489054095c8
BLAKE2b-256 checksum
How to use checksums
169288df3bbe16c68700cf2a7e715f5fcd26da29b07a74b1cffa0199b880e583
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp311-cp311-win_amd64.whl

Download URL grakel-0.1.11-cp311-cp311-win_amd64.whl
Size 851.2 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
0052d0e8eb291e71e21a1ea2f1ad963190ba737b505953cfc95505becbd1fe83
BLAKE2b-256 checksum
How to use checksums
c829e0fb746afaeac9b6622bd6d3508e8a43776987e6209f4198476c7b56bd7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL grakel-0.1.11-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.1 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f05f03c1ca23919bbb1e9d9132de4e1791e004cdd284a7e98d2897ac8495f0a7
BLAKE2b-256 checksum
How to use checksums
454199c559b084cb129e33ddb0f107cf75af92577db8b9b4ce45bbdaeb6e3271
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL grakel-0.1.11-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 2.1 MB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a252c16e575c2d18b3408b0bf89c30302a28edd393f10ff1354c3c605f1d4e79
BLAKE2b-256 checksum
How to use checksums
233e50bfad38b92cd621f0b62e3c623353db1cbc1a2bd489e714528917a875aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp311-cp311-macosx_10_9_x86_64.whl

Download URL grakel-0.1.11-cp311-cp311-macosx_10_9_x86_64.whl
Size 706.1 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
e022d361dd019cd679b1e97a43b8a535a31ec10ed14d9f6e19394470074edee2
BLAKE2b-256 checksum
How to use checksums
f0e2bd25269bc9043b920898ef3fd296fe12b2cbc86ff9749c99971b05d41038
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp311-cp311-macosx_10_9_universal2.whl

Download URL grakel-0.1.11-cp311-cp311-macosx_10_9_universal2.whl
Size 1.0 MB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
f6536862393285ec4522adc6fb6767990b0c33f7cc299b69cd864590de2e9f51
BLAKE2b-256 checksum
How to use checksums
32cdb237b15bdbb009a295b7070dfd925178ab793b1ffecff09309adbcef0ce4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp310-cp310-win_amd64.whl

Download URL grakel-0.1.11-cp310-cp310-win_amd64.whl
Size 851.8 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
f229249a138e22639065b8269cabe5ac685edcd685e24b843427499fe3153ce5
BLAKE2b-256 checksum
How to use checksums
a874ecbd8ac42fde4de35db8bca1dff7465b93334b7ea45baf92e1be2c4005ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL grakel-0.1.11-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.1 MB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cc81e41dcc857fe93686d6aa69f3d355e5923c8b0b94e35e548537940e528c4e
BLAKE2b-256 checksum
How to use checksums
2eb55d3ac5508f45f9cf320ad4cd512b8dd2eae73db890ef041038cb34677939
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL grakel-0.1.11-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 2.0 MB
Tags CPython 3.10 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a88e1b04c3c39003cd21064e09d35d2d42416983b27cc6e75b9c073bc934a171
BLAKE2b-256 checksum
How to use checksums
8e30c9d424f25ac3747c473c3052510f8247f9fef85ce7d28e704dd8ab62287f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp310-cp310-macosx_10_9_x86_64.whl

Download URL grakel-0.1.11-cp310-cp310-macosx_10_9_x86_64.whl
Size 706.9 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
ad7e7b69f310b36d25061e7f95f05dd8044c3695cb02bfcc42941134ae591a27
BLAKE2b-256 checksum
How to use checksums
ff735f0b65f9e3c7003b182f359a891225585fac61d085be6afe12d36923165b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp310-cp310-macosx_10_9_universal2.whl

Download URL grakel-0.1.11-cp310-cp310-macosx_10_9_universal2.whl
Size 1.0 MB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
84cfe4c4d4bec6e09d984da22a56083b6f3408d24f29d1e272254b9f29631dc1
BLAKE2b-256 checksum
How to use checksums
870429567f225908d03da00e662d18886c2e2a0553258e85910883cf227f29d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp39-cp39-win_amd64.whl

Download URL grakel-0.1.11-cp39-cp39-win_amd64.whl
Size 853.4 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
a4d7b024fd6eadf5413661a0dcb9156fc53e82e53110c7435adfb9be693ebf77
BLAKE2b-256 checksum
How to use checksums
152150b6ed402ba931c244d3975dab9756d810abc20844221441fe0d4c0aa908
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL grakel-0.1.11-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.1 MB
Tags CPython 3.9 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
733a42759a40816b1ac5a73dce6d003ac3e58fe25846a72080689860d8c2e214
BLAKE2b-256 checksum
How to use checksums
31721ae4b2841f199c03f6904ca3f55541fe0e80cbb303d6c5ad24f2cdc707ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL grakel-0.1.11-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 2.0 MB
Tags CPython 3.9 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
5bebc2343772ee88ebbbbcd299ffddd57554cdb5b6f1e4f26eb24ff858c74dcb
BLAKE2b-256 checksum
How to use checksums
2a0ddfea948d009ce03e7d6df5199d395e3fb690bcbb46fda03fc32ef84a4fb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp39-cp39-macosx_10_9_x86_64.whl

Download URL grakel-0.1.11-cp39-cp39-macosx_10_9_x86_64.whl
Size 708.9 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
3b69d707b1a3c859acb206202cff08753622d539e453be9b42007a86742dcb87
BLAKE2b-256 checksum
How to use checksums
a422cd36622f478c6251565c883e7a3353802cac6b14e0ce931363e42519ea23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / grakel-0.1.11-cp39-cp39-macosx_10_9_universal2.whl

Download URL grakel-0.1.11-cp39-cp39-macosx_10_9_universal2.whl
Size 1.1 MB
Tags CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
7499ffcb0442e56408368d47e037044b44210d8490664ba15a5844d12d3f61ae
BLAKE2b-256 checksum
How to use checksums
af67dbb38214ae9844d02e5be9787c95087a64d9cc64bc3034950101a6ae9ffb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.1.11 This release

21 release files

0.1.9

20 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page