Skip to main content

Network Embedding Experimentation Toolkit - A powerful framework for graph analysis, embedding computation, and machine learning on graph-structured data

Project description

NEExT

Network Embedding Experimentation Toolkit

An open-source Python framework for network science and graph machine learning.

PyPI version Python versions License: MIT Downloads Docs

Documentation · Website · Issues

NEExT Workbench

What is NEExT?

NEExT is an experimentation framework for graph and network data. It takes you from a collection of graphs to predictive and scientific results through one pipeline you can inspect and reproduce at every step:

Graphs → Features → Embeddings → Evidence

Load graphs from CSV, pandas, or NetworkX into a unified GraphCollection; compute structural node features (or write your own in plain Python); turn them into graph-level embeddings with Wasserstein/Sinkhorn optimal transport or a GNN; then train classifiers or regressors and read feature importance to see which structure drives the result. It's built on the standard scientific Python stack — NumPy, pandas, scikit-learn, XGBoost, NetworkX, iGraph — and works the same in a script, a notebook, or the Workbench.

There are two ways to use NEExT:

  • The Library — a lightweight Python package for scripting and notebook workflows.
  • The Workbench — a local, desktop-style GUI over the same NEExT workflows, with versioned artifacts and job tracking. It runs entirely on your machine (127.0.0.1, no accounts, no uploads) and is MCP-native, so an agent like Claude can drive it.

Installation

pip install NEExT

Optional extras:

pip install "NEExT[gnn]"            # Graph Neural Network embeddings (pure PyTorch)
pip install "NEExT[workbench-mcp]"  # local Workbench + MCP integration

See the docs for the full list of extras.

Quick start

from NEExT import NEExT

nxt = NEExT()

# Load a collection of graphs from CSV
graph_collection = nxt.read_from_csv(
    edges_path="edges.csv",
    node_graph_mapping_path="node_graph_mapping.csv",
    graph_label_path="graph_labels.csv",
)

# Features → Embeddings → Evidence
features = nxt.compute_node_features(graph_collection, feature_list=["all"])
embeddings = nxt.compute_graph_embeddings(
    graph_collection, features, embedding_algorithm="approx_wasserstein"
)
results = nxt.train_ml_model(graph_collection, embeddings, model_type="classifier")

Custom features, GNN embeddings, large-graph sampling, feature importance, and the full API are covered in the documentation.

The Workbench

The NEExT Workbench is a local, single-user FastAPI + React application that exposes the NEExT workflows — datasets, features, embeddings, models, and analysis — as a desktop-style UI. Everything stays on your machine, and it speaks MCP, so you can drive the whole pipeline from an MCP client.

neext-workbench          # installed package
make neext-workbench     # from a development checkout

Then open http://127.0.0.1:8765. Projects are stored under ~/NEExT-Workbench by default (override with NEEXT_WORKBENCH_HOME or neext-workbench --workspace <path>). The full Workbench tour, including MCP client setup, lives in the documentation.

Learn more

Supporting NEExT

NEExT is free and open source, and stays that way. If it's useful to your work, the best support is free: star the repo, cite the paper, and tell colleagues. You can also contribute or help fund maintenance — see neext.app/support. Universities and organizations can also invite a talk or workshop there.

Citing NEExT

If you use NEExT in your research, please cite it. The primary, open-access reference is the arXiv paper:

@article{dehghan2025neext,
  title   = {Network Embedding Exploration Tool (NEExT)},
  author  = {Dehghan, Ashkan and Pra{\l}at, Pawe{\l} and Th{\'e}berge, Fran{\c{c}}ois},
  journal = {arXiv preprint arXiv:2503.15853},
  year    = {2025},
  url     = {https://arxiv.org/abs/2503.15853}
}

A peer-reviewed version appeared at the 19th Workshop on Algorithms and Models for the Web Graph (WAW 2024):

@inproceedings{dehghan2024neext,
  title     = {Network Embedding Exploration Tool (NEExT)},
  author    = {Dehghan, Ashkan and Pra{\l}at, Pawe{\l} and Th{\'e}berge, Fran{\c{c}}ois},
  booktitle = {Modelling and Mining Networks (WAW 2024)},
  series    = {Lecture Notes in Computer Science},
  pages     = {65--79},
  year      = {2024},
  publisher = {Springer},
  doi       = {10.1007/978-3-031-59205-8_5}
}

Acknowledgements

NEExT is created, maintained, and owned by Ash Dehghan. The NEExT paper is co-authored with Paweł Prałat and François Théberge. Thanks to the contributors who have helped build NEExT, including Kamil Kulesza and Lourens Touwen.

The community-aware βstar feature is based on Kamiński, Prałat, Théberge, and Zając, "Predicting Properties of Nodes via Community-Aware Features" (arXiv:2311.04730, doi:10.1007/s13278-024-01281-2).

License

NEExT is released under the MIT License. Created and maintained by Ash Dehghan.

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

neext-0.3.6.tar.gz (686.3 kB view details)

Uploaded Source

Built Distribution

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

neext-0.3.6-py3-none-any.whl (666.9 kB view details)

Uploaded Python 3

File details

Details for the file neext-0.3.6.tar.gz.

File metadata

  • Download URL: neext-0.3.6.tar.gz
  • Upload date:
  • Size: 686.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.15

File hashes

Hashes for neext-0.3.6.tar.gz
Algorithm Hash digest
SHA256 1d81d9f4b99e5b68d3775d98d008e48168e41b741312430f2cc3e67e8aa25264
MD5 0dbec9f1d34ff4c1965f8d554285670b
BLAKE2b-256 0aa452178bf936f25514330febfb71cb9bc411e9aab0305452933c2bfcfe213b

See more details on using hashes here.

File details

Details for the file neext-0.3.6-py3-none-any.whl.

File metadata

  • Download URL: neext-0.3.6-py3-none-any.whl
  • Upload date:
  • Size: 666.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.15

File hashes

Hashes for neext-0.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 b9838c961d4d992350f22e2242a5dec443eb3606e9d3e35e1bbfcf5a9d5f1b8f
MD5 403bd9b6d5c8b36b4f12ae0f235d59a6
BLAKE2b-256 de497fc6325cb0b93374919ad32d2dbe3a498865fd724944986942db431a91a9

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