dev-python/lmnr: new package, add 0.7.52

Signed-off-by: Florian Albrechtskirchinger <falbrechtskirchinger@gmail.com>
This commit is contained in:
Florian Albrechtskirchinger
2026-06-25 16:34:07 +02:00
parent 326afb81f0
commit 597a234c31
3 changed files with 124 additions and 0 deletions

1
dev-python/lmnr/Manifest Normal file
View File

@@ -0,0 +1 @@
DIST lmnr-python-0.7.52.gh.tar.gz 3699962 BLAKE2B 12a29bdd6161f127bcbcd5bdf20a1e91dd3e3b4ac1dbf1d0f30ffebe03d209ab0cafb1eebd4bbd570015b664438b3f842e17e98c97c1a0c7785e58d64b163b3b SHA512 1600aa3eb117f075130d56682373ab05eae0f33db1bd2ab68d5c3040b77d93bbf8497cd49fc3dcce6f05609bbb6d92b4f2faa50ce48114952a9acd5f6d98d70c

View File

@@ -0,0 +1,111 @@
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=uv-build
PYTHON_COMPAT=( python3_{12..14} )
inherit distutils-r1
MY_PN="lmnr-python"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="Python SDK for Laminar"
HOMEPAGE="
https://github.com/lmnr-ai/lmnr-python
https://pypi.org/project/lmnr/
"
SRC_URI="
https://github.com/lmnr-ai/${MY_PN}/archive/refs/tags/${PV}.tar.gz
-> ${MY_P}.gh.tar.gz
"
S="${WORKDIR}/${MY_P}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
RDEPEND="
>=dev-python/grpcio-1[${PYTHON_USEDEP}]
>=dev-python/httpx-0.24.0[${PYTHON_USEDEP}]
>=dev-python/opentelemetry-api-1.39.0[${PYTHON_USEDEP}]
>=dev-python/opentelemetry-exporter-otlp-proto-grpc-1.39.0[${PYTHON_USEDEP}]
>=dev-python/opentelemetry-exporter-otlp-proto-http-1.39.0[${PYTHON_USEDEP}]
>=dev-python/opentelemetry-instrumentation-0.54_beta0[${PYTHON_USEDEP}]
>=dev-python/opentelemetry-instrumentation-threading-0.54_beta0[${PYTHON_USEDEP}]
>=dev-python/opentelemetry-sdk-1.39.0[${PYTHON_USEDEP}]
>=dev-python/opentelemetry-semantic-conventions-0.60_beta1[${PYTHON_USEDEP}]
>=dev-python/opentelemetry-semantic-conventions-ai-0.4.13[${PYTHON_USEDEP}]
>=dev-python/orjson-3.0.0[${PYTHON_USEDEP}]
>=dev-python/packaging-22.0[${PYTHON_USEDEP}]
>=dev-python/pydantic-2.0.3[${PYTHON_USEDEP}]
>=dev-python/python-dotenv-1.0[${PYTHON_USEDEP}]
>=dev-python/tenacity-8.0[${PYTHON_USEDEP}]
>=dev-python/tqdm-4.0[${PYTHON_USEDEP}]
"
# FIXME keyword litellm and dependencies for arm64
BDEPEND="
test? (
>=dev-python/anthropic-0.95.0[${PYTHON_USEDEP}]
>=dev-python/boto3-1.28.57[${PYTHON_USEDEP}]
!arm64? (
$(python_gen_any_dep '
>=dev-python/litellm-1.85.2[${PYTHON_SINGLE_USEDEP}]
')
)
)
"
EPYTEST_PLUGINS=( pytest-{asyncio,recording,sugar} )
distutils_enable_tests pytest
python_test() {
local EPYTEST_IGNORE=(
# missing optional deps
tests/test_google_genai.py
tests/test_instrumentations/test_claude_agent/
tests/test_langchain.py
tests/test_instrumentations/test_groq/
tests/test_instrumentations/test_openai_agents/
)
local EPYTEST_DESELECT=(
# google-genai
tests/test_utils.py::test_merge_text_parts_empty_list
tests/test_utils.py::test_merge_text_parts_consecutive_strings
tests/test_utils.py::test_merge_text_parts_consecutive_part_objects
tests/test_utils.py::test_merge_text_parts_consecutive_part_dicts
tests/test_utils.py::test_merge_text_parts_mixed_types
tests/test_utils.py::test_merge_text_parts_with_non_text_part
tests/test_utils.py::test_merge_text_parts_with_function_call
tests/test_utils.py::test_merge_text_parts_multiple_non_text_parts
tests/test_utils.py::test_merge_text_parts_only_non_text_parts
tests/test_utils.py::test_merge_text_parts_single_text_part
tests/test_utils.py::test_merge_text_parts_with_file_object
tests/test_utils.py::test_merge_text_parts_trailing_text_only
tests/test_utils.py::test_merge_text_parts_leading_non_text
# langchain-openai
tests/test_observe_concurrency.py::test_observe_threadpool_parallel_spans_with_langchain
tests/test_tracing.py::test_use_span_with_auto_instrumentation_langchain
tests/test_tracing_concurrency.py::test_threadpool_parallel_spans_with_langchain
# network
tests/test_instrumentations/test_openai/traces/test_chat.py::test_chat_exception
tests/test_instrumentations/test_openai/traces/test_chat.py::test_chat_async_exception
tests/test_instrumentations/test_openai/traces/test_chat_parse.py::test_parsed_completion_exception
tests/test_instrumentations/test_openai/traces/test_chat_parse.py::test_async_parsed_completion_exception
tests/test_instrumentations/test_openai/traces/test_completions.py::test_completion_streaming
tests/test_instrumentations/test_openai/traces/test_completions.py::test_completion_exception
tests/test_instrumentations/test_openai/traces/test_completions.py::test_async_completion_exception
tests/test_instrumentations/test_openai/traces/test_embeddings.py::test_embeddings_exception
tests/test_instrumentations/test_openai/traces/test_embeddings.py::test_async_embeddings_exception
)
if ! has_version "dev-python/litellm[${PYTHON_SINGLE_USEDEP}]"; then
EPYTEST_IGNORE+=(
tests/test_litellm.py
)
fi
epytest
}

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>falbrechtskirchinger@gmail.com</email>
<name>Florian Albrechtskirchinger</name>
</maintainer>
<upstream>
<remote-id type="pypi">lmnr</remote-id>
<remote-id type="github">lmnr-ai/lmnr-python</remote-id>
</upstream>
</pkgmetadata>