katakate Python SDK入门:轻松集成k7沙箱到您的应用程序
katakate Python SDK入门:轻松集成k7沙箱到您的应用程序
【免费下载链接】k7Your own self-hosted infra for lightweight VM sandboxes to safely execute untrusted code. CLI, API, Python SDK. ⭐ Star it if you like it! ⭐项目地址: https://gitcode.com/gh_mirrors/k72/k7
katakate Python SDK是k7轻量级VM沙箱系统的官方Python客户端,提供简洁API让开发者轻松在应用中集成安全代码执行环境。通过pip install katakate即可快速安装,支持同步/异步两种调用模式,完美适配各类Python应用场景。
为什么选择katakate SDK?
k7沙箱系统是一个自托管的轻量级虚拟机沙箱基础设施,专为安全执行不受信任代码设计。katakate SDK作为其官方Python客户端,具有以下核心优势:
- 简洁API:直观的方法设计,降低沙箱管理复杂度
- 双重客户端:同步
Client与异步AsyncClient满足不同应用架构 - 安全隔离:所有代码在隔离的VM环境中执行,保护主机系统安全
- 完整功能:支持沙箱创建、代码执行、资源监控等全生命周期管理
图:k7沙箱系统控制台界面,展示沙箱管理与监控功能
快速开始:安装与初始化
环境准备
katakate SDK支持Python 3.7+环境,安装过程非常简单:
pip install katakate # 如需异步支持 pip install "katakate[async-sdk]"初始化客户端
使用前需要准备k7 API端点和API密钥,可通过k7控制台获取:
from katakate import Client # 初始化同步客户端 client = Client( endpoint="https://your-k7-instance/api", api_key="your-secure-api-key" ) # 或初始化异步客户端 from katakate import AsyncClient async_client = AsyncClient( endpoint="https://your-k7-instance/api", api_key="your-secure-api-key" )图:在k7控制台生成API密钥的界面
核心功能使用指南
创建沙箱环境
通过SDK可以轻松创建自定义配置的沙箱环境:
# 定义沙箱配置 sandbox_config = { "name": "my-sandbox", "namespace": "default", "resources": { "cpu": "1", "memory": "512M" }, "image": "python:3.9-slim" } # 创建沙箱并获取代理对象 sandbox = client.create(sandbox_config)沙箱配置支持CPU、内存限制,以及自定义基础镜像,满足不同代码执行需求。
执行代码与获取结果
创建沙箱后,可以直接通过代理对象执行代码:
# 执行Python代码 result = sandbox.exec("print('Hello from k7 sandbox!')") # 查看执行结果 print(result["stdout"]) # 输出: Hello from k7 sandbox! print(result["return_code"]) # 输出: 0执行结果包含标准输出、标准错误和返回码,便于开发者判断代码执行情况。
图:k7控制台中的沙箱列表,展示当前运行的所有沙箱实例
管理沙箱生命周期
katakate SDK提供完整的沙箱管理功能:
# 列出所有沙箱 sandboxes = client.list(namespace="default") print([sb["name"] for sb in sandboxes]) # 获取沙箱资源使用 metrics metrics = client.get_metrics(namespace="default") print(metrics["my-sandbox"]["cpu_usage"]) # 删除单个沙箱 client.delete(name="my-sandbox", namespace="default") # 批量删除命名空间下所有沙箱 client.delete_all(namespace="default")异步编程支持
对于异步应用,AsyncClient提供与同步版本一致的API:
import asyncio async def async_example(): async with AsyncClient(endpoint=ENDPOINT, api_key=API_KEY) as client: # 创建沙箱 sandbox = await client.create(sandbox_config) # 执行代码 result = await client.exec( name="my-sandbox", command="import time; time.sleep(2); print('Async execution done')", namespace="default" ) # 删除沙箱 await client.delete(name="my-sandbox", namespace="default") asyncio.run(async_example())异步客户端特别适合Web应用和需要高并发处理的场景。
实际应用场景
katakate SDK可广泛应用于各类需要安全执行外部代码的场景:
- 在线代码编辑器:为用户提供安全的代码运行环境
- 自动化测试:在隔离环境中执行测试用例,避免相互干扰
- AI模型推理:安全运行用户提交的模型代码
- 教育平台:为学生提供安全的编程练习环境
进阶资源
- 官方文档:详细API参考与高级用法请查阅docs/guides/python-sdk.mdx
- 源码实现:SDK核心代码位于src/katakate/client.py
- 示例项目:LangChain集成示例可参考tutorials/langchain-react-agent/
通过katakate Python SDK,开发者可以轻松将k7沙箱功能集成到自己的应用中,为用户提供安全、隔离的代码执行环境。无论是小型工具还是大型平台,katakate SDK都能提供简洁而强大的接口支持!
【免费下载链接】k7Your own self-hosted infra for lightweight VM sandboxes to safely execute untrusted code. CLI, API, Python SDK. ⭐ Star it if you like it! ⭐项目地址: https://gitcode.com/gh_mirrors/k72/k7
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
