Thanks to visit codestin.com
Credit goes to github.com

Skip to content

NiveditJain/exospherehost

 
 

logo light logo dark

Docs Last commit PyPI - Version Coverage Kubernetes Discord Stars


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.

Getting Started

  • Installation

    uv add exospherehost
  • Define your first node

    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()
  • Define your first graph

    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": []
          }
      ]
    }

Documentation

For comprehensive documentation and guides, check out:

You can also visit the official documentation site for the latest updates and more resources.

Open Source Commitment

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:

  1. 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.
  2. 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.
  3. 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!

Contributing

We welcome community contributions. For guidelines, refer to our CONTRIBUTING.md.

exosphere.host Contributors

About

Main repository for exospherehost

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Python 78.4%
  • TypeScript 19.1%
  • JavaScript 1.9%
  • Other 0.6%