Tech Stack¤
The crewmaster library is built on a modern Python stack that prioritizes robust, scalable, and maintainable code. Here is an overview of the key technologies and libraries that form the foundation of this project.
Core Technologies¤
FastAPI¤
FastAPI is a high-performance, easy-to-use web framework for building APIs with Python. It is the core of the http_driver and provides the infrastructure for serving agents as API endpoints. FastAPI's key benefits include:
- Asynchronous Support: Built on asyncio, it handles concurrent requests efficiently, crucial for long-running LLM invocations.
- Automatic Docs: It automatically generates interactive API documentation with Swagger UI and ReDoc, making it easy to test and integrate with your endpoints.
- Type Hinting: It leverages Python's type hints to provide powerful data validation and code completion.
langgraph¤
langgraph is a library for building stateful, multi-actor applications with LLMs. It is a core dependency that enables the agent orchestration logic within crewmaster. It allows for defining complex sequences of agent interactions, including conditional branching and loops, which are essential for multi-agent workflows.
Server-Sent Events (SSE)¤
Server-Sent Events are a web technology that allows a server to send a continuous stream of data to a client over a single HTTP connection. crewmaster utilizes SSE to provide real-time updates on agent progress, tool usage, and thought processes, enhancing the developer experience by offering transparency into the agent's actions as they happen.
Pydantic¤
Pydantic is a library for data validation and settings management using Python type hints. It is deeply integrated into crewmaster to ensure data integrity and provide a clear and explicit contract for the input and output of agents and skills. This enhances type-safety and reduces common runtime errors.
Other Key Libraries¤
- uvicorn: An ASGI server that runs the FastAPI application, known for its speed and efficiency.
- langchain-openai: The library for interacting with OpenAI's LLM services, used as the "brain" for agents.
- pytest: A powerful and popular testing framework used for all unit and integration tests.