Skip to content

SubstrateLabs/substrate-python

Repository files navigation

Substrate Python SDK

PyPI version

The Substrate Python SDK is the recommended way to interact with the Substrate API from any Python application.

Documentation

If you're just getting started, head to guides.substrate.run.

For a detailed API reference covering the nodes available on Substrate, see substrate.run/nodes.

For an interactive reference, check out explore.substrate.run. You can call Substrate.visualize(...nodes...) to generate an interactive visualization of any graph.

Installation

# install from PyPI
pip install substrate

Usage

from substrate import Substrate, ComputeText, sb

Initialize the Substrate client.

substrate = Substrate(api_key=SUBSTRATE_API_KEY)

Generate a story using the ComputeText node.

story = ComputeText(prompt="tell me a story")

Summarize the output of the story node using another ComputeText node. Because story has not yet been run, we use sb.concat to work with its future output.

summary = ComputeText(prompt=sb.concat("summarize this story in one sentence: ", story.future.text))

Run the graph chaining storysummary by passing the terminal node to substrate.run.

response = substrate.run(story, summary)

(To run the graph asynchronously, simply use async_run and await.)

response = await substrate.async_run(story, summary)

Get the output of the summary node by passing it to response.get.

summary_out = response.get(summary)
print(summary_out.text)
# Princess Lily, a kind-hearted young princess, discovers a book of spells and uses it to grant her family and kingdom happiness.

Examples

To run the above example as a notebook, navigate to the examples/notebooks directory and run:

make ensure                         # install dependencies
poetry run marimo edit basic.py     # run the notebook