Exosphere is open source infrastructure to run AI agents at scale for large data and long running flows.
Exosphere lets you define plug and playable nodes that can then be run on a reliable backbone in the form of a workflow, with:
- Dynamic State Creation at runtime
- Infinite parallel agents
- Persistent state management
- Failure handling
This allows developers to deploy production agents that can scale beautifully to build robust autonomous AI workflows.
-
uv add exospherehost
-
Each node is an atomic reusable unit on Exosphere. Once registered, you can plug it into any workflow going forward. This could be an agent, an api call, or existing code, anything you want to be a unit of your workflow.
from exospherehost import BaseNode from pydantic import BaseModel class MyFirstNode(BaseNode): class Inputs(BaseModel): city:str #Define inputs taken by node class Outputs(BaseModel): description:str #Output fields from this node async def execute(self) -> Outputs: return Outputs(descriptor_agent(self.inputs.city)) #Execution function: # >>Agent # >>Existing Code # >>Anything else you want to do!
Create the node and add it to a runtime to enable execution:
from exospherehost import Runtime Runtime( name="my-first-runtime", namespace="hello-world", nodes=[ MyFirstNode ] ).start()
-
Graphs are then described connecting nodes with relationships in json objects. Exosphere runs graph as per defined trigger conditions. See Graph definitions to see more examples.
{ "secrets": {}, "nodes": [ { "node_name": "MyFirstNode", "namespace": "hello-world", "identifier": "describe_city", "inputs": { "bucket_name": "initial", "prefix": "initial", "files_only": "true", "recursive": "false" }, "next_nodes": [] } ] }
For comprehensive documentation and guides, check out:
- Getting Started Guide
- State Manager Setup Guide: Step-by-step instructions for running the Exosphere backend locally or in production.
- Dashboard Guide: Learn how to set up and use the Exosphere web dashboard.
- Architecture: Understand core ideas on building graphs like fanout and unite.
You can also visit the official documentation site for the latest updates and more resources.
We believe that humanity would not have been able to achieve the level of innovation and progress we have today without the support of open source and community, we want to be a part of this movement and support the open source community. In following ways:
- We will be open sourcing majority of our codebase for exosphere.host and making it available to the community. We welcome all sort of contributions and feedback from the community and will be happy to collaborate with you.
- For whatever the profits which we generate from exosphere.host, we will be donating a portion of it to open source projects and communities. If you have any questions, suggestions or ideas.
- We would be further collaborating with various open source student programs to provide with the support and encourage and mentor the next generation of open source contributors.
Please feel free to reach out to us at [email protected]. Lets push the boundaries of possibilities for humanity together!
We welcome community contributions. For guidelines, refer to our CONTRIBUTING.md.