87 lines
2.1 KiB
Nix
87 lines
2.1 KiB
Nix
{
|
|
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";
|
|
};
|
|
}
|