Skip to main content

PyPI PyPI - Python Version License: MIT Documentation GitHub issues GitHub stars PyPI - Downloads CI/CD GitHub last commit GitHub contributors GitHub repo size GitHub Release

InfraGraph (INFRAstructure GRAPH)

InfraGraph defines a model-driven, vendor-neutral API for capturing a system of systems suitable for use in co-designing AI/HPC solutions.

The model and API allows for defining physical infrastructure using a standardized graph like terminology.

In addition to the base graph definition, user provided annotations can extend the graph allowing for an unlimited number of different physical and/or logical characteristics/view.

Additional information such as background, schema and examples can be found in the online documentation.

Using InfraGraph CLI

InfraGraph ships with a CLI that lets you convert existing system descriptions into InfraGraph format and visualize infrastructure topologies.

Install using pip:

pip install infragraph

Or clone the repo and run make clean && make install, or download the .whl from releases and install it with pip install infragraph-<version>.whl.

Convert system formats to InfraGraph — translate output from tools like lstopo directly into an InfraGraph YAML/JSON definition:

# Convert lstopo XML output to an InfraGraph YAML file
infragraph translate lstopo -i lstopo_output.xml -o my_device.yaml --dump yaml

Visualize infrastructure topologies — generate an interactive, drillable HTML visualization from any InfraGraph definition:

# Generate a visualization with host and switch hints
infragraph visualize -i my_infrastructure.yaml -o ./viz --hosts "dgx_a100" --switches "leaf_switch,spine_switch"
# Then open ./viz/index.html in a browser

The visualizer produces a multi-level view: a top-level graph of instances and inter-device connectivity, with drill-down into each device's internal components (xPUs, NICs, CPUs, memory, PCIe topology, etc.).

Note: More converters and tools are work-in-progress. See the Ecosystem documentation for the full roadmap and we invite contributions from the community.

Chakra + InfraGraph Ecosystem

Chakra + InfraGraph Ecosystem

MLCommons Chakra captures AI workload details as Execution Traces — graphs of operators, tensors, dependencies, and timing. InfraGraph complements Chakra by representing the underlying infrastructure — hosts, NICs, xPUs/accelerators, interconnects, and topologies. Together, Chakra + InfraGraph let you pair workload traces with infrastructure blueprints to analyze current systems and co-design future ones, while safely sharing artifacts across teams and partners.

For more details, see the Ecosystem documentation.

Versioning Rules

Infragraph follows a structured versioning scheme to maintain consistency across releases and ensure clear dependency management. Each version reflects compatibility, schema evolution, and API stability expectations.

For versioning rules, refer this readme.

Contributing

Contributions can be made in the following ways:

Metadata

Release files for infragraph 3.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for infragraph 3.0.2
File Size Uploaded
infragraph-3.0.2.tar.gz 304.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for infragraph 3.0.2
File Interpreter ABI Platform
infragraph-3.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 645.7 kB

Release files / infragraph-3.0.2.tar.gz

Download URL infragraph-3.0.2.tar.gz
Size 304.0 kB
Tags Source
SHA-256 checksum
How to use checksums
7a8b5543c70f82280baffe5be25845aab4927b2f1f79a3e8918580caf973b308
BLAKE2b-256 checksum
How to use checksums
60bd78d2890321b5d46325c824b1549662dd50683fad0023115ffab3f3b562ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.21

Release files / infragraph-3.0.2-py3-none-any.whl

Download URL infragraph-3.0.2-py3-none-any.whl
Size 341.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ddb38c984c237e2ac4d6ae155f69a8b8e1d6c8e2f0d93fe9f231e9dd311669c6
BLAKE2b-256 checksum
How to use checksums
25bfbff443f25009f96edd4eb98c62bebde1e6f5d703c364884b1e6c7cb5b61f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.21

Release history Release notifications | RSS feed

3.1.0

2 release files

3.0.4

2 release files

3.0.3

2 release files

This release

3.0.2 This release

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.5.0

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page