Skip to main content

A Library for Quick Dependency-based Computation

Project description

TurboGraph logo

Quick Dependency-based Computation

Pipeline Status Test Coverage License Latest Release PyPI - Version Python Version

📖 Documentation: https://turbograph.docs.cern.ch/master

TurboGraph is a lightweight Python library for defining and computing values based on dependencies.

It builds a directed dependency graph automatically—leveraging either the networkx or igraph backend—to ensure computations run in the correct order.

🚀 Quick Example

TurboGraph infers dependencies from function signatures:

from turbograph import compute

specifications = {
    "a": 2,
    "sum": lambda a, b: a + b,  # "sum" depends on "a" and "b"
}

result = compute(specifications, ["sum"], {"b": 3})
print(result)  # Output: {"sum": 5}

TurboGraph detects that "sum" depends on both "a" and "b" and executes the computations accordingly.

📌 Check out the Quick-Start Guide for more details.

📥 Installation

TurboGraph requires Python ≥ 3.11 and supports NetworkX (≥2.5) and iGraph (≥0.10.0) as graph backends.

# Install with NetworkX backend
pip install "turbograph[networkx]"


# Or with the iGraph backend
pip install "turbograph[igraph]"

📚 For more installation options, check out the Installation Guide or Development Guide.

Credits

The TurboGraph logo was created using the following fonts

The multi-versioning approach for this documentation was largely inspired by the implementation in this repository, which is licensed under the Apache-2.0 license. I sincerely appreciate the author for sharing their work!

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 Distribution

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

turbograph-0.6.0-py3-none-any.whl (34.3 kB view details)

Uploaded Python 3

File details

Details for the file turbograph-0.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for turbograph-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cf6499c5082f2c355124951f201bfbb521d6d4add4115cce99d4b50c06dcdacd
MD5 eee1620bc40f3044ed50cb9e3e8a9df0
BLAKE2b-256 2b4cef7b9bb52d11a9278353999484fc098287f047eba1d7a649f39bfdf6f5db

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