Welcome to Spektral
Spektral is a Python library for graph deep learning, based on Keras and TensorFlow. The main goal of this project is to provide a simple but flexible framework for creating graph neural networks (GNNs).
You can use Spektral for classifying the nodes of a network, predicting molecular properties, generating new graphs with GANs, clustering nodes, predicting links, and any other task where data is described by graphs.
Spektral implements some of the most popular layers for graph deep learning, including:
- Graph convolutional networks (GCN)
- Chebyshev networks (ChebNets)
- GraphSage
- Edge-conditioned convolutions (ECC)
- Graph attention networks (GAT)
- ARMA convolutions
- Approximated personalized propagation of neural predictions (APPNP)
- Graph isomorphism networks (GIN)
You can also find pooling layers, including:
- Top-K pooling
- Self-attention graph (SAG) pooling
- MinCUT pooling
- DiffPool
- Global sum, average, and max pooling
- Global gated attention pooling
Spektral also includes lots of utilities for your graph deep learning projects.
See how to get started with Spektral and have a look at the examples for some project templates.
The source code of the project is available on Github.
Read the documentation here.
Installation
Spektral is compatible with Python 3.5+, and is tested on Ubuntu 16.04+ and MacOS. Other Linux distros should work as well, but Windows is not supported for now.
To install the required dependencies on Ubuntu run:
$ sudo apt install graphviz libgraphviz-dev libcgraph6
Some features of Spektral also require the following optional dependencies:
- RDKit, a library for cheminformatics and molecule manipulation (available through Anaconda);
- dyfunconn, a library to build functional connectivity networks (available through PyPi);
The simplest way to install Spektral is from PyPi:
$ pip install spektral
To install Spektral from source, run this in a terminal:
$ git clone https://github.com/danielegrattarola/spektral.git
$ cd spektral
$ python setup.py install # Or 'pip install .'
Contributing
Spektral is an open source project available on Github, and contributions of all types are welcome. Feel free to open a pull request if you have something interesting that you want to add to the framework.
Metadata
Release files for spektral 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| spektral-0.1.1.tar.gz | 49.1 kB | Without provenance | Details for spektral-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| spektral-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for spektral-0.1.1-py3-none-any.whl |
Total release size: 111.3 kB
Release files / spektral-0.1.1.tar.gz
| Download URL | spektral-0.1.1.tar.gz |
|---|---|
| Size | 49.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
626e11d14e5928a360a0f3efc098b3c2b240a33ee9af513e5a8337141f65b779
|
|
BLAKE2b-256 checksum How to use checksums |
3619c7f141a3739737c0b615152de35c1de5799abc5ae6493e91415836ddcac5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.5.2
|
Release files / spektral-0.1.1-py3-none-any.whl
| Download URL | spektral-0.1.1-py3-none-any.whl |
|---|---|
| Size | 62.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7c7598bd08638b70ebdb6b04945ca2ab150393510c9fb54875c105b03f33628c
|
|
BLAKE2b-256 checksum How to use checksums |
f91c95f93635492daed209aed86c43223ccb96fe48ac907d72dbb9466e681d87
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.5.2
|
Security for spektral 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.