{ "info": { "author": "Daniele Grattarola", "author_email": "daniele.grattarola@gmail.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "\n

\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n## Welcome to Spektral\nSpektral is a Python library for graph deep learning, based on Keras and TensorFlow.\nThe main goal of this project is to provide a simple but flexible framework for creating graph neural networks (GNNs).\n\nYou 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. \n\nSpektral implements some of the most popular layers for graph deep learning, including: \n\n- [Graph convolutional networks (GCN)](https://arxiv.org/abs/1609.02907)\n- [Chebyshev networks (ChebNets)](https://arxiv.org/abs/1606.09375)\n- [GraphSage](https://arxiv.org/abs/1706.02216)\n- [Edge-conditioned convolutions (ECC)](https://arxiv.org/abs/1704.02901)\n- [Graph attention networks (GAT)](https://arxiv.org/abs/1710.10903)\n- [ARMA convolutions](https://arxiv.org/abs/1901.01343)\n- [Approximated personalized propagation of neural predictions (APPNP)](https://arxiv.org/abs/1810.0599)\n- [Graph isomorphism networks (GIN)](https://arxiv.org/abs/1810.00826)\n\nYou can also find [pooling layers](https://danielegrattarola.github.io/spektral/layers/pooling/), including:\n\n- [Top-K pooling](http://proceedings.mlr.press/v97/gao19a/gao19a.pdf)\n- [Self-attention graph (SAG) pooling](https://arxiv.org/abs/1904.08082)\n- [MinCUT pooling](https://arxiv.org/abs/1907.00481)\n- [DiffPool](https://arxiv.org/abs/1806.08804)\n- Global sum, average, and max pooling\n- [Global gated attention pooling](https://arxiv.org/abs/1511.05493)\n\nSpektral also includes lots of utilities for your graph deep learning projects. \n\nSee how to [get started with Spektral](https://danielegrattarola.github.io/spektral/getting-started/) and have a look at the [examples](https://danielegrattarola.github.io/spektral/examples/) for some project templates.\n\nThe source code of the project is available on [Github](https://github.com/danielegrattarola/spektral). \nRead the documentation [here](https://danielegrattarola.github.io/spektral).\n\n## Installation\nSpektral is compatible with Python 3.5+, and is tested on Ubuntu 16.04+ and MacOS. \nOther Linux distros should work as well, but Windows is not supported for now. \n\nTo install the required dependencies on Ubuntu run:\n\n```bash\n$ sudo apt install graphviz libgraphviz-dev libcgraph6\n```\n\nSome features of Spektral also require the following optional dependencies:\n\n - [RDKit](http://www.rdkit.org/docs/index.html), a library for cheminformatics and molecule manipulation (available through Anaconda);\n - [dyfunconn](https://dyfunconn.readthedocs.io/), a library to build functional connectivity networks (available through PyPi);\n\nThe simplest way to install Spektral is from PyPi: \n\n```bash\n$ pip install spektral\n```\n\nTo install Spektral from source, run this in a terminal:\n\n```bash\n$ git clone https://github.com/danielegrattarola/spektral.git\n$ cd spektral\n$ python setup.py install # Or 'pip install .'\n```\n\n## Contributing\nSpektral is an open source project available [on Github](https://github.com/danielegrattarola/spektral), 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.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/danielegrattarola/spektral", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "spektral", "package_url": "https://pypi.org/project/spektral/", "platform": "", "project_url": "https://pypi.org/project/spektral/", "project_urls": { "Homepage": "https://github.com/danielegrattarola/spektral" }, "release_url": "https://pypi.org/project/spektral/0.1.0/", "requires_dist": [ "keras (<2.3)", "tensorflow (<2.0.0)", "networkx", "pandas", "joblib", "pygraphviz", "numpy", "scipy", "requests", "scikit-learn" ], "requires_python": "", "summary": "Graph Neural Networks with Keras and Tensorflow.", "version": "0.1.0" }, "last_serial": 6001185, "releases": { "0.0.10": [ { "comment_text": "", "digests": { "md5": "aecb2a721a457881844d88d3d6aa97b1", "sha256": "be20285c68fcf222de4d1b62e21614640fcbbf0921cf4a39a57b7769d1a3bdb5" }, "downloads": -1, "filename": "spektral-0.0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "aecb2a721a457881844d88d3d6aa97b1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 49239, "upload_time": "2019-05-31T10:09:30", "url": "https://files.pythonhosted.org/packages/62/2d/75f5cc56015dbf6d3fb4ae71430a76fa05732cb45b4631da40e979d87e99/spektral-0.0.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8898828d20003a1b04598e1cb36c13c7", "sha256": "f17a85f3a3130ca6d81a93900ff35d7e1a2011bedca71064ad073e8977c55edf" }, "downloads": -1, "filename": "spektral-0.0.10.tar.gz", "has_sig": false, "md5_digest": "8898828d20003a1b04598e1cb36c13c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40512, "upload_time": "2019-05-31T10:09:31", "url": "https://files.pythonhosted.org/packages/b6/4d/d52a62ceaa1614114110c435196edaa83ee4aa3c0bb3f7062514a43d75e6/spektral-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "1a09b5e64745cbd02063320b0f69fce3", "sha256": "7b9ba108b879965a96acaddef2761baf930dd63c376a39a75b005eccd4b6c275" }, "downloads": -1, "filename": "spektral-0.0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "1a09b5e64745cbd02063320b0f69fce3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 51813, "upload_time": "2019-07-04T17:10:58", "url": "https://files.pythonhosted.org/packages/b2/14/84d4663060c13ccf7899fb9a15c1cb9098c12a9c6196301a874c7225d85b/spektral-0.0.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ff5a7289666d52e0013fe99fdbff533", "sha256": "3bb4fed74e210414bc4089ad4c0dd45e6ae5098becfd35e8e30af1e57c633227" }, "downloads": -1, "filename": "spektral-0.0.11.tar.gz", "has_sig": false, "md5_digest": "6ff5a7289666d52e0013fe99fdbff533", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43132, "upload_time": "2019-07-04T17:11:00", "url": "https://files.pythonhosted.org/packages/eb/13/2cbe2b9c593ee83378f380467242035aa1ea3a1490eaaa865c4745afd4c1/spektral-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "c67e94bb6446be2053830e37fd0df9a3", "sha256": "cff435dccabc9caa67376f2d6a46d55e117c9fafb60434f8a979b6310219be51" }, "downloads": -1, "filename": "spektral-0.0.12-py3-none-any.whl", "has_sig": false, "md5_digest": "c67e94bb6446be2053830e37fd0df9a3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 58665, "upload_time": "2019-08-12T16:15:42", "url": "https://files.pythonhosted.org/packages/31/d8/c4e6c207fdcda9570be035ec1644ece3c47ad2309ea6d6c65e17c067b4a1/spektral-0.0.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f4ca2a246dc86e03a0f2ca4ce95d360b", "sha256": "4955b86b7e8e4a3df5ac125aa9c8b860f940d626305708489cda5c9ba2e6008d" }, "downloads": -1, "filename": "spektral-0.0.12.tar.gz", "has_sig": false, "md5_digest": "f4ca2a246dc86e03a0f2ca4ce95d360b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48071, "upload_time": "2019-08-12T16:15:44", "url": "https://files.pythonhosted.org/packages/71/60/f469cbbd54c475f62e8b668cad56b7b4900d7249d76b0f1269e525974c69/spektral-0.0.12.tar.gz" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "868de9eb593e4c678588ae538ccef803", "sha256": "8b47b2cfe11375254c0f0794c7b3038b506f9560b888fe1cc6f7c5654afccd45" }, "downloads": -1, "filename": "spektral-0.0.13-py3-none-any.whl", "has_sig": false, "md5_digest": "868de9eb593e4c678588ae538ccef803", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 59597, "upload_time": "2019-10-02T19:09:20", "url": "https://files.pythonhosted.org/packages/b5/69/1b2d6168dbc0a219c0c4c9e712528ea31033ccc73d2958f6a9c460834061/spektral-0.0.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9fc47d30c4e6c933a9b6daff7b00c05f", "sha256": "015b1518bf2ba321860892c7bccb55ac0cc1d5e80735644d0998e99d36bb5a11" }, "downloads": -1, "filename": "spektral-0.0.13.tar.gz", "has_sig": false, "md5_digest": "9fc47d30c4e6c933a9b6daff7b00c05f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48833, "upload_time": "2019-10-02T19:09:22", "url": "https://files.pythonhosted.org/packages/28/e5/bf7adca36b37f20032a17652782c9e3e040c6e4aa4b93524baa25ae30e5f/spektral-0.0.13.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "4ffd06a79807a6317f7d66921eb1655f", "sha256": "95e2383d6626c27f0a60083afb27be69b88dfff59a6a719d2e2499648d5fdbe9" }, "downloads": -1, "filename": "spektral-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "4ffd06a79807a6317f7d66921eb1655f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 49906, "upload_time": "2019-01-21T11:49:25", "url": "https://files.pythonhosted.org/packages/24/b7/4bfbb49d57ac0ff78a6f9d487dd95bda8c4ebd509837fb98488c1ba36ae4/spektral-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "170fd0d72a73409a5794b743d6a5c266", "sha256": "edb134fc4e91319f3e5ea8f3711aaec9f43bad8f6d953799ca43276d91b15020" }, "downloads": -1, "filename": "spektral-0.0.2.tar.gz", "has_sig": false, "md5_digest": "170fd0d72a73409a5794b743d6a5c266", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40826, "upload_time": "2019-01-21T11:49:27", "url": "https://files.pythonhosted.org/packages/9f/f4/47bcf898d191e81ccc855428d38c75765ad10400c0672ee427f4b319daaf/spektral-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "d5492e8a26d4ffb6af561801a52ff7f7", "sha256": "ecb6328daebd5a48cdba106e5adf277f8dd2ba191e14cde090ffcb44efee9018" }, "downloads": -1, "filename": "spektral-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "d5492e8a26d4ffb6af561801a52ff7f7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 48173, "upload_time": "2019-01-23T15:40:22", "url": "https://files.pythonhosted.org/packages/3c/d5/ac793affcb23aa8408e3f6193335fddf89495c6c69904846e71b173f1c82/spektral-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b33b2da598bbce453c218f278d797a3", "sha256": "1bb1a426879d1cd8067ce5c99318b8ab59d1e68696179d4f8ab5ae0aed5d5d20" }, "downloads": -1, "filename": "spektral-0.0.3.tar.gz", "has_sig": false, "md5_digest": "4b33b2da598bbce453c218f278d797a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39258, "upload_time": "2019-01-23T15:40:24", "url": "https://files.pythonhosted.org/packages/05/c7/ce59963f8c12db40018e18c40125fd64e87d55104235663270a55020879d/spektral-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "f69b8f6f4208110ec100170b31256d7d", "sha256": "57865b61c02605e07e29c4d60ae36b48e088403f12e9df11113158696035c722" }, "downloads": -1, "filename": "spektral-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f69b8f6f4208110ec100170b31256d7d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 47762, "upload_time": "2019-02-19T10:27:00", "url": "https://files.pythonhosted.org/packages/d5/49/2ad9c1e207ec510bec74d9872b2f354979965d78b6b029dd462465da2421/spektral-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "18b8fa01bf6945bd3e07b64ce1793fe5", "sha256": "eb38378a952955aaf9e824591202d3ea3f86b136db2c3987232498e6d9081565" }, "downloads": -1, "filename": "spektral-0.0.4.tar.gz", "has_sig": false, "md5_digest": "18b8fa01bf6945bd3e07b64ce1793fe5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39154, "upload_time": "2019-02-19T10:27:06", "url": "https://files.pythonhosted.org/packages/85/62/42b97a4f7dd7dd2f8191721de3c7dec8a4224d5ecb0ca20e6695d688d6e7/spektral-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "176eafa128dd6b2ddea95ca03cdfeba5", "sha256": "7a250011b9333f21928ef3760a90be16a6626cbce2201f835193792638014f50" }, "downloads": -1, "filename": "spektral-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "176eafa128dd6b2ddea95ca03cdfeba5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 50156, "upload_time": "2019-04-01T14:23:00", "url": "https://files.pythonhosted.org/packages/f6/d4/c61ab37419cee24b0312f2bae843792274f3c3205003dcc2cdb9c9c04c6b/spektral-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "88fef0110e6159ec3fddc27173d87982", "sha256": "62d418c8bde573545205c69932ad9b82f1fff903287fa5c6217e3eb243142e85" }, "downloads": -1, "filename": "spektral-0.0.5.tar.gz", "has_sig": false, "md5_digest": "88fef0110e6159ec3fddc27173d87982", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40883, "upload_time": "2019-04-01T14:23:02", "url": "https://files.pythonhosted.org/packages/4f/0e/f93d3ddb45ea1d6162a4e20ea9933a3cfa87aa470f6e18c5921c99dd55ba/spektral-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "2acec8b871c4de8166164396f949a425", "sha256": "b0e3c21c099856132b6803a7e98869f6454ecd1fa4104ae7c4f26f999e6e3ea3" }, "downloads": -1, "filename": "spektral-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "2acec8b871c4de8166164396f949a425", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 50950, "upload_time": "2019-04-02T07:11:49", "url": "https://files.pythonhosted.org/packages/0c/d6/610f6252f54e71e850358af1a5f80b5d37583617f41a13e3af4e57173828/spektral-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3646319ec8dbb5c693991c15c3498824", "sha256": "5a1ebb2f38ea112644d40371e252cd21664113d08d1a8aa6e69e394284b279ff" }, "downloads": -1, "filename": "spektral-0.0.6.tar.gz", "has_sig": false, "md5_digest": "3646319ec8dbb5c693991c15c3498824", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41589, "upload_time": "2019-04-02T07:11:51", "url": "https://files.pythonhosted.org/packages/ec/8b/bc45efca1bba937780140d5837366d7beae821703b6e808a9245f78c6d6d/spektral-0.0.6.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "998d88237ebf8240cf56d40b68505055", "sha256": "0e962069529ae3a102fe6eec95541eb0828beda6b98edd2319c582ea59980e5a" }, "downloads": -1, "filename": "spektral-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "998d88237ebf8240cf56d40b68505055", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 46139, "upload_time": "2019-04-15T17:00:41", "url": "https://files.pythonhosted.org/packages/11/8e/a8c937079e867bae192f72370aeb81ba76aeb073392214323926c3a3bda3/spektral-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "81c53f2d845a6759d666153e20e705f3", "sha256": "9b533a713a745abebfb14cbedbf22b9876ff965a8b66aa47ca625ba99771c127" }, "downloads": -1, "filename": "spektral-0.0.8.tar.gz", "has_sig": false, "md5_digest": "81c53f2d845a6759d666153e20e705f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38015, "upload_time": "2019-04-15T17:00:43", "url": "https://files.pythonhosted.org/packages/21/30/0d8e98e223b9ccd44533074e01564c288c5c21e896c61aaaa6158b04a24c/spektral-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "31269c14fdc887a8e6d8b915fe01d866", "sha256": "8c50b7f76ba498b72f167a0ee48b3905d92a0a5f48f7189e888d08355828eb08" }, "downloads": -1, "filename": "spektral-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "31269c14fdc887a8e6d8b915fe01d866", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 48960, "upload_time": "2019-05-07T14:38:22", "url": "https://files.pythonhosted.org/packages/a6/3a/c4f7d5ef5b563a9eb08c6b973d62ef08b9e388a4e96627d2c47ac722e286/spektral-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "23a9a9faf9f5424cbcdfa15289f049f6", "sha256": "fea129bc548088e23d30b07df1924b7bfc16b8de4586562b7341a00f9b575dac" }, "downloads": -1, "filename": "spektral-0.0.9.tar.gz", "has_sig": false, "md5_digest": "23a9a9faf9f5424cbcdfa15289f049f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40214, "upload_time": "2019-05-07T14:38:24", "url": "https://files.pythonhosted.org/packages/08/ad/ef23b9add2e976a79393094cae1dc3b289ba471007ede42923b29e2f1175/spektral-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "301af0b1389b0eab2171bafebb219c51", "sha256": "f15344fc5a9a4921a1fc297a5c8b36b9d76c67bf383fe9135bd79512c1d77f21" }, "downloads": -1, "filename": "spektral-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "301af0b1389b0eab2171bafebb219c51", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 55113, "upload_time": "2019-10-19T22:06:06", "url": "https://files.pythonhosted.org/packages/ed/af/e83392f138a27adef0d3a8cefe4dc2fab9d719f9494615d4ce24f7ed5764/spektral-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a74dd232df7d2033548468bac5c198a", "sha256": "d53859faeac73021884961b319744112006bd31bafbf693f2695ada1b44ddf45" }, "downloads": -1, "filename": "spektral-0.1.0.tar.gz", "has_sig": false, "md5_digest": "2a74dd232df7d2033548468bac5c198a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45745, "upload_time": "2019-10-19T22:06:08", "url": "https://files.pythonhosted.org/packages/ff/ce/d16a49a1237f51f26c2c57383f891b12f6256c2fa76de1f49892e50e09e1/spektral-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "301af0b1389b0eab2171bafebb219c51", "sha256": "f15344fc5a9a4921a1fc297a5c8b36b9d76c67bf383fe9135bd79512c1d77f21" }, "downloads": -1, "filename": "spektral-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "301af0b1389b0eab2171bafebb219c51", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 55113, "upload_time": "2019-10-19T22:06:06", "url": "https://files.pythonhosted.org/packages/ed/af/e83392f138a27adef0d3a8cefe4dc2fab9d719f9494615d4ce24f7ed5764/spektral-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a74dd232df7d2033548468bac5c198a", "sha256": "d53859faeac73021884961b319744112006bd31bafbf693f2695ada1b44ddf45" }, "downloads": -1, "filename": "spektral-0.1.0.tar.gz", "has_sig": false, "md5_digest": "2a74dd232df7d2033548468bac5c198a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45745, "upload_time": "2019-10-19T22:06:08", "url": "https://files.pythonhosted.org/packages/ff/ce/d16a49a1237f51f26c2c57383f891b12f6256c2fa76de1f49892e50e09e1/spektral-0.1.0.tar.gz" } ] }