Skip to main content

Substrate Python SDK

Project description

꩜ 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, GenerateText, sb

Initialize the Substrate client.

substrate = Substrate(api_key=SUBSTRATE_API_KEY)

Generate a story using the GenerateText node.

story = GenerateText({"prompt": "tell me a story"})

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

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

Run the graph chaining storysummary. This is a simple example, but you can easily build arbitrarily complex branching workflows.

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

Project details


Download files

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

Source Distribution

substrate-120240502.0.2.tar.gz (34.5 kB view hashes)

Uploaded Source

Built Distribution

substrate-120240502.0.2-py3-none-any.whl (38.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page