What is Itura?

Itura is a serverless platform designed to simplify the deployment of Python-based agentic applications. Focus on building your agent, and let Itura handle the infrastructure, scaling, and monitoring.

Deploy Your First Agent

This guide assumes you have already created and tested your agent code locally. Itura is agnostic to the framework you use to build your agent, so this could be a simple Python script making some LLM API calls, or a more complex application using any agentic framework like LangChain, LangGraph, or even a custom implementation.

Get your agent running on Itura in 5 minutes by following the steps below ✨

1

Prepare Your Agent Code

Add a Flask endpoint that will be used to trigger your agent. The endpoint will be triggered by an HTTP POST request to the /run endpoint.

app.py
from flask import Flask, request, jsonify
import os

app = Flask(__name__)

@app.route("/run", methods=["POST"])
def run_agent_endpoint():
    data = request.get_json()  # Get data sent in the request
    env_vars = os.environ      # Access configured environment variables
    print("Starting agent execution...") # Logs are captured by Itura
    agent_output = my_agent_logic(data, env_vars)
    print("Agent execution finished.")
    return jsonify(agent_output)

def my_agent_logic(params, env_vars):
    # --- Your Agent Logic Goes Here ---
    # Use params and env_vars as needed
    # Example: api_key = env_vars.get("OPENAI_API_KEY")
    # Example: user_input = params.get("input")
    # Replace with your actual agent implementation
    return {"result": "Agent completed task successfully", "details": "..."}

# Optional: For local testing
# if __name__ == '__main__':
#    app.run(debug=True, port=5001)
2

Create a requirements.txt file

Create a requirements.txt file to specify the dependencies for your agent (for example, by running pip freeze > requirements.txt).

For example, if your agent needs and OpenAI, LangChain, and Flask, your requirements.txt file should look like this:

requirements.txt
openai==1.73.0
langchain==0.3.23
Flask==3.1.0
# Add other libraries your agent needs (e.g., LangGraph, CrewAI, etc.)
3

Push your code to GitHub

Push your agent code (including the Flask endpoint and the requirements.txt file) to a GitHub repository.

4

Connect Your GitHub Repository

Go to the app.itura.ai and connect your GitHub account. Select the repository containing your agent code. Itura will use this repository to build and deploy your agent.

5

Configure Environment Variables

Still from app.itura.ai, navigate to your agent’s settings and configure your environment variables. There you should add any API keys, database credentials, or other secrets that your agent needs to run.

Do not store secrets in your code repository. Instead, configure your environment variables in the Itura UI, and they will be injected into your agent’s runtime environment when it executes.

Done ✨ Itura will automatically build and deploy your agent, providing you with a unique endpoint URL (like https://your-agent-name-12345.agent.itura.ai) and a secret API key that you can use to initiate your agent and monitor its execution.

Pushing new commits to the connected branch of your GitHub repository will automatically trigger a new deployment.

Invoke Your Agent

Interact with your deployed agent by sending an HTTP POST request to its unique URL.

  1. Get your Endpoint URL and API Key: Find these in the Itura UI after your first deployment.
  2. Send the Request: Use curl or any HTTP client. Include your API key in the Authorization: Bearer header.
curl-example.sh
curl -X POST https://your-agent-name.agent.itura.ai/run \
     -H "Authorization: Bearer <your_itura_api_key>" \
     -H "Content-Type: application/json" \
     -d '{"input": "Your agent parameters here"}'

Itura handles invocations asynchronously. A 202 Accepted response means your request is queued.

response.json
{
  "run_id": "unique-run-id",
  "message": "Run request accepted and queued for execution",
  "status": "PENDING"
}

Monitor Execution

You can track the status (PENDING, RUNNING, COMPLETED, FAILED) and view logs for each run directly in the Itura UI.