Skip to main content

Multi-agent orchestration and testing framework with LangGraph, CrewAI, and FastAPI.

Project description

Agent Testing Library

This repository provides a comprehensive framework for building, testing, and orchestrating agentic workflows in Python. It includes utilities, fixtures, logging, and a rich set of examples demonstrating integration with various agentic frameworks and orchestration patterns.

Project Structure

  • agent_test/: Core testing library for agents

    • src/agent_utils/: Utilities for agent orchestration and metadata
      • remoterunnable_utils.py, models/agent_info.py, models/api_mock_type.py, models/global_metadata.py
    • common/: Logging and shared utilities
      • agent_test_logger.py
    • fixture/: Test fixtures and API mocks
      • fixture_class.py, mock_api/ (various protocol mocks)
    • test/: Unit tests for all modules
      • test_remoterunnable_utils.py, test_agent_info.py, test_api_mock_type.py, test_global_metadata.py, test_agent_test_logger.py, test_fixture_class.py
  • examples/: Practical agentic workflow examples

    • common/: Shared example code
      • api1/api_code.py, worker1/main.py, worker2/main.py, worker3/main.py
    • crewai/: CrewAI orchestration example
      • orchestrator/orchestrator_code.py
    • langgraph/: LangGraph agentic workflows
      • prompt_agentic/asynchronous/orchestrator_code.py, prompt_agentic/asynchronous/test_orchestrator.py
      • prompt_agentic/synchronous/orchestrator_code.py, prompt_agentic/synchronous/test_orchestrator.py
      • simple_graph/orchestrator_code.py, simple_graph/test_orchestrator.py

Examples Section

The examples/ directory demonstrates how to build and orchestrate agentic workflows using different frameworks and patterns. Below are direct code snippets from key example files:

common/api1/api_code.py

def api_call(input_data):
	# Simulate API logic
	return {"result": f"Processed {input_data}"}

common/worker1/main.py

from common.api1.api_code import api_call

def worker1_task(data):
	response = api_call(data)
	print("Worker1 received:", response)

crewai/orchestrator/orchestrator_code.py

def orchestrate_agents(agent_list, task):
	results = []
	for agent in agent_list:
		result = agent.run(task)
		results.append(result)
	return results

langgraph/prompt_agentic/asynchronous/orchestrator_code.py

import asyncio

async def async_orchestrate(agents, task):
	tasks = [agent.run_async(task) for agent in agents]
	return await asyncio.gather(*tasks)

langgraph/prompt_agentic/synchronous/orchestrator_code.py

def sync_orchestrate(agents, task):
	return [agent.run(task) for agent in agents]

langgraph/simple_graph/orchestrator_code.py

def simple_graph_orchestrate(nodes, input_data):
	output = input_data
	for node in nodes:
		output = node.process(output)
	return output

Testing

Unit tests are provided in the agent_test/test/ directory. Run all tests with:

pytest agent_test/test

License

See LICENSE for details.

Future Work

Agentic Framework Alternatives (besides langgraph):

CrewAI (multi-agent orchestration) Autogen (Microsoft’s multi-agent framework) LangChain (chains, agents, tools) Haystack (for RAG and agent pipelines) OpenAI Function Calling (tool-using agents) Semantic Kernel (Microsoft’s orchestration) Custom agent frameworks (your own classes) HuggingFace Transformers Agents LlamaIndex (for agentic workflows) DSPy (for programmatic LLM pipelines) PromptChainer (open-source agentic framework) Direct function/callback-based agents

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

agentic_testing-0.1.0.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentic_testing-0.1.0-py3-none-any.whl (35.2 kB view details)

Uploaded Python 3

File details

Details for the file agentic_testing-0.1.0.tar.gz.

File metadata

  • Download URL: agentic_testing-0.1.0.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for agentic_testing-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b846b97bc7cec1d435944276af3b091ad23fdafec41d4ea23048289e21afd076
MD5 c36f5d4a1900897a3d6d52b09c6e41f4
BLAKE2b-256 71681ac71d2e005ef4f2164a9299d98cbaaf22d04fa4f1462e18fb3aff172756

See more details on using hashes here.

File details

Details for the file agentic_testing-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agentic_testing-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8ec98cbcdf347f00ca3d4de790b4c084991c3319a8230e8bd91aca2cd3c19afb
MD5 313b516ef368ddb3f6cc48401ca2a70a
BLAKE2b-256 e06567ef450f11f5e261ee388046c5da1ad7af325559b51449062417095609d9

See more details on using hashes here.

Supported by

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