{ lib, nix-update-script, python3, fetchFromGitHub, }: python3.pkgs.buildPythonPackage rec { pname = "honcho"; version = "3.0.5"; pyproject = true; src = fetchFromGitHub { owner = "plastic-labs"; repo = "honcho"; rev = "refs/heads/main"; hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; }; # Relax Python dependency version constraints pythonRelaxDeps = true; build-system = with python3.pkgs; [ hatchling ]; dependencies = with python3.pkgs; [ fastapi groq python-dotenv sqlalchemy pgvector greenlet psycopg httpx rich nanoid alembic pyjwt tenacity tiktoken langfuse openai pydantic pydantic-settings google-genai pdfplumber typing-extensions json-repair turbopuffer lancedb pyarrow redis cashews scikit-learn prometheus_client cloudevents fastapi-pagination sentry-sdk ]; # Skip tests - they require a running PostgreSQL with pgvector and Redis doCheck = false; # Disable imports check because honcho tries to connect to database at import time pythonImportsCheck = []; passthru.updateScript = nix-update-script {}; meta = with lib; { description = "Memory library for building stateful AI agents"; longDescription = '' Honcho provides a sophisticated memory and reasoning system for AI agents: - Rich Reasoning System: Multiple implementation methods that extract conclusions from interactions and build comprehensive peer representations - Chat API: Reasoning-informed responses integrating conclusions with context - Background Processing: Asynchronous pipeline for expensive operations - Multi-Provider Support: Configurable LLM providers (OpenAI, Anthropic, Google, Groq) - REST API server for easy integration with any application - PostgreSQL with pgvector for storage ''; homepage = "https://github.com/plastic-labs/honcho"; license = licenses.agpl3Only; platforms = platforms.linux; mainProgram = "honcho"; }; }