mirror of
https://github.com/pocketpaw/pocketpaw.git
synced 2026-05-13 21:21:53 +00:00
189 lines
4.1 KiB
TOML
189 lines
4.1 KiB
TOML
[project]
|
|
name = "pocketpaw"
|
|
version = "0.2.5"
|
|
description = "The AI agent that runs on your laptop, not a datacenter. OpenClaw alternative with one-command install."
|
|
readme = "README.md"
|
|
license = "MIT"
|
|
requires-python = ">=3.11"
|
|
keywords = [
|
|
"ai", "agent", "telegram", "assistant", "automation",
|
|
"browser", "llm", "ollama", "openai", "anthropic",
|
|
"self-hosted", "local-first", "privacy"
|
|
]
|
|
authors = [
|
|
{ name = "PocketPaw Team", email = "hello@pocketpaw.ai" }
|
|
]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Environment :: Console",
|
|
"Intended Audience :: End Users/Desktop",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Operating System :: OS Independent",
|
|
"Operating System :: MacOS",
|
|
"Operating System :: Microsoft :: Windows",
|
|
"Operating System :: POSIX :: Linux",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Topic :: Home Automation",
|
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
"Topic :: Internet :: WWW/HTTP :: Browsers",
|
|
"Typing :: Typed",
|
|
]
|
|
|
|
dependencies = [
|
|
# Config
|
|
"pydantic>=2.10.0",
|
|
"pydantic-settings>=2.1.0",
|
|
# HTTP client (used everywhere)
|
|
"httpx>=0.26.0",
|
|
# LLM Clients
|
|
"openai>=1.60.0",
|
|
"anthropic>=0.45.0",
|
|
# Agent Backend (recommended default)
|
|
"claude-agent-sdk>=0.1.30",
|
|
# Logging & CLI
|
|
"rich>=13.0.0",
|
|
# Scheduling
|
|
"apscheduler>=3.10.0",
|
|
"python-dateutil>=2.8.0",
|
|
# Logging & CLI
|
|
"rich>=13.0.0",
|
|
# Credential Encryption
|
|
"cryptography>=42.0",
|
|
# Image basics
|
|
"pillow>=10.0.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
# --- Feature extras ---
|
|
dashboard = [
|
|
"fastapi>=0.109.0",
|
|
"uvicorn[standard]>=0.27.0",
|
|
"jinja2>=3.1.0",
|
|
"qrcode[pil]>=7.4",
|
|
"python-multipart>=0.0.22",
|
|
]
|
|
telegram = [
|
|
"python-telegram-bot>=21.0",
|
|
]
|
|
browser = [
|
|
"playwright>=1.50.0",
|
|
]
|
|
desktop = [
|
|
"psutil>=5.9.0",
|
|
"pyautogui>=0.9.54",
|
|
]
|
|
native = [
|
|
"open-interpreter>=0.2.0,<0.5.0",
|
|
]
|
|
memory = [
|
|
"mem0ai>=0.1.115",
|
|
"ollama>=0.6.1",
|
|
]
|
|
|
|
# --- Channel extras ---
|
|
discord = [
|
|
"discord.py>=2.3.0",
|
|
]
|
|
slack = [
|
|
"slack-bolt>=1.20.0",
|
|
]
|
|
whatsapp-personal = [
|
|
"neonize>=0.3.0",
|
|
]
|
|
matrix = [
|
|
"matrix-nio>=0.24.0",
|
|
]
|
|
teams = [
|
|
"botbuilder-core>=4.16.0",
|
|
"botbuilder-integration-aiohttp>=4.16.0",
|
|
]
|
|
gchat = [
|
|
"google-api-python-client>=2.100.0",
|
|
"google-auth>=2.25.0",
|
|
]
|
|
|
|
# --- Tool extras ---
|
|
image = [
|
|
"google-genai>=1.0.0",
|
|
]
|
|
extract = [
|
|
"html2text>=2020.1.16",
|
|
]
|
|
voice = [
|
|
"elevenlabs>=1.0.0",
|
|
]
|
|
ocr = [
|
|
"pytesseract>=0.3.10",
|
|
]
|
|
mcp = [
|
|
"mcp>=1.0.0",
|
|
]
|
|
|
|
# --- Composite extras ---
|
|
recommended = [
|
|
"pocketpaw[dashboard,browser,memory,desktop]",
|
|
]
|
|
channels = [
|
|
"pocketpaw[discord,slack,telegram]",
|
|
]
|
|
all-channels = [
|
|
"pocketpaw[telegram,discord,slack,whatsapp-personal,matrix,teams,gchat]",
|
|
]
|
|
all-tools = [
|
|
"pocketpaw[browser,desktop,image,extract,voice,ocr,mcp,memory]",
|
|
]
|
|
all-backends = [
|
|
"pocketpaw[native]",
|
|
]
|
|
all = [
|
|
"pocketpaw[recommended,all-channels,all-tools,all-backends]",
|
|
]
|
|
dev = [
|
|
"pocketpaw[all]",
|
|
"pytest>=8.0.0",
|
|
"pytest-asyncio>=0.23.0",
|
|
"pytest-playwright>=0.4.0",
|
|
"ruff>=0.4.0",
|
|
"mypy>=1.8.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
pocketpaw = "pocketclaw.__main__:main"
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/pocketpaw/pocketpaw"
|
|
Repository = "https://github.com/pocketpaw/pocketpaw"
|
|
Issues = "https://github.com/pocketpaw/pocketpaw/issues"
|
|
Documentation = "https://github.com/pocketpaw/pocketpaw#readme"
|
|
Twitter = "https://twitter.com/PocketPawAI"
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/pocketclaw"]
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
target-version = "py311"
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I", "UP"]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pocketpaw[all]",
|
|
"pytest>=8.0.0",
|
|
"pytest-asyncio>=0.23.0",
|
|
"ruff>=0.4.0",
|
|
"mypy>=1.8.0",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
asyncio_mode = "auto"
|