Skip to main content

A scikit-learn compatible library for graph kernels

Project description

GraKeLX Logo


[!NOTE] grakelx is an independent fork of GraKeL by Siglidis, Nikolentzos, Limnios, Giatsidis, Skianis, and Vazirgiannis, originally published in JMLR 2020. This fork continues maintenance and development under the BSD 3-clause license. See LICENSE and the Acknowledgements section below.

Pypi Versions

Upstream Documentation | Paper

grakelx 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, grakelx contains 16 kernels and 3 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 grakelx, 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.

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

Installation

grakelx requires the following packages to be installed:

  • Python (>=3.10)
  • NumPy (>=1.23.0)
  • SciPy (>=1.8.0)
  • Cython (>=0.29.36)
  • cvxopt (>=1.2.0) [optional]
  • future (>=0.16.0)

To install the package, run:

pip install grakelx

For local development with uv:

uv sync --group test
uv run python setup.py build_ext --inplace
uv run pre-commit install

Running tests

To test the package, execute:

uv run pytest

Running examples

cd examples
python shortest_path.py

Cite

If you use grakelx in a scientific publication, please cite the original GraKeL 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

grakelx is distributed under the BSD 3-clause license (same as the original GraKeL). 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. Furthermore, the cvxopt package (a software package for convex optimization) which is an optional dependency of grakelx is GPL licensed.

Acknowledgements

We would like to thank @eddiebergman for modernizing the original GraKeL CI and extending Python support.

This project is a fork of GraKeL by Giannis Siglidis, Giannis Nikolentzos, Stratis Limnios, Christos Giatsidis, Konstantinos Skianis, and Michalis Vazirgiannis, originally published in JMLR 2020 (paper). The original copyright holders are the GraKeL developers. All modifications and additions in this fork are released under the same BSD 3-clause license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

