git: a8695d63f6f0 - main - misc/py-langchain: New port: LangChain: Building applications with LLMs through composability

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sat, 19 Jul 2025 00:34:42 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=a8695d63f6f0dc999a8c92ab0bd1a0eb9ae5b590

commit a8695d63f6f0dc999a8c92ab0bd1a0eb9ae5b590
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-07-18 23:41:00 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-07-19 00:32:01 +0000

    misc/py-langchain: New port: LangChain: Building applications with LLMs through composability
---
 misc/Makefile               |  1 +
 misc/py-langchain/Makefile  | 30 ++++++++++++++++++++++++++++++
 misc/py-langchain/distinfo  |  3 +++
 misc/py-langchain/pkg-descr | 12 ++++++++++++
 4 files changed, 46 insertions(+)

diff --git a/misc/Makefile b/misc/Makefile
index 514100501e98..72c35babe38c 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -456,6 +456,7 @@
     SUBDIR += py-ipyfastscape
     SUBDIR += py-jiwer
     SUBDIR += py-kartograph
+    SUBDIR += py-langchain
     SUBDIR += py-langchain-core
     SUBDIR += py-langchain-tests
     SUBDIR += py-langchain-text-splitters
diff --git a/misc/py-langchain/Makefile b/misc/py-langchain/Makefile
new file mode 100644
index 000000000000..a130ad988637
--- /dev/null
+++ b/misc/py-langchain/Makefile
@@ -0,0 +1,30 @@
+PORTNAME=	langchain
+DISTVERSION=	0.3.26
+CATEGORIES=	misc python # machine-learning
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	LangChain: Building applications with LLMs through composability
+WWW=		https://python.langchain.com/docs/introduction/ \
+		https://github.com/langchain-ai/langchain
+
+LICENSE=	MIT
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pdm-backend>0:devel/py-pdm-backend@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sqlalchemy20>=1.4:databases/py-sqlalchemy20@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}async_timeout>=4.0.0:devel/py-async_timeout@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}langchain-core>=0.3.66:misc/py-langchain-core@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}langchain-text-splitters>=0.3.8:misc/py-langchain-text-splitters@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}langsmith>=0.1.17:misc/py-langsmith@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pydantic2>=2.7.4:devel/py-pydantic2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}requests>=2:www/py-requests@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pyyaml>=5.3:devel/py-pyyaml@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	pep517 autoplist pytest
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/misc/py-langchain/distinfo b/misc/py-langchain/distinfo
new file mode 100644
index 000000000000..acb95cba4289
--- /dev/null
+++ b/misc/py-langchain/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752880089
+SHA256 (langchain-0.3.26.tar.gz) = 8ff034ee0556d3e45eff1f1e96d0d745ced57858414dba7171c8ebdbeb5580c9
+SIZE (langchain-0.3.26.tar.gz) = 10226808
diff --git a/misc/py-langchain/pkg-descr b/misc/py-langchain/pkg-descr
new file mode 100644
index 000000000000..960dec222104
--- /dev/null
+++ b/misc/py-langchain/pkg-descr
@@ -0,0 +1,12 @@
+LangChain is a framework for developing applications powered by large language
+models (LLMs).
+
+LangChain simplifies every stage of the LLM application lifecycle:
+* Development: Build your applications using LangChain's open-source components
+  and third-party integrations. Use LangGraph to build stateful agents with
+  first-class streaming and human-in-the-loop support.
+* Productionization: Use LangSmith to inspect, monitor and evaluate your
+  applications, so that you can continuously optimize and deploy with
+  confidence.
+* Deployment: Turn your LangGraph applications into production-ready APIs and
+  Assistants with LangGraph Platform.