Skip to main content

A library to sample temporal random walks from in-memory temporal graphs

Project description

🚀 Tempest

PyPI Latest Release PyPI Downloads

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


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

tempest_anonymous-1.4.4-cp311-cp311-manylinux_2_34_x86_64.whl (75.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

tempest_anonymous-1.4.4-cp310-cp310-manylinux_2_34_x86_64.whl (75.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

tempest_anonymous-1.4.4-cp39-cp39-manylinux_2_34_x86_64.whl (75.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

tempest_anonymous-1.4.4-cp38-cp38-manylinux_2_34_x86_64.whl (75.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.34+ x86-64

File details

Details for the file tempest_anonymous-1.4.4-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tempest_anonymous-1.4.4-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b94b2d0303b03dc1ee1bf49ea04808528af6b3a0f74cbb8a3b50deb3a69a1054
MD5 20b0882765af21cffd78cab2fed2ed62
BLAKE2b-256 942b2104dcdd0d9c24d3e5c38ac6ea7ee36910588bb6de477166dc7fe59eff4c

See more details on using hashes here.

File details

Details for the file tempest_anonymous-1.4.4-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tempest_anonymous-1.4.4-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 0108a981ea6633fd598bdba13412c589d71116ac5f68231275dc606518a2c34f
MD5 3574b7d65513c26958eed9919f02a30c
BLAKE2b-256 71acd275e14092df46825d8e3499b83eed5551ea3971f4838f65dd583714beff

See more details on using hashes here.

File details

Details for the file tempest_anonymous-1.4.4-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tempest_anonymous-1.4.4-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8edde2420b02d0b9ef30f7bc6c7bf6d6926141bd06deead11678a82de1036f75
MD5 4dab812df36333b1cd0dd6f18b4de26e
BLAKE2b-256 b574a8d3cf98c5131e6434d010fff5cb161a00d10f2f1f6ea8a2954a528c9c35

See more details on using hashes here.

File details

Details for the file tempest_anonymous-1.4.4-cp38-cp38-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tempest_anonymous-1.4.4-cp38-cp38-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 679e2173864a00bbd08e8492da08337f17b4725fe6a3fabad4b3d37a5090df90
MD5 5481b8c896178f895437b1b5990d19ab
BLAKE2b-256 8707f65dfe9f1dd583c323fe5f3cd643301c9c913a9165dc274b60a6d491caa1

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