A library to sample temporal random walks from in-memory temporal graphs
Project description
🚀 Tempest
A high-performance temporal random walk sampler for dynamic networks with GPU acceleration. Built for scale.
🔥 Why Tempest?
✅ Performance First – GPU-accelerated sampling for massive networks
✅ Memory Efficient – Smart memory management for large graphs
✅ Flexible Integration – Easy Python bindings with NumPy/NetworkX support
✅ Production Ready – Tested with hundreds of extensive unit tests.
✅ Multi Platform Builds and runs seamlessly on devices with or without CUDA.
⚡ Quick Start
from tempest import Tempest
# Create a directed temporal graph
walker = Tempest(is_directed=True, use_gpu=True, max_time_capacity=-1)
# Add edges - can be numpy arrays or python lists
sources = [3, 2, 0, 3, 3, 1]
targets = [4, 4, 2, 1, 2, 4]
timestamps = [71, 82, 19, 34, 79, 19]
walker.add_multiple_edges(sources, targets, timestamps)
# Sample walks with exponential time bias
walk_nodes, walk_timestamps, walk_lens = walker.get_random_walks_and_times_for_all_nodes(
max_walk_len=5,
walk_bias="ExponentialIndex",
num_walks_per_node=10,
initial_edge_bias="Uniform"
)
✨ Key Features
- ⚡ GPU acceleration for large graphs
- 🎯 Multiple sampling strategies – Uniform, Linear, Exponential
- 🔄 Forward & backward temporal walks
- 📡 Rolling window support for streaming data
- 🔗 NetworkX integration
- 🛠️ Efficient memory management
- ⚙️ Uses C++ std libraries or Thrust API selectively based on hardware availability and configuration.
📦 Dependencies
| Dependency | Purpose |
|---|---|
| pybind11 | Python-C++ bindings |
| python3 | Required for building the python interfaces |
| gtest | Unit testing framework |
💡 Tip: Use vcpkg to easily install and link the C++ dependencies.
📦 Installation
pip install tempest-anonymous
📖 Documentation
📌 C++ Documentation →
📌 Python Interface Documentation →
📚 Inspired By
Nguyen, Giang Hoang, et al.
"Continuous-Time Dynamic Network Embeddings."
Companion Proceedings of The Web Conference 2018.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tempest_anonymous-1.4.4-cp311-cp311-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: tempest_anonymous-1.4.4-cp311-cp311-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 75.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b94b2d0303b03dc1ee1bf49ea04808528af6b3a0f74cbb8a3b50deb3a69a1054
|
|
| MD5 |
20b0882765af21cffd78cab2fed2ed62
|
|
| BLAKE2b-256 |
942b2104dcdd0d9c24d3e5c38ac6ea7ee36910588bb6de477166dc7fe59eff4c
|
File details
Details for the file tempest_anonymous-1.4.4-cp310-cp310-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: tempest_anonymous-1.4.4-cp310-cp310-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 75.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0108a981ea6633fd598bdba13412c589d71116ac5f68231275dc606518a2c34f
|
|
| MD5 |
3574b7d65513c26958eed9919f02a30c
|
|
| BLAKE2b-256 |
71acd275e14092df46825d8e3499b83eed5551ea3971f4838f65dd583714beff
|
File details
Details for the file tempest_anonymous-1.4.4-cp39-cp39-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: tempest_anonymous-1.4.4-cp39-cp39-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 75.2 MB
- Tags: CPython 3.9, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8edde2420b02d0b9ef30f7bc6c7bf6d6926141bd06deead11678a82de1036f75
|
|
| MD5 |
4dab812df36333b1cd0dd6f18b4de26e
|
|
| BLAKE2b-256 |
b574a8d3cf98c5131e6434d010fff5cb161a00d10f2f1f6ea8a2954a528c9c35
|
File details
Details for the file tempest_anonymous-1.4.4-cp38-cp38-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: tempest_anonymous-1.4.4-cp38-cp38-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 75.2 MB
- Tags: CPython 3.8, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
679e2173864a00bbd08e8492da08337f17b4725fe6a3fabad4b3d37a5090df90
|
|
| MD5 |
5481b8c896178f895437b1b5990d19ab
|
|
| BLAKE2b-256 |
8707f65dfe9f1dd583c323fe5f3cd643301c9c913a9165dc274b60a6d491caa1
|