# Dependencies Overview - **Package management**: Use `uv` as the package manager for this codebase. - **aiofile**: Purpose: Real asynchronous file operations with asyncio support. Provides AIOFile for low-level async file I/O, plus helpers like async_open, Reader, Writer, and LineReader. - **asyncpg**: Purpose: A PostgreSQL database interface for Python’s asyncio framework, implementing the PostgreSQL server binary protocol directly. - **fastapi**: Purpose: FastAPI is a modern, fast (high-performance) web framework for building APIs with Python based on standard Python type hints. It provides automatic validation and interactive API documentation with Swagger UI and ReDoc. - **gitpython**: Purpose: A Python library for interacting with Git repositories, both at a high level (porcelain) and low level (plumbing). It provides abstractions over Git objects and lets you access repositories via a pure-Python implementation or the Git command implementation. - **gql**: Purpose: GraphQL client for Python that plays nicely with other GraphQL implementations compatible with the spec. Supports multiple transports for communicating with the backend, with sync and async usage patterns. - **greenlet**: Purpose: Greenlet provides lightweight coroutines for in-process sequential concurrent programming. It can be used on its own or with frameworks like gevent to build cooperative control flow and asynchronous I/O. - **grpcio**: Purpose: Python package for gRPC. It provides the runtime APIs used to build gRPC clients and servers, with protocol-buffer-generated code split into _pb2.py and _pb2_grpc.py files. - **httpx2**: Purpose: HTTPX2 is a fully featured HTTP client library for Python 3 with both synchronous and asynchronous APIs, plus support for HTTP/1.1, HTTP/2, and an integrated command-line client. - **loguru**: Purpose: A Python logging library that provides a pre-instanced logger for easy use and aims to make logging less painful by simplifying configuration. It adds useful logging functionality while keeping usage as simple as from loguru import logger. - **opentelemetry-api**: Purpose: Provides the OpenTelemetry API for Python: abstract classes and no-op implementations that follow the OpenTelemetry specification. Libraries should depend on this API and let applications choose the SDK implementation. - **opentelemetry-exporter-otlp**: Purpose: Convenience package for OpenTelemetry Collector exporters in Python. It installs the OTLP exporters for gRPC and HTTP/protobuf so telemetry can be sent to an OpenTelemetry Collector or other OTLP endpoint. - **opentelemetry-instrumentation-logging**: Purpose: Automatically instruments Python’s stdlib logging with a handler that converts log messages into OpenTelemetry logs and exports them. It can also inject trace context into log records and optionally set a logging format with span/trace IDs. - **opentelemetry-sdk**: Purpose: The OpenTelemetry Python SDK provides the reference implementation of the OpenTelemetry Python API. It supplies the concrete classes for tracing, metrics, and logs, and handles sampling, batching, and exporting telemetry data to backends. - **packaging**: Purpose: Reusable core utilities for Python packaging interoperability specifications. Provides shared implementations for version handling, specifiers, markers, requirements, tags, and related packaging utilities. - **passlib**: Purpose: Passlib is a password hashing library for Python 2 and 3. It provides cross-platform implementations of 30+ password hashing algorithms and a framework for managing existing password hashes. - **psycopg2-binary**: Purpose: Precompiled binary wheel for Psycopg 2, the PostgreSQL database adapter for Python. Install it when you want a self-contained package without build prerequisites; import it as psycopg2. - **pydantic**: Purpose: Python data validation library that uses type annotations to define models, parse and validate complex data, generate JSON Schema, and help ensure data integrity. Source: https://pydantic.dev/docs/ ; https://docs.pydantic.dev/latest/concepts/models/ - **pydantic-settings**: Purpose: Pydantic Settings adds optional Pydantic support for loading configuration classes from environment variables and secrets files. It provides BaseSettings plus configurable sources for env, dotenv, CLI, JSON/TOML/YAML files, and secret managers. - **pygithub**: Purpose: PyGithub is a Python library for working with the GitHub API v3. It lets you manage GitHub resources such as repositories, user profiles, and organizations from Python scripts. - **pyyaml**: Purpose: PyYAML is a YAML parser and emitter for Python. It lets you load YAML documents into Python objects and dump Python objects back to YAML. - **requirements-parser**: Purpose: Python module for parsing pip requirement files. It can parse requirement specifiers, version control requirements, and local files from a file-like object or text string. - **sqlalchemy**: Purpose: Python SQL toolkit and Object Relational Mapper (ORM) for working with databases and SQL. It provides Core SQL expression, schema, engine/connection, and ORM facilities for efficient, Pythonic database access. - **sqlmodel**: Purpose: SQLModel is a library for interacting with SQL databases from Python code using Python objects. It combines SQLAlchemy and Pydantic to make database models simple, compatible, and robust. - **temporalio**: Purpose: Python SDK for Temporal. It provides the client APIs to connect to Temporal and the worker/runtime support to run workflows and activities. - **tiktoken**: Purpose: Fast byte-pair encoding (BPE) tokenizer for OpenAI models. It provides encoding/decoding utilities and model-specific tokenization via get_encoding and encoding_for_model. - **tomlkit**: Purpose: Style-preserving TOML library for Python. Parses, edits, and writes TOML 1.0.0 documents while preserving comments, whitespace, indentation, and ordering. - **tree-sitter-language-pack**: Purpose: Python bindings for tree-sitter-language-pack, providing access to 305 pre-compiled tree-sitter parsers with on-demand downloads. Also exposes helpers to get languages/parsers and run structured source-code analysis via process(). - **typing-extensions**: Purpose: Backports and experimental type hints for Python. It complements the standard typing module by adding runtime support for newer typing features on older Python versions and for experimental PEP-based features. - **unoplat-code-confluence-commons**: Purpose: internal_dependency - **validate-pyproject**: Purpose: Command-line tool and Python library for validating pyproject.toml files with JSON Schema. Includes checks for PEP 517, PEP 518, PEP 621, PEP 639, and PEP 735.