dev-python/anthropic: new package, add 0.86.0

Signed-off-by: Florian Albrechtskirchinger <falbrechtskirchinger@gmail.com>
This commit is contained in:
Florian Albrechtskirchinger
2026-03-27 19:32:20 +01:00
parent 732eb5a745
commit 037e3c206e
5 changed files with 278 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
DIST anthropic-openapi-spec-v2026.03.18.yml 724122 BLAKE2B d890c6d5082b0e540c340943dccd2a48d0d18dc31bbc5e55df45d93bbd3e2b64e515d46a814365bc0e56a7a1904a94ae252d65bd6fb631a0ea872fa6f3b05b14 SHA512 41aceb88f1b93437a9a15ec9a8ab917b65c647ee4ac579456a6b35a8d1a5df4903345927e7443739461dc430cec3156c980258f92f57b298c31ca53dcb66c608
DIST anthropic-sdk-python-0.86.0.gh.tar.gz 602140 BLAKE2B 31a0c049926f1f3049a2846a0b62062c7e03d29a4deda739a9a7583a26e52dddde92d4207ce424022d848e793cd758e257e734018f33ddbae556bb274264a7fb SHA512 7aae6861a4c042ccfd2c15b97c89fa7a1855f525a59e2eccdf22ef5550bc7b31b3546cefa746a107ff74027061de0bb6951f2db9bd34d0ee373b17f9f8b8e8f5
DIST npm-@stdy-cli-cli-0.19.7.tgz 7773 BLAKE2B 6ddc9db08ab06ef1ece58d3aeaf27517319a399262a63caa06e2d13a1bd8c83fac298a451f0ea57a71aaf9c4120f4efb742308106498d492d2593a4b58e04151 SHA512 ba4758dbe0d32e7c9994471713d0ae9a0967813bd1ec8fbce88247c2582ea248196f7858b56ce76e0716e016d5366b42700a78b603626d8de00e5a92599e009e
DIST npm-@stdy-cli-linux-arm64-cli-linux-arm64-0.19.7.tgz 36812291 BLAKE2B b0c8fba73598ce1e6aa824ffefd237eb35875879308820ef1aeeba9ba80378ef346ef9ffd40107b1b9d7754cd8acac1076d74a55fddbf3cbad9881cb8b19b0be SHA512 8b9cb95aadbbba48b2531451cf991b9d067b6ef697a38ff2b3df72d82d3967c1ab1e29274dee23283557c47e881ee0cb12e5223163d1fec06ecea96fdaecfda4
DIST npm-@stdy-cli-linux-x64-cli-linux-x64-0.19.7.tgz 37584041 BLAKE2B b9b6bee19fdf51c985d907b7dc8638ab3d3ebf88083794fb0d39a5f6c64beffbaf321cd71fc2869812092c0504fa47e3b889d0ffe483622fd215d214e4c1645e SHA512 2719af63c71ad21293bd3cac5d19f6b0ca960d0888026d9ffa5a62467d5d434d8937edb0ce90d467fdd348ba40b6f96a3ccd5e9c6b551b75a7de79d5fcc40df1

View File