grakelx-0.1.13.tar.gz (1.0 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

grakelx-0.1.13-cp313-cp313-win_amd64.whl (534.1 kB view details)

Uploaded CPython 3.13Windows x86-64

grakelx-0.1.13-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

grakelx-0.1.13-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

grakelx-0.1.13-cp313-cp313-macosx_10_13_x86_64.whl (389.8 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

grakelx-0.1.13-cp313-cp313-macosx_10_13_universal2.whl (709.3 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

grakelx-0.1.13-cp312-cp312-win_amd64.whl (534.9 kB view details)

Uploaded CPython 3.12Windows x86-64

grakelx-0.1.13-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

grakelx-0.1.13-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

grakelx-0.1.13-cp312-cp312-macosx_10_13_x86_64.whl (387.2 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

grakelx-0.1.13-cp312-cp312-macosx_10_13_universal2.whl (701.7 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

grakelx-0.1.13-cp311-cp311-win_amd64.whl (534.1 kB view details)

Uploaded CPython 3.11Windows x86-64

grakelx-0.1.13-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

grakelx-0.1.13-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

grakelx-0.1.13-cp311-cp311-macosx_10_9_x86_64.whl (384.2 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

grakelx-0.1.13-cp311-cp311-macosx_10_9_universal2.whl (697.5 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

grakelx-0.1.13-cp310-cp310-win_amd64.whl (533.9 kB view details)

Uploaded CPython 3.10Windows x86-64

grakelx-0.1.13-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

grakelx-0.1.13-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

grakelx-0.1.13-cp310-cp310-macosx_10_9_x86_64.whl (388.2 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

grakelx-0.1.13-cp310-cp310-macosx_10_9_universal2.whl (707.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file grakelx-0.1.13.tar.gz.

File metadata

  • Download URL: grakelx-0.1.13.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for grakelx-0.1.13.tar.gz
Algorithm Hash digest
SHA256 5f45a530e756ea83a0cd8ecc6fa533a66076a8a04bc0dc1bab4169976c5490b1
MD5 e54ca3073101ae52c7c0272fed4d4559
BLAKE2b-256 3b97584cf7f0d28ad3802ff58f3420ac3b8ce369c1443504449619dd248f3b03

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: grakelx-0.1.13-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 534.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for grakelx-0.1.13-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 28eca6e5c8cee396b04331180833edb6deea72333d8dab084b5dadc279f833f6
MD5 e196776c9d3184ece5a657a05c0dcc28
BLAKE2b-256 17e20f32ae854c2d9e9b106e84a3646b64a70cb3ccb74926f941f9833aa202ee

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for grakelx-0.1.13-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7afd17a8f022de69ec88b9be0cf5b7483e4f73bc1b486b7ae95f6ccda1a4be35
MD5 14424525610ab7b73970b4d513ad38ed
BLAKE2b-256 4252cfed88df0ffced596ab435fd0ffc8b4c783c15d322ea7db7932eb1446dcc

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for grakelx-0.1.13-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a480fe8eff015b4bca96c5d294357639190a25939198f1e667b5db0592b5630e
MD5 4ddfc76db853d8b981f0c36e5831c491
BLAKE2b-256 6469a0be515d8743290beccc752266d21ad6844034e1073cfb1f1b23cc972d11

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for grakelx-0.1.13-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a6c27dda89e70bd9cc9a7f8fe2c5551e1de0af1cbcf02c8646791fc247f11d1a
MD5 dcd880c8e96b6e85326f561fbeaad060
BLAKE2b-256 4ed011d70ad29595c8af11a58e795b0a157244f9240b20416b070fd9b1307eb1

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for grakelx-0.1.13-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 eb2903fc7f91aea810e184d75a8372def17bfb26fb53b1d2b06e3888e0957457
MD5 383390a66c57457668e205c1c1759e59
BLAKE2b-256 51f2864d9f95d92f6377bff4babf56ffba6f21bd21cfa07321d8c296a405e3c4

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: grakelx-0.1.13-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 534.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for grakelx-0.1.13-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 322ae86791fcc579c80325e5a9155ede7e0635a417289d6dccb2cc98848a9948
MD5 f1748231308d9a9d898a30be95912c6b
BLAKE2b-256 bfc143465f86c4fe795834f6e2df337b65d7eb45a2e2369f6b06ee52898f5e54

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for grakelx-0.1.13-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4e2e823a795fc382d60551d2d5a2f5f001f7d53d8459dd6748b26dbcddda7731
MD5 a570dbaae02e5fa608b4e07422493d39
BLAKE2b-256 e851bf5a4c49ebca313007a64ffb0e938fa5629414197c07b1981ba1d4a61597

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for grakelx-0.1.13-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f6c42a9f8696da73e637ba094496c3a7d1f0cb6bfc7e87f84bcdbfa0636213fa
MD5 54a77528d959f04472d2bd28a109e4d2
BLAKE2b-256 8ca6afec2ffd12f87d7435a89ba6e6f60c9cb10020230ef7134b61774c0aea1d

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for grakelx-0.1.13-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a7c2bfe037bb6383a89583a77949f5c3f8c9864ceebe144c828b379de4a4a895
MD5 f31c10a40fd514cfdfaf776eccc48fdd
BLAKE2b-256 80dd47df234e2ef2b450a69a98048cd2ae2192b42bec1685b976cb8dfc61d33c

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for grakelx-0.1.13-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 0a58a764ac278be8daea5b74cc7dd896bc0c18a319b334c0bff1b04f4d063d5a
MD5 de32059b1651bc9af2ca58eb43eebc2e
BLAKE2b-256 80a5f16392808eb6960a91727e28a1b6e6708522c913b9dd454104501c05b327

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: grakelx-0.1.13-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 534.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for grakelx-0.1.13-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ccb8958d4cf3eb0054f4413257b542178f0b7d63120379f8063a2f63f60b711c
MD5 e47f5a0a2e2c698295bf5df8c98bc71c
BLAKE2b-256 2d1787316860eedf884f324cc83f306e4b498cf5572211220fce18a15d524861

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for grakelx-0.1.13-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 27c586a2b3e40a98db6ba17062050fe64964f17ad9c0b396f5c71a74da5c4ba0
MD5 a835aea6d072091c3996c82e7ecfb957
BLAKE2b-256 33831400821e54a9426a1db50467e549e0ed1aee6de4d0267f13ce9494d61d81

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for grakelx-0.1.13-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5443b048690024746192b65da66830190f9d483b281eaeba7cc090f046548873
MD5 93518463ab86687e3d25c39f1158af2f
BLAKE2b-256 edb27ce0a2d1503aaf112905ad05629231c43c02f016a2d3d1debc16a7fd960a

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for grakelx-0.1.13-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9b365c313597a0aafd8c748602f38d836f23fa664dd54b677c3018163b328703
MD5 fc32f7439e962a3c3cd82846435ced1c
BLAKE2b-256 4e583a6cd2b717ce2ef010fca8308a88759432282b20b8aeb4951c4dc3a57742

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for grakelx-0.1.13-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 072eaeda30db60f1a21b4fe2236d381f12e57f12727e7b6124e36d4559126eac
MD5 fa8c6aa29ca4e52a3e0f44ef83bc3938
BLAKE2b-256 2d5c74016225800d087c1732d3dcbaba73e9ef7f9518e66def91d2a0ab0b482e

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: grakelx-0.1.13-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 533.9 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for grakelx-0.1.13-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 152eeea307babe1dce2be8906ef94bae20ea64678c44ee5d99fa6d77e0c3c90c
MD5 e03abbfe09a3c5288fdd2899ea041f01
BLAKE2b-256 9bc053d57ce9a0e3e094b890f0f1bef2f8174151de153ba273f66a304f73ac71

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for grakelx-0.1.13-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ecffc4853cd7a882885dd080cf3f48e904e6867dccd98867e94a8490340b0524
MD5 ea389b9c1b8da1fc5608f52b217b73d4
BLAKE2b-256 d8e6c6c3f717e70913a311808900b069ba3aa567ebcc6059154d00fa44a1387b

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for grakelx-0.1.13-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 615b279a291d15ecb0312255c122ae2dbab775382ec1a45c08feeaeb6b00fef6
MD5 f0bb6dfcf6c2a735ec6a635b416a26da
BLAKE2b-256 a43719e7cf4adb9e5219ded4b03120002596298c3937473217b364ff0c2bf09d

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for grakelx-0.1.13-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 393feddceee5ea61d8d697e57d118d4d73e5641fb1aba7308d61c154290739d1
MD5 08dfd4d02529ebb69518c1187302e8e9
BLAKE2b-256 a1557d2b4077ad1acb91917c265dac8aa3d127098fa78aacaf50326964f0c062

See more details on using hashes here.

File details

Details for the file grakelx-0.1.13-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for grakelx-0.1.13-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b8703bf670e84403325d92a7f7e96761b58fa27f18caebc53b7abf83406e70e0
MD5 0db0680062db16b68e7fb31b88624b33
BLAKE2b-256 14d836f81508065095d0ba8ce6321cd96adfe53b2d235104f3777673bc1134a8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page