summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
Diffstat (limited to 'misc')
-rw-r--r--misc/Makefile12
-rw-r--r--misc/cinnamon-translations/Makefile2
-rw-r--r--misc/cinnamon-translations/distinfo6
-rw-r--r--misc/cinnamon-translations/pkg-plist33
-rw-r--r--misc/flag-icons/Makefile3
-rw-r--r--misc/flag-icons/distinfo6
-rw-r--r--misc/kf6-purpose/distinfo6
-rw-r--r--misc/llama-cpp/Makefile2
-rw-r--r--misc/llama-cpp/distinfo6
-rw-r--r--misc/py-google-ai-generativelanguage/Makefile27
-rw-r--r--misc/py-google-ai-generativelanguage/distinfo3
-rw-r--r--misc/py-google-ai-generativelanguage/pkg-descr7
-rw-r--r--misc/py-huggingface-hub/Makefile2
-rw-r--r--misc/py-huggingface-hub/distinfo6
-rw-r--r--misc/py-langchain-anthropic/Makefile26
-rw-r--r--misc/py-langchain-anthropic/distinfo3
-rw-r--r--misc/py-langchain-anthropic/pkg-descr2
-rw-r--r--misc/py-langchain-core/Makefile46
-rw-r--r--misc/py-langchain-core/distinfo3
-rw-r--r--misc/py-langchain-core/pkg-descr2
-rw-r--r--misc/py-langchain-google-genai/Makefile33
-rw-r--r--misc/py-langchain-google-genai/distinfo3
-rw-r--r--misc/py-langchain-google-genai/pkg-descr2
-rw-r--r--misc/py-langchain-openai/Makefile29
-rw-r--r--misc/py-langchain-openai/distinfo3
-rw-r--r--misc/py-langchain-openai/pkg-descr1
-rw-r--r--misc/py-langchain-tests/Makefile35
-rw-r--r--misc/py-langchain-tests/distinfo3
-rw-r--r--misc/py-langchain-tests/pkg-descr2
-rw-r--r--misc/py-langchain-text-splitters/Makefile33
-rw-r--r--misc/py-langchain-text-splitters/distinfo3
-rw-r--r--misc/py-langchain-text-splitters/pkg-descr2
-rw-r--r--misc/py-langchain/Makefile30
-rw-r--r--misc/py-langchain/distinfo3
-rw-r--r--misc/py-langchain/pkg-descr12
-rw-r--r--misc/py-langgraph-sdk/Makefile25
-rw-r--r--misc/py-langgraph-sdk/distinfo3
-rw-r--r--misc/py-langgraph-sdk/pkg-descr2
-rw-r--r--misc/py-langsmith/Makefile29
-rw-r--r--misc/py-langsmith/distinfo3
-rw-r--r--misc/py-langsmith/pkg-descr5
-rw-r--r--misc/py-litellm/Makefile2
-rw-r--r--misc/py-litellm/distinfo6
-rw-r--r--misc/py-natten/Makefile11
-rw-r--r--misc/py-natten/distinfo6
-rw-r--r--misc/py-openai/Makefile12
-rw-r--r--misc/py-openai/distinfo6
-rw-r--r--misc/python-langgraph-checkpoint/Makefile25
-rw-r--r--misc/python-langgraph-checkpoint/distinfo3
-rw-r--r--misc/python-langgraph-checkpoint/pkg-descr6
-rw-r--r--misc/qman/Makefile61
-rw-r--r--misc/qman/distinfo3
-rw-r--r--misc/qman/files/patch-config_qman.conf12
-rw-r--r--misc/qman/pkg-descr10
-rw-r--r--misc/qman/pkg-plist8
55 files changed, 590 insertions, 45 deletions
diff --git a/misc/Makefile b/misc/Makefile
index ec75cf7ef32a..4c71ef8b01f7 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -444,6 +444,7 @@
SUBDIR += py-fleep
SUBDIR += py-fuzzy
SUBDIR += py-gguf
+ SUBDIR += py-google-ai-generativelanguage
SUBDIR += py-gpiozero
SUBDIR += py-halo
SUBDIR += py-hf-xet
@@ -456,6 +457,15 @@
SUBDIR += py-ipyfastscape
SUBDIR += py-jiwer
SUBDIR += py-kartograph
+ SUBDIR += py-langchain
+ SUBDIR += py-langchain-anthropic
+ SUBDIR += py-langchain-core
+ SUBDIR += py-langchain-google-genai
+ SUBDIR += py-langchain-openai
+ SUBDIR += py-langchain-tests
+ SUBDIR += py-langchain-text-splitters
+ SUBDIR += py-langgraph-sdk
+ SUBDIR += py-langsmith
SUBDIR += py-laspy
SUBDIR += py-lazrs
SUBDIR += py-lightgbm
@@ -543,10 +553,12 @@
SUBDIR += py-xformers
SUBDIR += py-xgboost
SUBDIR += pyobd
+ SUBDIR += python-langgraph-checkpoint
SUBDIR += pytorch
SUBDIR += qbrew
SUBDIR += qlas
SUBDIR += qlcplus
+ SUBDIR += qman
SUBDIR += qt5-doc
SUBDIR += qt5-examples
SUBDIR += qt5-l10n
diff --git a/misc/cinnamon-translations/Makefile b/misc/cinnamon-translations/Makefile
index c2f61eb58e6a..7039499e6335 100644
--- a/misc/cinnamon-translations/Makefile
+++ b/misc/cinnamon-translations/Makefile
@@ -1,5 +1,5 @@
PORTNAME= cinnamon-translations
-PORTVERSION= 5.4.2
+DISTVERSION= 6.4.2
CATEGORIES= misc x11 gnome
DIST_SUBDIR= gnome
diff --git a/misc/cinnamon-translations/distinfo b/misc/cinnamon-translations/distinfo
index 43bb77bcfb14..efb620465874 100644
--- a/misc/cinnamon-translations/distinfo
+++ b/misc/cinnamon-translations/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1660015818
-SHA256 (gnome/linuxmint-cinnamon-translations-5.4.2_GH0.tar.gz) = ef28ba08f32d1e2c8845d6a41742553b90f1afe8d3766d3d4df5c17ee5d565d3
-SIZE (gnome/linuxmint-cinnamon-translations-5.4.2_GH0.tar.gz) = 12650460
+TIMESTAMP = 1737348979
+SHA256 (gnome/linuxmint-cinnamon-translations-6.4.2_GH0.tar.gz) = 7312137f0d3fc416108ae0e239b6ed81737412acd32abb7618e2b65fda3bd75f
+SIZE (gnome/linuxmint-cinnamon-translations-6.4.2_GH0.tar.gz) = 13903679
diff --git a/misc/cinnamon-translations/pkg-plist b/misc/cinnamon-translations/pkg-plist
index a8b914a73a8f..1de86fbf930a 100644
--- a/misc/cinnamon-translations/pkg-plist
+++ b/misc/cinnamon-translations/pkg-plist
@@ -80,6 +80,9 @@ share/locale/br/LC_MESSAGES/cinnamon-control-center.mo
share/locale/br/LC_MESSAGES/cinnamon-screensaver.mo
share/locale/br/LC_MESSAGES/cinnamon-session.mo
share/locale/br/LC_MESSAGES/cinnamon-settings-daemon.mo
+share/locale/br/LC_MESSAGES/cinnamon.mo
+share/locale/br/LC_MESSAGES/nemo-extensions.mo
+share/locale/br/LC_MESSAGES/nemo.mo
share/locale/bs/LC_MESSAGES/cinnamon-control-center.mo
share/locale/bs/LC_MESSAGES/cinnamon-screensaver.mo
share/locale/bs/LC_MESSAGES/cinnamon-session.mo
@@ -100,6 +103,7 @@ share/locale/ca@valencia/LC_MESSAGES/cinnamon-settings-daemon.mo
share/locale/ca@valencia/LC_MESSAGES/cinnamon.mo
share/locale/ca@valencia/LC_MESSAGES/nemo-extensions.mo
share/locale/ca@valencia/LC_MESSAGES/nemo.mo
+share/locale/ckb/LC_MESSAGES/cinnamon.mo
share/locale/crh/LC_MESSAGES/cinnamon-control-center.mo
share/locale/crh/LC_MESSAGES/cinnamon-screensaver.mo
share/locale/crh/LC_MESSAGES/cinnamon-session.mo
@@ -157,8 +161,8 @@ share/locale/en_AU/LC_MESSAGES/cinnamon.mo
share/locale/en_AU/LC_MESSAGES/nemo.mo
share/locale/en_CA/LC_MESSAGES/cinnamon-control-center.mo
share/locale/en_CA/LC_MESSAGES/cinnamon-screensaver.mo
-share/locale/en_CA/LC_MESSAGES/cinnamon-settings-daemon.mo
share/locale/en_CA/LC_MESSAGES/cinnamon-session.mo
+share/locale/en_CA/LC_MESSAGES/cinnamon-settings-daemon.mo
share/locale/en_CA/LC_MESSAGES/cinnamon.mo
share/locale/en_CA/LC_MESSAGES/nemo.mo
share/locale/en_GB/LC_MESSAGES/cinnamon-control-center.mo
@@ -205,6 +209,7 @@ share/locale/fa/LC_MESSAGES/cinnamon-screensaver.mo
share/locale/fa/LC_MESSAGES/cinnamon-session.mo
share/locale/fa/LC_MESSAGES/cinnamon-settings-daemon.mo
share/locale/fa/LC_MESSAGES/cinnamon.mo
+share/locale/fa/LC_MESSAGES/nemo-extensions.mo
share/locale/fa/LC_MESSAGES/nemo.mo
share/locale/fi/LC_MESSAGES/cinnamon-control-center.mo
share/locale/fi/LC_MESSAGES/cinnamon-screensaver.mo
@@ -220,6 +225,7 @@ share/locale/fil/LC_MESSAGES/nemo.mo
share/locale/fo/LC_MESSAGES/cinnamon-screensaver.mo
share/locale/fo/LC_MESSAGES/cinnamon-settings-daemon.mo
share/locale/fo/LC_MESSAGES/cinnamon.mo
+share/locale/fo/LC_MESSAGES/nemo.mo
share/locale/fr/LC_MESSAGES/cinnamon-control-center.mo
share/locale/fr/LC_MESSAGES/cinnamon-screensaver.mo
share/locale/fr/LC_MESSAGES/cinnamon-session.mo
@@ -448,6 +454,11 @@ share/locale/mn/LC_MESSAGES/cinnamon-control-center.mo
share/locale/mn/LC_MESSAGES/cinnamon-screensaver.mo
share/locale/mn/LC_MESSAGES/cinnamon-session.mo
share/locale/mn/LC_MESSAGES/cinnamon-settings-daemon.mo
+share/locale/mnw/LC_MESSAGES/cinnamon.mo
+share/locale/mo/LC_MESSAGES/cinnamon-screensaver.mo
+share/locale/mo/LC_MESSAGES/cinnamon-session.mo
+share/locale/mo/LC_MESSAGES/cinnamon.mo
+share/locale/mo/LC_MESSAGES/nemo-extensions.mo
share/locale/mo/LC_MESSAGES/nemo.mo
share/locale/mr/LC_MESSAGES/cinnamon-control-center.mo
share/locale/mr/LC_MESSAGES/cinnamon-screensaver.mo
@@ -552,6 +563,12 @@ share/locale/pt_BR/LC_MESSAGES/cinnamon-settings-daemon.mo
share/locale/pt_BR/LC_MESSAGES/cinnamon.mo
share/locale/pt_BR/LC_MESSAGES/nemo-extensions.mo
share/locale/pt_BR/LC_MESSAGES/nemo.mo
+share/locale/qu/LC_MESSAGES/cinnamon-control-center.mo
+share/locale/qu/LC_MESSAGES/cinnamon-screensaver.mo
+share/locale/qu/LC_MESSAGES/cinnamon-session.mo
+share/locale/qu/LC_MESSAGES/cinnamon-settings-daemon.mo
+share/locale/qu/LC_MESSAGES/cinnamon.mo
+share/locale/qu/LC_MESSAGES/nemo.mo
share/locale/ro/LC_MESSAGES/cinnamon-control-center.mo
share/locale/ro/LC_MESSAGES/cinnamon-screensaver.mo
share/locale/ro/LC_MESSAGES/cinnamon-session.mo
@@ -566,7 +583,12 @@ share/locale/ru/LC_MESSAGES/cinnamon-settings-daemon.mo
share/locale/ru/LC_MESSAGES/cinnamon.mo
share/locale/ru/LC_MESSAGES/nemo-extensions.mo
share/locale/ru/LC_MESSAGES/nemo.mo
+share/locale/rue/LC_MESSAGES/cinnamon-control-center.mo
+share/locale/rue/LC_MESSAGES/cinnamon-screensaver.mo
+share/locale/rue/LC_MESSAGES/cinnamon-session.mo
+share/locale/rue/LC_MESSAGES/cinnamon-settings-daemon.mo
share/locale/rue/LC_MESSAGES/cinnamon.mo
+share/locale/rue/LC_MESSAGES/nemo.mo
share/locale/rw/LC_MESSAGES/cinnamon-control-center.mo
share/locale/rw/LC_MESSAGES/cinnamon-session.mo
share/locale/rw/LC_MESSAGES/cinnamon-settings-daemon.mo
@@ -604,6 +626,9 @@ share/locale/sl/LC_MESSAGES/cinnamon-settings-daemon.mo
share/locale/sl/LC_MESSAGES/cinnamon.mo
share/locale/sl/LC_MESSAGES/nemo-extensions.mo
share/locale/sl/LC_MESSAGES/nemo.mo
+share/locale/so/LC_MESSAGES/cinnamon-control-center.mo
+share/locale/so/LC_MESSAGES/cinnamon-screensaver.mo
+share/locale/so/LC_MESSAGES/cinnamon-session.mo
share/locale/so/LC_MESSAGES/cinnamon.mo
share/locale/so/LC_MESSAGES/nemo.mo
share/locale/sq/LC_MESSAGES/cinnamon-control-center.mo
@@ -637,6 +662,9 @@ share/locale/sv/LC_MESSAGES/nemo-extensions.mo
share/locale/sv/LC_MESSAGES/nemo.mo
share/locale/sw/LC_MESSAGES/cinnamon.mo
share/locale/sw/LC_MESSAGES/nemo.mo
+share/locale/szl/LC_MESSAGES/cinnamon-control-center.mo
+share/locale/szl/LC_MESSAGES/cinnamon-screensaver.mo
+share/locale/szl/LC_MESSAGES/cinnamon-session.mo
share/locale/szl/LC_MESSAGES/cinnamon.mo
share/locale/szl/LC_MESSAGES/nemo.mo
share/locale/ta/LC_MESSAGES/cinnamon-control-center.mo
@@ -665,7 +693,9 @@ share/locale/th/LC_MESSAGES/cinnamon-settings-daemon.mo
share/locale/th/LC_MESSAGES/cinnamon.mo
share/locale/th/LC_MESSAGES/nemo-extensions.mo
share/locale/th/LC_MESSAGES/nemo.mo
+share/locale/ti/LC_MESSAGES/cinnamon.mo
share/locale/tk/LC_MESSAGES/cinnamon-session.mo
+share/locale/tk/LC_MESSAGES/cinnamon.mo
share/locale/tl/LC_MESSAGES/cinnamon-control-center.mo
share/locale/tl/LC_MESSAGES/cinnamon-screensaver.mo
share/locale/tl/LC_MESSAGES/cinnamon-session.mo
@@ -687,6 +717,7 @@ share/locale/tt/LC_MESSAGES/cinnamon-screensaver.mo
share/locale/tt/LC_MESSAGES/cinnamon-session.mo
share/locale/tt/LC_MESSAGES/cinnamon-settings-daemon.mo
share/locale/tt/LC_MESSAGES/cinnamon.mo
+share/locale/tt/LC_MESSAGES/nemo.mo
share/locale/ug/LC_MESSAGES/cinnamon-control-center.mo
share/locale/ug/LC_MESSAGES/cinnamon-screensaver.mo
share/locale/ug/LC_MESSAGES/cinnamon-session.mo
diff --git a/misc/flag-icons/Makefile b/misc/flag-icons/Makefile
index 7a123012a67d..3e80aee9fc3d 100644
--- a/misc/flag-icons/Makefile
+++ b/misc/flag-icons/Makefile
@@ -1,5 +1,5 @@
PORTNAME= flag-icons
-PORTVERSION= 7.3.2
+PORTVERSION= 7.5.0
DISTVERSIONPREFIX= v
CATEGORIES= misc
@@ -28,6 +28,7 @@ PKGNAMESUFFIX= -${FLAVOR}
.endif
post-extract:
+ @${TEST} $$(${FIND} ${WRKSRC}/flags -type f | wc -l) = $$((271 * 2))
cd ${WRKSRC}/flags && ${SH} ${FILESDIR}/makeflags.sh add-missing-flags
do-build:
diff --git a/misc/flag-icons/distinfo b/misc/flag-icons/distinfo
index 4635639281ae..12f047873e72 100644
--- a/misc/flag-icons/distinfo
+++ b/misc/flag-icons/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1737122630
-SHA256 (lipis-flag-icons-v7.3.2_GH0.tar.gz) = 6a5497e1029e66415c3941a5e5ee001944b0a7e46bf365c6d5a91a033acee87e
-SIZE (lipis-flag-icons-v7.3.2_GH0.tar.gz) = 1322290
+TIMESTAMP = 1748541140
+SHA256 (lipis-flag-icons-v7.5.0_GH0.tar.gz) = 5502d1bb0bda9f258d726d3c084a2d57a07cfdfa6d2ed18cbb5a1ee11b307778
+SIZE (lipis-flag-icons-v7.5.0_GH0.tar.gz) = 1324796
diff --git a/misc/kf6-purpose/distinfo b/misc/kf6-purpose/distinfo
index 520735e8874b..57f25be97bec 100644
--- a/misc/kf6-purpose/distinfo
+++ b/misc/kf6-purpose/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749832091
-SHA256 (KDE/frameworks/6.15/purpose-6.15.0.tar.xz) = d1c0c94a6a6ca11e2dc447431d005e11a73dec33692bef619b0b97bb525fc49e
-SIZE (KDE/frameworks/6.15/purpose-6.15.0.tar.xz) = 189508
+TIMESTAMP = 1752529513
+SHA256 (KDE/frameworks/6.16/purpose-6.16.0.tar.xz) = aa0ff2c98e0cd517c4d81914ba28f4a6101b25ee9acb177480967f45b03988bf
+SIZE (KDE/frameworks/6.16/purpose-6.16.0.tar.xz) = 189540
diff --git a/misc/llama-cpp/Makefile b/misc/llama-cpp/Makefile
index c314d14b277e..6a6f8f36ca37 100644
--- a/misc/llama-cpp/Makefile
+++ b/misc/llama-cpp/Makefile
@@ -1,6 +1,6 @@
PORTNAME= llama-cpp
DISTVERSIONPREFIX= b
-DISTVERSION= 5862
+DISTVERSION= 5897
CATEGORIES= misc # machine-learning
MAINTAINER= yuri@FreeBSD.org
diff --git a/misc/llama-cpp/distinfo b/misc/llama-cpp/distinfo
index 49c7c2cacb3d..0b0d820bedc1 100644
--- a/misc/llama-cpp/distinfo
+++ b/misc/llama-cpp/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1752140413
-SHA256 (ggerganov-llama.cpp-b5862_GH0.tar.gz) = 987e8e7a58a38e30c0966c59f65318c7e18506685f580bf70dcda2dc892aa47f
-SIZE (ggerganov-llama.cpp-b5862_GH0.tar.gz) = 25043505
+TIMESTAMP = 1752529454
+SHA256 (ggerganov-llama.cpp-b5897_GH0.tar.gz) = 95f920d2cd25ab878fb1ad115fa0d810ec44c3582a72c4ce02d362a0000a2455
+SIZE (ggerganov-llama.cpp-b5897_GH0.tar.gz) = 25179873
SHA256 (nomic-ai-kompute-4565194_GH0.tar.gz) = 95b52d2f0514c5201c7838348a9c3c9e60902ea3c6c9aa862193a212150b2bfc
SIZE (nomic-ai-kompute-4565194_GH0.tar.gz) = 13540496
diff --git a/misc/py-google-ai-generativelanguage/Makefile b/misc/py-google-ai-generativelanguage/Makefile
new file mode 100644
index 000000000000..1cf2e57e799e
--- /dev/null
+++ b/misc/py-google-ai-generativelanguage/Makefile
@@ -0,0 +1,27 @@
+PORTNAME= google-ai-generativelanguage
+DISTVERSION= 0.6.18
+CATEGORIES= misc python # machine-learning
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= ${PORTNAME:S/-/_/g}-${PORTVERSION}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Google's Python Client for Generative Language API
+WWW= https://github.com/googleapis/google-cloud-python/tree/main/packages/google-ai-generativelanguage
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}google-api-core>=1.34.1:www/py-google-api-core@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}google-auth>=2.14.1:security/py-google-auth@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}proto-plus>=1.22.3:devel/py-proto-plus@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}protobuf>=3.20.2:devel/py-protobuf@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= distutils autoplist pytest
+
+NO_ARCH= yes
+
+# tests as of 0.6.18: 7018 passed, 433 warnings in 95.27s (0:01:35)
+
+.include <bsd.port.mk>
diff --git a/misc/py-google-ai-generativelanguage/distinfo b/misc/py-google-ai-generativelanguage/distinfo
new file mode 100644
index 000000000000..6823b48462f4
--- /dev/null
+++ b/misc/py-google-ai-generativelanguage/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752881601
+SHA256 (google_ai_generativelanguage-0.6.18.tar.gz) = 274ba9fcf69466ff64e971d565884434388e523300afd468fc8e3033cd8e606e
+SIZE (google_ai_generativelanguage-0.6.18.tar.gz) = 1444757
diff --git a/misc/py-google-ai-generativelanguage/pkg-descr b/misc/py-google-ai-generativelanguage/pkg-descr
new file mode 100644
index 000000000000..0e1e37b29a57
--- /dev/null
+++ b/misc/py-google-ai-generativelanguage/pkg-descr
@@ -0,0 +1,7 @@
+Generative Language API: The Gemini API allows developers to build generative AI
+applications using Gemini models. Gemini is our most capable model, built from
+the ground up to be multimodal. It can generalize and seamlessly understand,
+operate across, and combine different types of information including language,
+images, audio, video, and code. You can use the Gemini API for use cases like
+reasoning across text and images, content generation, dialogue agents,
+summarization and classification systems, and more.
diff --git a/misc/py-huggingface-hub/Makefile b/misc/py-huggingface-hub/Makefile
index a64f80837d4c..28031567379e 100644
--- a/misc/py-huggingface-hub/Makefile
+++ b/misc/py-huggingface-hub/Makefile
@@ -1,5 +1,5 @@
PORTNAME= huggingface-hub
-DISTVERSION= 0.33.2
+DISTVERSION= 0.33.4
CATEGORIES= misc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/misc/py-huggingface-hub/distinfo b/misc/py-huggingface-hub/distinfo
index c8be21b749e2..c8c051e41f6b 100644
--- a/misc/py-huggingface-hub/distinfo
+++ b/misc/py-huggingface-hub/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751591525
-SHA256 (huggingface_hub-0.33.2.tar.gz) = 84221defaec8fa09c090390cd68c78b88e3c4c2b7befba68d3dc5aacbc3c2c5f
-SIZE (huggingface_hub-0.33.2.tar.gz) = 426637
+TIMESTAMP = 1752453541
+SHA256 (huggingface_hub-0.33.4.tar.gz) = 6af13478deae120e765bfd92adad0ae1aec1ad8c439b46f23058ad5956cbca0a
+SIZE (huggingface_hub-0.33.4.tar.gz) = 426674
diff --git a/misc/py-langchain-anthropic/Makefile b/misc/py-langchain-anthropic/Makefile
new file mode 100644
index 000000000000..beaf312bb862
--- /dev/null
+++ b/misc/py-langchain-anthropic/Makefile
@@ -0,0 +1,26 @@
+PORTNAME= langchain-anthropic
+DISTVERSION= 0.3.17
+CATEGORIES= misc python # machine-learning
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= ${PORTNAME:S/-/_/}-${PORTVERSION}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= LangChain: Integration package connecting Anthropic and LangChain
+WWW= https://github.com/langchain-ai/langchain/tree/master/libs/partners/anthropic
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+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}anthropic>=0:misc/py-anthropic@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}langchain-core>=0.3.68:misc/py-langchain-core@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.7.4:devel/py-pydantic2@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= pep517 autoplist
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/misc/py-langchain-anthropic/distinfo b/misc/py-langchain-anthropic/distinfo
new file mode 100644
index 000000000000..3a8864d81a72
--- /dev/null
+++ b/misc/py-langchain-anthropic/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752898952
+SHA256 (langchain_anthropic-0.3.17.tar.gz) = f2c2a0382ed7992204d790ff8538448f5243f4dbb1e798256ef790c9a69033e4
+SIZE (langchain_anthropic-0.3.17.tar.gz) = 55831
diff --git a/misc/py-langchain-anthropic/pkg-descr b/misc/py-langchain-anthropic/pkg-descr
new file mode 100644
index 000000000000..c3daff08f845
--- /dev/null
+++ b/misc/py-langchain-anthropic/pkg-descr
@@ -0,0 +1,2 @@
+langchain-anthropic is an integration package connecting Anthropic
+and LangChain.
diff --git a/misc/py-langchain-core/Makefile b/misc/py-langchain-core/Makefile
new file mode 100644
index 000000000000..3b62d18fd4ae
--- /dev/null
+++ b/misc/py-langchain-core/Makefile
@@ -0,0 +1,46 @@
+PORTNAME= langchain-core
+DISTVERSION= 0.3.69
+CATEGORIES= misc python # machine-learning
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= ${PORTNAME:S/-/_/}-${PORTVERSION}
+
+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}jsonpatch>=1.33:devel/py-jsonpatch@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}langsmith>=0.3.45:misc/py-langsmith@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}packaging>=23.2:devel/py-packaging@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.7.4:devel/py-pydantic2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pyyaml>=5.3:devel/py-pyyaml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tenacity>=8.4.0<10.0.0>=8.1.0:devel/py-tenacity@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.7:devel/py-typing-extensions@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}blockbuster>=1.5.18:devel/py-blockbuster@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}freezegun>=1.2.2:devel/py-freezegun@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}grandalf>=0.8:math/py-grandalf@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}langchain-tests>0:misc/py-langchain-tests@${PY_FLAVOR} \
+ ${PYNUMPY} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-asyncio>=0.21.1:devel/py-pytest-asyncio@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-benchmark>0:devel/py-pytest-benchmark@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-codspeed>0:devel/py-pytest-codspeed@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-mock>=3.10.0:devel/py-pytest-mock@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-socket>=0.7.0:devel/py-pytest-socket@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-watcher>0:devel/py-pytest-watcher@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-xdist>=3.6.1:devel/py-pytest-xdist@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}responses>=0.25.0:devel/py-responses@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}syrupy>=4.0.2:devel/py-syrupy@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= pep517 autoplist pytest
+
+NO_ARCH= yes
+
+# tests fail with: INTERNALERROR> ValueError: no option named 'only_extended'
+
+.include <bsd.port.mk>
diff --git a/misc/py-langchain-core/distinfo b/misc/py-langchain-core/distinfo
new file mode 100644
index 000000000000..5a0903e1fb5a
--- /dev/null
+++ b/misc/py-langchain-core/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752809210
+SHA256 (langchain_core-0.3.69.tar.gz) = c132961117cc7f0227a4c58dd3e209674a6dd5b7e74abc61a0df93b0d736e283
+SIZE (langchain_core-0.3.69.tar.gz) = 563824
diff --git a/misc/py-langchain-core/pkg-descr b/misc/py-langchain-core/pkg-descr
new file mode 100644
index 000000000000..3ba3698d7f43
--- /dev/null
+++ b/misc/py-langchain-core/pkg-descr
@@ -0,0 +1,2 @@
+langchain-core is a core library of LangChain.
+LangChain is a framework for building LLM-powered applications.
diff --git a/misc/py-langchain-google-genai/Makefile b/misc/py-langchain-google-genai/Makefile
new file mode 100644
index 000000000000..aeb7ef696497
--- /dev/null
+++ b/misc/py-langchain-google-genai/Makefile
@@ -0,0 +1,33 @@
+PORTNAME= langchain-google-genai
+DISTVERSION= 2.1.8
+CATEGORIES= misc python # machine-learning
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= ${PORTNAME:S/-/_/g}-${PORTVERSION}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Integration package connecting Google's genai package and LangChain
+WWW= https://github.com/langchain-ai/langchain-google
+
+LICENSE= MIT
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>0:devel/py-poetry-core@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}filetype>=1.2.0:devel/py-filetype@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}google-ai-generativelanguage>=0.6.18:misc/py-google-ai-generativelanguage@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}langchain-core>=0.3.68:misc/py-langchain-core@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pydantic2>=2:devel/py-pydantic2@${PY_FLAVOR}
+#TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}freezegun>=1.2.2:devel/py-freezegun@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}langchain-tests>=0.3.20:misc/py-langchain-tests@${PY_FLAVOR} \
+ ${PYNUMPY} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-asyncio>=0.21.1:devel/py-pytest-asyncio@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-mock>=3.10.0:devel/py-pytest-mock@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-watcher>0:devel/py-pytest-watcher@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}syrupy>=4.0.2:devel/py-syrupy@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= pep517 autoplist
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/misc/py-langchain-google-genai/distinfo b/misc/py-langchain-google-genai/distinfo
new file mode 100644
index 000000000000..9a7eeaa23c1c
--- /dev/null
+++ b/misc/py-langchain-google-genai/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752881141
+SHA256 (langchain_google_genai-2.1.8.tar.gz) = dfdc491f66880ed85f88dc117f84d3feb19108ad4b8c408ad1d0efb27b7c9dd6
+SIZE (langchain_google_genai-2.1.8.tar.gz) = 44298
diff --git a/misc/py-langchain-google-genai/pkg-descr b/misc/py-langchain-google-genai/pkg-descr
new file mode 100644
index 000000000000..9d296ce1a0d8
--- /dev/null
+++ b/misc/py-langchain-google-genai/pkg-descr
@@ -0,0 +1,2 @@
+langchain-google-genai is an integration package connecting Google's genai
+package and LangChain.
diff --git a/misc/py-langchain-openai/Makefile b/misc/py-langchain-openai/Makefile
new file mode 100644
index 000000000000..5b82f11a564b
--- /dev/null
+++ b/misc/py-langchain-openai/Makefile
@@ -0,0 +1,29 @@
+PORTNAME= langchain-openai
+DISTVERSION= 0.3.28
+CATEGORIES= misc python # machine-learning
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= ${PORTNAME:S/-/_/}-${PORTVERSION}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= LangChain: Integration package connecting OpenAI and LangChain
+WWW= https://python.langchain.com/docs/introduction/ \
+ https://github.com/langchain-ai/langchain
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+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}langchain-core>=0.3.68:misc/py-langchain-core@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}openai>=1.86.0:misc/py-openai@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tiktoken>=0.7:textproc/py-tiktoken@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= pep517 autoplist pytest
+
+NO_ARCH= yes
+
+# tests as of 0.3.28: 233 failed, 262 passed, 11 skipped, 2 xfailed, 5 xpassed, 52 warnings, 131 errors, 8 rerun in 217.53s (0:03:37)
+
+.include <bsd.port.mk>
diff --git a/misc/py-langchain-openai/distinfo b/misc/py-langchain-openai/distinfo
new file mode 100644
index 000000000000..41608050abd2
--- /dev/null
+++ b/misc/py-langchain-openai/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752886986
+SHA256 (langchain_openai-0.3.28.tar.gz) = 6c669548dbdea325c034ae5ef699710e2abd054c7354fdb3ef7bf909dc739d9e
+SIZE (langchain_openai-0.3.28.tar.gz) = 753951
diff --git a/misc/py-langchain-openai/pkg-descr b/misc/py-langchain-openai/pkg-descr
new file mode 100644
index 000000000000..399e1f7dc0e7
--- /dev/null
+++ b/misc/py-langchain-openai/pkg-descr
@@ -0,0 +1 @@
+langchain-openai is an integration package connecting OpenAI and LangChain.
diff --git a/misc/py-langchain-tests/Makefile b/misc/py-langchain-tests/Makefile
new file mode 100644
index 000000000000..b2f71b7b89cc
--- /dev/null
+++ b/misc/py-langchain-tests/Makefile
@@ -0,0 +1,35 @@
+PORTNAME= langchain-tests
+DISTVERSION= 0.3.20
+CATEGORIES= misc python # machine-learning
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= ${PORTNAME:S/-/_/}-${PORTVERSION}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= LangChain: Standard tests for LangChain implementations
+WWW= https://github.com/langchain-ai/langchain/tree/master/libs/standard-tests
+
+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}httpx>=0.25.0:www/py-httpx@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}langchain-core>=0.3.63:misc/py-langchain-core@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}numpy>=1.26.2:math/py-numpy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest>=7:devel/py-pytest@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-asyncio>=0.20:devel/py-pytest-asyncio@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-benchmark>0:devel/py-pytest-benchmark@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-codspeed>0:devel/py-pytest-codspeed@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-recording>0:devel/py-pytest-recording@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-socket>=0.6.0:devel/py-pytest-socket@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}syrupy>=4:devel/py-syrupy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}vcrpy>=7.0:devel/py-vcrpy@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= pep517 autoplist pytest
+
+NO_ARCH= yes
+
+# tests as of 0.3.20: 127 passed, 27 skipped, 1 warning in 6.57s
+
+.include <bsd.port.mk>
diff --git a/misc/py-langchain-tests/distinfo b/misc/py-langchain-tests/distinfo
new file mode 100644
index 000000000000..697c53ffc950
--- /dev/null
+++ b/misc/py-langchain-tests/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752828444
+SHA256 (langchain_tests-0.3.20.tar.gz) = b94c05e37d191d4768a1a5064f2ca4053bacd48ff41e10af245ffa6a065ead4d
+SIZE (langchain_tests-0.3.20.tar.gz) = 42979
diff --git a/misc/py-langchain-tests/pkg-descr b/misc/py-langchain-tests/pkg-descr
new file mode 100644
index 000000000000..099201d837b2
--- /dev/null
+++ b/misc/py-langchain-tests/pkg-descr
@@ -0,0 +1,2 @@
+Test support framework for LangChain,
+framework for building LLM-powered applications.
diff --git a/misc/py-langchain-text-splitters/Makefile b/misc/py-langchain-text-splitters/Makefile
new file mode 100644
index 000000000000..d9466b0060bc
--- /dev/null
+++ b/misc/py-langchain-text-splitters/Makefile
@@ -0,0 +1,33 @@
+PORTNAME= langchain-text-splitters
+DISTVERSION= 0.3.8
+CATEGORIES= misc python # machine-learning
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= ${PORTNAME:S/-/_/g}-${PORTVERSION}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= LangChain: Text splitting utilities
+WWW= https://github.com/langchain-ai/langchain/tree/master/libs/text-splitter \
+ 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}langchain-core>=0.3.51:misc/py-langchain-core@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}freezegun>0:devel/py-freezegun@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}langchain-core>0:misc/py-langchain-core@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-asyncio>=0.21.1:devel/py-pytest-asyncio@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-mock>=3.10.0:devel/py-pytest-mock@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-socket>=0.7.0:devel/py-pytest-socket@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-watcher>0:devel/py-pytest-watcher@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-xdist>=3.6.1:devel/py-pytest-xdist@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= pep517 autoplist pytest
+
+NO_ARCH= yes
+
+# tests fail: INTERNALERROR> ValueError: no option named 'only_extended'
+
+.include <bsd.port.mk>
diff --git a/misc/py-langchain-text-splitters/distinfo b/misc/py-langchain-text-splitters/distinfo
new file mode 100644
index 000000000000..fc86fa0d063d
--- /dev/null
+++ b/misc/py-langchain-text-splitters/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752863677
+SHA256 (langchain_text_splitters-0.3.8.tar.gz) = 116d4b9f2a22dda357d0b79e30acf005c5518177971c66a9f1ab0edfdb0f912e
+SIZE (langchain_text_splitters-0.3.8.tar.gz) = 42128
diff --git a/misc/py-langchain-text-splitters/pkg-descr b/misc/py-langchain-text-splitters/pkg-descr
new file mode 100644
index 000000000000..19a318f629d2
--- /dev/null
+++ b/misc/py-langchain-text-splitters/pkg-descr
@@ -0,0 +1,2 @@
+LangChain Text Splitters contains utilities for splitting into chunks a wide
+variety of text documents.
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.
diff --git a/misc/py-langgraph-sdk/Makefile b/misc/py-langgraph-sdk/Makefile
new file mode 100644
index 000000000000..03dc5d695150
--- /dev/null
+++ b/misc/py-langgraph-sdk/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= langgraph-sdk
+DISTVERSION= 0.1.73
+CATEGORIES= misc python # machine-learning
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= ${PORTNAME:S/-/_/}-${PORTVERSION}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= LangGraph: SDK for interacting with LangGraph API
+WWW= https://github.com/langchain-ai/langgraph/tree/main/libs/sdk-py
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}httpx>=0.25.2:www/py-httpx@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}orjson>=3.10.1:devel/py-orjson@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= pep517 autoplist
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/misc/py-langgraph-sdk/distinfo b/misc/py-langgraph-sdk/distinfo
new file mode 100644
index 000000000000..7b5cd1f27369
--- /dev/null
+++ b/misc/py-langgraph-sdk/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752885687
+SHA256 (langgraph_sdk-0.1.73.tar.gz) = 6e6dcdf66bcf8710739899616856527a72a605ce15beb76fbac7f4ce0e2ad080
+SIZE (langgraph_sdk-0.1.73.tar.gz) = 72157
diff --git a/misc/py-langgraph-sdk/pkg-descr b/misc/py-langgraph-sdk/pkg-descr
new file mode 100644
index 000000000000..55c3a27cb6c9
--- /dev/null
+++ b/misc/py-langgraph-sdk/pkg-descr
@@ -0,0 +1,2 @@
+langgraph-sdk is a Python SDK for interacting with the LangGraph Platform
+REST API.
diff --git a/misc/py-langsmith/Makefile b/misc/py-langsmith/Makefile
new file mode 100644
index 000000000000..ecfa5931e2d3
--- /dev/null
+++ b/misc/py-langsmith/Makefile
@@ -0,0 +1,29 @@
+PORTNAME= langsmith
+DISTVERSION= 0.4.6
+PORTREVISION= 1
+CATEGORIES= misc python # machine-learning
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Library to connect to the LangSmith LLM Tracing & Evaluation Platform
+WWW= https://smith.langchain.com/ \
+ https://github.com/langchain-ai/langsmith-sdk/tree/main/python
+
+LICENSE= MIT
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>0:devel/py-poetry-core@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}httpx>=0.28.1:www/py-httpx@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}orjson>=3.9.14:devel/py-orjson@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pydantic2>0:devel/py-pydantic2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests-toolbelt>0:www/py-requests-toolbelt@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}zstandard>=0.23.0:archivers/py-zstandard@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= pep517 autoplist
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/misc/py-langsmith/distinfo b/misc/py-langsmith/distinfo
new file mode 100644
index 000000000000..1db3d45c1775
--- /dev/null
+++ b/misc/py-langsmith/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752786494
+SHA256 (langsmith-0.4.6.tar.gz) = 9189dbc9c60f2086ca3a1f0110cfe3aff6b0b7c2e0e3384f9572e70502e7933c
+SIZE (langsmith-0.4.6.tar.gz) = 352364
diff --git a/misc/py-langsmith/pkg-descr b/misc/py-langsmith/pkg-descr
new file mode 100644
index 000000000000..66f54506e9b8
--- /dev/null
+++ b/misc/py-langsmith/pkg-descr
@@ -0,0 +1,5 @@
+LangSmith helps your team debug, evaluate, and monitor your language models
+and intelligent agents. It works with any LLM Application, including a native
+integration with the LangChain Python and LangChain JS open source libraries.
+LangSmith is developed and maintained by LangChain, the company behind the
+LangChain framework.
diff --git a/misc/py-litellm/Makefile b/misc/py-litellm/Makefile
index 495ede95db1b..e0eda80b75e8 100644
--- a/misc/py-litellm/Makefile
+++ b/misc/py-litellm/Makefile
@@ -1,5 +1,5 @@
PORTNAME= litellm
-DISTVERSION= 1.74.0
+DISTVERSION= 1.74.4
CATEGORIES= misc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/misc/py-litellm/distinfo b/misc/py-litellm/distinfo
index dac2a2b05f8f..2cf75c018bc2 100644
--- a/misc/py-litellm/distinfo
+++ b/misc/py-litellm/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751699635
-SHA256 (litellm-1.74.0.tar.gz) = 2ee64579568cc81835025db45da6d91ee7ec6706ab4adf1a833866999ed822e7
-SIZE (litellm-1.74.0.tar.gz) = 9095626
+TIMESTAMP = 1752803436
+SHA256 (litellm-1.74.4.tar.gz) = ace3dd8c052b57b728a2dbd38e7061cf95e3506b13a58c61da39902f6ee4a6be
+SIZE (litellm-1.74.4.tar.gz) = 9405133
diff --git a/misc/py-natten/Makefile b/misc/py-natten/Makefile
index 3f4cf385219e..0227faf81b6a 100644
--- a/misc/py-natten/Makefile
+++ b/misc/py-natten/Makefile
@@ -1,6 +1,6 @@
PORTNAME= natten
DISTVERSIONPREFIX= v
-DISTVERSION= 0.20.1
+DISTVERSION= 0.21.0
CATEGORIES= misc python # machine-learning
#MASTER_SITES= PYPI # no tests
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -39,13 +39,6 @@ post-install:
${STAGEDIR}${PYTHON_SITELIBDIR}/cmake_install.cmake \
${STAGEDIR}${PYTHON_SITELIBDIR}/Makefile
-# tests as of 0.17.4:
-# Results (35.54s):
-# 24 passed
-# 2 failed
-# - .:?
-# - .:?
-# 12 xfailed
-# 59 skipped
+# tests as of 0.21.0: 1 passed, 55 skipped, 1 warning in 14.76s
.include <bsd.port.mk>
diff --git a/misc/py-natten/distinfo b/misc/py-natten/distinfo
index 5e4a981e7cf4..b18f48f68901 100644
--- a/misc/py-natten/distinfo
+++ b/misc/py-natten/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749969908
-SHA256 (SHI-Labs-NATTEN-v0.20.1_GH0.tar.gz) = ceadc8e83114d192d28d1c913e707eaea7f389031a6024d53cf53bdfa745b9c0
-SIZE (SHI-Labs-NATTEN-v0.20.1_GH0.tar.gz) = 6022603
+TIMESTAMP = 1752560055
+SHA256 (SHI-Labs-NATTEN-v0.21.0_GH0.tar.gz) = d22854304f0329bb8382aa49ff33c964c9936d3939b2b5cfa29213f64fbca46a
+SIZE (SHI-Labs-NATTEN-v0.21.0_GH0.tar.gz) = 6125670
diff --git a/misc/py-openai/Makefile b/misc/py-openai/Makefile
index c6084a3fd265..ca4fcff5fde6 100644
--- a/misc/py-openai/Makefile
+++ b/misc/py-openai/Makefile
@@ -1,5 +1,5 @@
PORTNAME= openai
-DISTVERSION= 1.73.0
+DISTVERSION= 1.97.0
CATEGORIES= misc # machine-learning
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -15,14 +15,14 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}hatch-fancy-pypi-readme>=0:devel/py-hatch-fancy-pypi-readme@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}anyio>=3.5.0<5:devel/py-anyio@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}distro>=1.7.0<2.0.0:sysutils/py-distro@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}httpx>=0.23.0<1:www/py-httpx@${PY_FLAVOR} \
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}anyio>=3.5.0:devel/py-anyio@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}distro>=1.7.0:sysutils/py-distro@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}httpx>=0.23.0:www/py-httpx@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pydantic2>=1.9.0<3:devel/py-pydantic2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sniffio>0:devel/py-sniffio@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tqdm>4:misc/py-tqdm@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.11<5:devel/py-typing-extensions@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}jiter>=0.4.0<1:textproc/py-jiter@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.11:devel/py-typing-extensions@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}jiter>=0.4.0:textproc/py-jiter@${PY_FLAVOR}
RUN_DEPENDS+= ${PYNUMPY} \
${PYTHON_PKGNAMEPREFIX}pandas>=1.2.3:math/py-pandas@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}azure-identity>0:devel/py-azure-identity@${PY_FLAVOR} \
diff --git a/misc/py-openai/distinfo b/misc/py-openai/distinfo
index 0c402b06d838..50bfa18f91c1 100644
--- a/misc/py-openai/distinfo
+++ b/misc/py-openai/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744537072
-SHA256 (openai-1.73.0.tar.gz) = b58ea39ba589de07db85c9905557ac12d2fc77600dcd2b92a08b99c9a3dce9e0
-SIZE (openai-1.73.0.tar.gz) = 426942
+TIMESTAMP = 1752887244
+SHA256 (openai-1.97.0.tar.gz) = 0be349569ccaa4fb54f97bb808423fd29ccaeb1246ee1be762e0c81a47bae0aa
+SIZE (openai-1.97.0.tar.gz) = 493850
diff --git a/misc/python-langgraph-checkpoint/Makefile b/misc/python-langgraph-checkpoint/Makefile
new file mode 100644
index 000000000000..87d9eb3255b9
--- /dev/null
+++ b/misc/python-langgraph-checkpoint/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= langgraph-checkpoint
+DISTVERSION= 2.1.1
+CATEGORIES= misc python # machine-learning
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= ${PORTNAME:S/-/_/}-${PORTVERSION}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= LangGraph: Base interfaces for LangGraph checkpoint savers
+WWW= https://github.com/langchain-ai/langgraph
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}langchain-core>=0.2.38:misc/py-langchain-core@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}ormsgpack>=1.10.0:devel/py-ormsgpack@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= pep517 autoplist
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/misc/python-langgraph-checkpoint/distinfo b/misc/python-langgraph-checkpoint/distinfo
new file mode 100644
index 000000000000..358e089299d5
--- /dev/null
+++ b/misc/python-langgraph-checkpoint/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752906587
+SHA256 (langgraph_checkpoint-2.1.1.tar.gz) = 72038c0f9e22260cb9bff1f3ebe5eb06d940b7ee5c1e4765019269d4f21cf92d
+SIZE (langgraph_checkpoint-2.1.1.tar.gz) = 136256
diff --git a/misc/python-langgraph-checkpoint/pkg-descr b/misc/python-langgraph-checkpoint/pkg-descr
new file mode 100644
index 000000000000..09e501634e40
--- /dev/null
+++ b/misc/python-langgraph-checkpoint/pkg-descr
@@ -0,0 +1,6 @@
+The langgraph-checkpoint library defines the base interface for LangGraph
+checkpointers. Checkpointers provide a persistence layer for LangGraph.
+They allow you to interact with and manage the graph's state. When you use
+a graph with a checkpointer, the checkpointer saves a checkpoint of the
+graph state at every superstep, enabling several powerful capabilities like
+human-in-the-loop, "memory" between interactions and more.
diff --git a/misc/qman/Makefile b/misc/qman/Makefile
new file mode 100644
index 000000000000..350c241b60ee
--- /dev/null
+++ b/misc/qman/Makefile
@@ -0,0 +1,61 @@
+PORTNAME= qman
+PORTVERSION= 1.4.2.20250630
+CATEGORIES= misc
+
+MAINTAINER= tagattie@FreeBSD.org
+COMMENT= More modern man page viewer for our terminals
+WWW= https://github.com/plp13/qman
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= cog:devel/py-cogapp
+
+USES= groff:run meson pkgconfig
+
+USE_GITHUB= yes
+GH_ACCOUNT= plp13
+GH_TAGNAME= 16b4e808ab619d7bfb7d94017ca9505b69a387fb
+
+MESON_ARGS= -Dconfigdir=${PREFIX}/etc/xdg/${PORTNAME} \
+ -Ddocs=disabled \
+ -Dtests=disabled
+
+OPTIONS_DEFINE= BZIP2 DOCS GZIP LZMA MANPAGES
+OPTIONS_DEFAULT=BZIP2 GZIP LZMA MANPAGES
+OPTIONS_SUB= yes
+
+BZIP2_DESC= Support bzip2-compressed manual pages
+GZIP_DESC= Support gzip-compressed manual pages
+LZMA_DESC= Support xz-compressed manual pages
+
+BZIP2_MESON_ENABLED= bzip2
+GZIP_MESON_ENABLED= gzip
+LZMA_MESON_ENABLED= lzma
+MANPAGES_MESON_ENABLED= man-pages
+
+PORTDOCS= BUILDING.md CONTRIBUTING.md DEBUGGING.md OS_SPECIFIC.md \
+ README.md TESTING.md TROUBLESHOOTING.md
+
+.include <bsd.port.options.mk>
+
+# FreeBSD 13 is missing /usr/libdata/pkgconfig/ncursesw.pc
+.if ${OPSYS} == FreeBSD && ${OSREL:R} == 13
+USES+= ncurses:port
+.else
+USES+= ncurses
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
+ ${WRKSRC}/config/qman.conf
+ @${REINPLACE_CMD} -e 's|/etc|${PREFIX}&|' \
+ ${WRKSRC}/src/config.c.cog ${WRKSRC}/src/config.h.cog
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${PORTDOCS:S|README.md||:S|^|${WRKSRC}/doc/|} ${STAGEDIR}${DOCSDIR}
+
+
+.include <bsd.port.mk>
diff --git a/misc/qman/distinfo b/misc/qman/distinfo
new file mode 100644
index 000000000000..a727c006d449
--- /dev/null
+++ b/misc/qman/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752607509
+SHA256 (plp13-qman-1.4.2.20250630-16b4e808ab619d7bfb7d94017ca9505b69a387fb_GH0.tar.gz) = 8b950c83bae0bd0fa5bd67d549b9044f152aae5925a1cf804cc56228272cabaa
+SIZE (plp13-qman-1.4.2.20250630-16b4e808ab619d7bfb7d94017ca9505b69a387fb_GH0.tar.gz) = 952625
diff --git a/misc/qman/files/patch-config_qman.conf b/misc/qman/files/patch-config_qman.conf
new file mode 100644
index 000000000000..f5bc89c71f78
--- /dev/null
+++ b/misc/qman/files/patch-config_qman.conf
@@ -0,0 +1,12 @@
+--- config/qman.conf.orig 2025-07-15 19:28:48 UTC
++++ config/qman.conf
+@@ -21,6 +21,9 @@ enable= true
+ ; flicker after opening an email link
+ ; reset_after_email= false
+
++system_type= freebsd
++groff_path= %%LOCALBASE%%/bin/groff
++
+ [layout]
+
+ ; Change this to suit your terminal window size
diff --git a/misc/qman/pkg-descr b/misc/qman/pkg-descr
new file mode 100644
index 000000000000..09396e416fd4
--- /dev/null
+++ b/misc/qman/pkg-descr
@@ -0,0 +1,10 @@
+Unix manual pages are lovely. They are concise, well-written,
+complete, and downright useful. However, the standard way of accessing
+them from the command-line hasn't changed since the early days.
+
+Qman aims to change that. It's a modern, full-featured manual page
+viewer featuring hyperlinks, web browser like navigation, a table of
+contents for each page, incremental search, on-line help, and more. It
+also strives to be fast and tiny, so that it can be used
+everywhere. For this reason, it's been written in plain C and has only
+minimal dependencies.
diff --git a/misc/qman/pkg-plist b/misc/qman/pkg-plist
new file mode 100644
index 000000000000..0472e626d2bc
--- /dev/null
+++ b/misc/qman/pkg-plist
@@ -0,0 +1,8 @@
+bin/qman
+etc/xdg/qman/qman.conf
+etc/xdg/qman/themes/adwaita-light.conf
+etc/xdg/qman/themes/adwaita.conf
+etc/xdg/qman/themes/catppuccin_latte.conf
+etc/xdg/qman/themes/modernity-light.conf
+etc/xdg/qman/themes/modernity.conf
+%%MANPAGES%%share/man/man1/qman.1.gz