@@ -0,0 +1,160 @@
# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
PYTHON_COMPAT=( python3_{12..14} )
inherit distutils-r1 optfeature pypi
# See https://github.com/anthropics/anthropic-sdk-python/blob/main/.stats.yml
API_SPEC_BASE="https://storage.googleapis.com/stainless-sdk-openapi-specs"
API_SPEC="anthropic-openapi-spec-v2026.03.18.yml"
MY_PN="anthropic-sdk-python"
STDY_PV=0.19.7
DESCRIPTION="The official Python library for the anthropic API"
HOMEPAGE="
https://github.com/anthropics/anthropic-sdk-python
https://pypi.org/project/anthropic
"
SRC_URI="
https://github.com/anthropics/${MY_PN}/archive/refs/tags/v${PV}.tar.gz
-> ${MY_PN}-${PV}.gh.tar.gz
test? (
${API_SPEC_BASE}/anthropic%2Fanthropic-dd2dcd00a757075370a7e4a7f469a1e2d067c2118684c3b70d7906a8f5cf518b.yml
-> ${API_SPEC}
https://registry.npmjs.org/@stdy/cli/-/cli-${STDY_PV}.tgz
-> npm-@stdy-cli-cli-${STDY_PV}.tgz
amd64? (
https://registry.npmjs.org/@stdy/cli-linux-x64/-/cli-linux-x64-${STDY_PV}.tgz
-> npm-@stdy-cli-linux-x64-cli-linux-x64-${STDY_PV}.tgz
)
arm64? (
https://registry.npmjs.org/@stdy/cli-linux-arm64/-/cli-linux-arm64-${STDY_PV}.tgz
-> npm-@stdy-cli-linux-arm64-cli-linux-arm64-${STDY_PV}.tgz
)
)
"
S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
RDEPEND="
>=dev-python/anyio-3.5.0[${PYTHON_USEDEP}]
>=dev-python/distro-1.7.0[${PYTHON_USEDEP}]
>=dev-python/docstring-parser-0.15[${PYTHON_USEDEP}]
>=dev-python/httpx-0.25.0[${PYTHON_USEDEP}]
>=dev-python/jiter-0.4.0[${PYTHON_USEDEP}]
>=dev-python/pydantic-1.9.0[${PYTHON_USEDEP}]
dev-python/sniffio[${PYTHON_USEDEP}]
>=dev-python/typing-extensions-4.14[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
test? (
>=dev-python/boto3-1.28.57[${PYTHON_USEDEP}]
>=dev-python/botocore-1.31.57[${PYTHON_USEDEP}]
dev-python/httpx-aiohttp[${PYTHON_USEDEP}]
>=dev-python/rich-13.7.1[${PYTHON_USEDEP}]
net-libs/nodejs[npm]
net-misc/curl
)
"
EPYTEST_PLUGINS=(
dirty-equals
http-snapshot
inline-snapshot
pytest-{asyncio,xdist}
respx
time-machine
)
distutils_enable_tests pytest
src_unpack() {
unpack "${MY_PN}-${PV}.gh.tar.gz"
}
src_test() {
einfo "Assembling npm cache..."
local -x npm_config_cache="${WORKDIR}/npm-cache"
mkdir -p "${npm_config_cache}" || die
for distfile in ${A}; do
if [[ "${distfile}" == npm-* ]]; then
npm cache add "${DISTDIR}/${distfile}" &>/dev/null || die
fi
done
einfo "Installing mock server..."
local mock_dir="${WORKDIR}/mock-server"
mkdir -p "${mock_dir}" || die
cp "${FILESDIR}/${PN}-0.86.0-mock-server-package.json" \
"${mock_dir}/package.json" || die
cp "${FILESDIR}/${PN}-0.86.0-mock-server-package-lock.json" \
"${mock_dir}/package-lock.json" || die
local mock_dir="${WORKDIR}/mock-server"
local mock="${mock_dir}/node_modules/.bin/steady"
pushd "${mock_dir}" >/dev/null || die
npm ci &>/dev/null || die
einfo "Starting mock server..."
# Replicate the logic from scripts/mock --daemon
"${mock}" --host 127.0.0.1 -p 4010 \
--validator-form-array-format=brackets \
--validator-query-array-format=brackets \
--validator-form-object-format=brackets \
--validator-query-object-format=brackets \
"${DISTDIR}/${API_SPEC}" &> .stdy.log &
local mock_pid=$!
local attempts=0
while ! curl -sf "http://127.0.0.1:4010/_x-steady/health" &>/dev/null; do
if ! kill -0 ${mock_pid} 2>/dev/null; then
cat .stdy.log
die "Mock server failed to start"
fi
attempts=$((attempts + 1))
if (( attempts >= 300 )); then
cat .stdy.log
die "Timed out waiting for mock server to start"
fi
sleep 0.1
done
popd >/dev/null || die
nonfatal distutils-r1_src_test
local ret=${?}
einfo "Stopping mock server..."
kill "${mock_pid}" || die
[[ ${ret} -ne 0 ]] && die
}
pkg_postinst() {
optfeature "alternative async HTTP client support" \
"dev-python/aiohttp >=dev-python/httpx-aiohttp-0.1.9"
optfeature "Google Cloud Vertex AI integration" \
">=dev-python/google-auth-2 dev-python/requests"
optfeature "Amazon Web Services (AWS) Bedrock integration" \
">=dev-python/boto3-1.28.57 >=dev-python/botocore-1.31.57"
optfeature "Model Context Protocol (MCP) support" \
">=dev-python/mcp-1.0"
}

View File

@@ -0,0 +1,96 @@
{
"name": "mock-server",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"dependencies": {
"@stdy/cli": "^0.19.7"
}
},
"node_modules/@stdy/cli": {
"version": "0.19.7",
"resolved": "https://registry.npmjs.org/@stdy/cli/-/cli-0.19.7.tgz",
"integrity": "sha512-ukdY2+DTLnyZlEcXE9CumglngTvR7I+86IJHwlguokgZb3hYtWznbgcW4BbVNmtCcAp4tgNibY3gDlqSWZ4Ang==",
"license": "Elastic-2.0",
"bin": {
"steady": "steady.js"
},
"engines": {
"node": ">=14.0.0"
},
"optionalDependencies": {
"@stdy/cli-darwin-arm64": "0.19.7",
"@stdy/cli-darwin-x64": "0.19.7",
"@stdy/cli-linux-arm64": "0.19.7",
"@stdy/cli-linux-x64": "0.19.7",
"@stdy/cli-win32-x64": "0.19.7"
}
},
"node_modules/@stdy/cli-darwin-arm64": {
"version": "0.19.7",
"resolved": "https://registry.npmjs.org/@stdy/cli-darwin-arm64/-/cli-darwin-arm64-0.19.7.tgz",
"integrity": "sha512-baIrUrzhOgQmMOaOhrYZ0v95yMt5P26qeZdE+I79zaJbETjF8vM63AM+XHn7jVPulORG8lD+n90kyYfo20t9aA==",
"cpu": [
"arm64"
],
"license": "Elastic-2.0",
"optional": true,
"os": [
"darwin"
]
},
"node_modules/@stdy/cli-darwin-x64": {
"version": "0.19.7",
"resolved": "https://registry.npmjs.org/@stdy/cli-darwin-x64/-/cli-darwin-x64-0.19.7.tgz",
"integrity": "sha512-3qEi400gNuY564Ku8Bru1h36vhfsrfk7IrukZgcovHVi3ANMLSMGsINgE+HM77patSlmB/fAgHWORZzHfn5ftg==",
"cpu": [
"x64"
],
"license": "Elastic-2.0",
"optional": true,
"os": [
"darwin"
]
},
"node_modules/@stdy/cli-linux-arm64": {
"version": "0.19.7",
"resolved": "https://registry.npmjs.org/@stdy/cli-linux-arm64/-/cli-linux-arm64-0.19.7.tgz",
"integrity": "sha512-i5y5Wq27ukiyUxRRz5kbnQZ7bvaXo4/ys99y2C05Z8GrHiknTe4jKDVXxH6IHuDLEuUiMWPR/sBuzqlv2uz9pA==",
"cpu": [
"arm64"
],
"license": "Elastic-2.0",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@stdy/cli-linux-x64": {
"version": "0.19.7",
"resolved": "https://registry.npmjs.org/@stdy/cli-linux-x64/-/cli-linux-x64-0.19.7.tgz",
"integrity": "sha512-JxmvY8ca0hKTvTysXRn2sMqWDQiIAm2f+lpiRn1dQ02JN+2wzpDUZ/3TSLpAtvlqPM1enGtVG3Wn3nnV/MQN8Q==",
"cpu": [
"x64"
],
"license": "Elastic-2.0",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@stdy/cli-win32-x64": {
"version": "0.19.7",
"resolved": "https://registry.npmjs.org/@stdy/cli-win32-x64/-/cli-win32-x64-0.19.7.tgz",
"integrity": "sha512-FNhuOpiglzJLT95sn+jOVc31M0r12H+hJ9C1mJsTckDJHu39Rq8h6ZcaL+oP2wXkkxipdAprj3m/jgpiFbcVgQ==",
"cpu": [
"x64"
],
"license": "Elastic-2.0",
"optional": true,
"os": [
"win32"
]
}
}
}

View File

@@ -0,0 +1,5 @@
{
"dependencies": {
"@stdy/cli": "^0.19.7"
}
}

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">anthropic</remote-id>
<remote-id type="github">anthropics/anthropic-sdk-python</remote-id>
</upstream>
</pkgmetadata>