# Dependencies Overview - **Package management**: Use `uv` as the package manager for this codebase. - **aiofiles**: Purpose: aiofiles is an Apache-2.0 licensed Python library for handling local disk files in asyncio applications. It provides async file objects, async tempfile helpers, and executor-backed wrappers for blocking file I/O. - **aiopath**: Purpose: Async pathlib for Python. It reimplements pathlib with asynchronous, awaitable I/O and async generators, and is compatible with asyncio, trio, and async/await syntax. - **asyncpg**: Purpose: A PostgreSQL database interface library built specifically for Python’s asyncio, offering an efficient binary-protocol client implementation. Source: https://magicstack.github.io/asyncpg/current/ - **fastapi**: Purpose: FastAPI is a modern, high-performance Python web framework for building APIs with standard Python type hints. It provides automatic validation and interactive API documentation, including Swagger UI and ReDoc. - **ghapi**: Purpose: Python client and command-line interface for GitHub’s REST API. It auto-generates a Pythonic interface from GitHub’s OpenAPI spec and provides broad, up-to-date coverage of GitHub endpoints. - **jinja2**: Purpose: Fast, expressive, extensible templating engine for Python that renders templates using Python-like syntax. Includes template inheritance, macros, autoescaping, sandboxing, and async support. - **logfire**: Purpose: Logfire is an OpenTelemetry-based observability platform for logs, traces, and metrics, with especially deep support for Python applications. It provides auto-instrumentation and integrations for common Python frameworks and Pydantic, plus strong support for AI/LLM observability. - **loguru**: Purpose: Loguru is a Python logging library that provides a pre-instanced, ready-to-use logger with minimal configuration. It adds features like flexible sinks, file rotation/retention/compression, colors, structured logging, and exception catching while staying compatible with standard logging. - **markdown-it-py**: Purpose: Python port of markdown-it: a fast, configurable Markdown parser that follows CommonMark and supports plugin-based syntax extensions. - **pydantic-ai**: Purpose: Pydantic AI is a Python agent framework for building GenAI applications and agents. It uses Pydantic for structured outputs, dependency injection, tool calling, and composable agent capabilities. - **pydantic-ai-backend**: Purpose: File storage and sandbox backends for Pydantic AI agents. It provides a console toolset for file operations, Docker-isolated execution, and permission controls for safer agent workflows. - **pydantic-ai-skills**: Purpose: A Python framework for building and managing Agent Skills in Pydantic AI. It provides SkillsToolset/SkillsCapability for progressive disclosure, loading filesystem or programmatic skills on demand and staying compatible with the Agent Skills spec. - **pydantic-ai-slim**: Purpose: Slim install variant of Pydantic AI for Python. It gives you the core agent framework and lets you add only the optional provider/tool extras you need. - **qs-codec**: Purpose: Query string encoding and decoding for Python. A Python port of the JavaScript qs library, supporting nested objects/lists, configurable list formats, duplicate-key handling, and charset/encoding options. - **sqlalchemy**: Purpose: Python SQL toolkit and Object Relational Mapper (ORM) for working with databases. It provides Core SQL expression/engine/connection services, plus ORM mapping and dialect support for different backends. - **sqlmodel**: Purpose: A Python library for interacting with SQL databases using standard type annotations. It combines Pydantic’s data validation/serialization with SQLAlchemy’s ORM features and is designed to work especially well with FastAPI. - **sse-starlette**: Purpose: Production-ready Server-Sent Events (SSE) support for Starlette and FastAPI, following the W3C SSE specification. It provides EventSourceResponse plus ServerSentEvent and JSONServerSentEvent helpers for streaming events over HTTP. - **unoplat-code-confluence-commons**: Purpose: Shared common operations and data models used across the Code Confluence ingestion and query utilities. It provides reusable Pydantic/SQLModel-based schemas and related helpers for the package.