pythonclaw 0.2.2__tar.gz → 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pythonclaw-0.3.0/MANIFEST.in +13 -0
- {pythonclaw-0.2.2/pythonclaw.egg-info → pythonclaw-0.3.0}/PKG-INFO +13 -30
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pyproject.toml +16 -31
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/__init__.py +1 -1
- {pythonclaw-0.2.2 → pythonclaw-0.3.0/pythonclaw.egg-info}/PKG-INFO +13 -30
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw.egg-info/SOURCES.txt +1 -17
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw.egg-info/requires.txt +7 -29
- pythonclaw-0.2.2/pythonclaw/templates/skills/communication/email/__pycache__/send_email.cpython-311.pyc +0 -0
- pythonclaw-0.2.2/pythonclaw/templates/skills/data/csv_analyzer/__pycache__/analyze.cpython-311.pyc +0 -0
- pythonclaw-0.2.2/pythonclaw/templates/skills/data/finance/__pycache__/fetch_quote.cpython-311.pyc +0 -0
- pythonclaw-0.2.2/pythonclaw/templates/skills/data/news/__pycache__/search_news.cpython-311.pyc +0 -0
- pythonclaw-0.2.2/pythonclaw/templates/skills/data/pdf_reader/__pycache__/read_pdf.cpython-311.pyc +0 -0
- pythonclaw-0.2.2/pythonclaw/templates/skills/data/scraper/__pycache__/scrape.cpython-311.pyc +0 -0
- pythonclaw-0.2.2/pythonclaw/templates/skills/data/weather/__pycache__/weather.cpython-311.pyc +0 -0
- pythonclaw-0.2.2/pythonclaw/templates/skills/data/youtube/__pycache__/youtube_info.cpython-311.pyc +0 -0
- pythonclaw-0.2.2/pythonclaw/templates/skills/dev/code_runner/__pycache__/run_code.cpython-311.pyc +0 -0
- pythonclaw-0.2.2/pythonclaw/templates/skills/dev/github/__pycache__/gh.cpython-311.pyc +0 -0
- pythonclaw-0.2.2/pythonclaw/templates/skills/dev/http_request/__pycache__/request.cpython-311.pyc +0 -0
- pythonclaw-0.2.2/pythonclaw/templates/skills/google/workspace/check_setup.sh +0 -52
- pythonclaw-0.2.2/pythonclaw/templates/skills/system/change_setting/__pycache__/update_config.cpython-311.pyc +0 -0
- pythonclaw-0.2.2/pythonclaw/templates/skills/system/onboarding/__pycache__/write_identity.cpython-311.pyc +0 -0
- pythonclaw-0.2.2/pythonclaw/templates/skills/system/random/__pycache__/random_util.cpython-311.pyc +0 -0
- pythonclaw-0.2.2/pythonclaw/templates/skills/system/time/__pycache__/time_util.cpython-311.pyc +0 -0
- pythonclaw-0.2.2/pythonclaw/templates/skills/text/translator/__pycache__/translate.cpython-311.pyc +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/LICENSE +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/README.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/__main__.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/channels/discord_bot.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/channels/telegram_bot.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/config.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/__init__.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/agent.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/compaction.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/knowledge/rag.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/llm/anthropic_client.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/llm/base.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/llm/gemini_client.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/llm/openai_compatible.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/llm/response.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/memory/manager.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/memory/storage.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/persistent_agent.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/retrieval/__init__.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/retrieval/chunker.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/retrieval/dense.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/retrieval/fusion.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/retrieval/reranker.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/retrieval/retriever.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/retrieval/sparse.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/session_store.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/skill_loader.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/skillhub.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/tools.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/utils.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/daemon.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/init.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/main.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/onboard.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/scheduler/cron.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/scheduler/heartbeat.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/server.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/session_manager.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/persona/demo_persona.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/communication/CATEGORY.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/communication/email/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/communication/email/send_email.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/CATEGORY.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/csv_analyzer/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/csv_analyzer/analyze.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/finance/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/finance/fetch_quote.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/news/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/news/search_news.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/pdf_reader/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/pdf_reader/read_pdf.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/scraper/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/scraper/scrape.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/weather/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/weather/weather.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/youtube/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/youtube/youtube_info.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/dev/CATEGORY.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/dev/code_runner/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/dev/code_runner/run_code.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/dev/github/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/dev/github/gh.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/dev/http_request/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/dev/http_request/request.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/google/CATEGORY.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/google/workspace/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/meta/CATEGORY.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/meta/skill_creator/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/CATEGORY.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/change_persona/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/change_setting/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/change_setting/update_config.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/change_soul/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/onboarding/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/onboarding/write_identity.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/random/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/random/random_util.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/time/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/time/time_util.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/text/CATEGORY.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/text/translator/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/text/translator/translate.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/web/CATEGORY.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/web/tavily/SKILL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/soul/SOUL.md +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/web/__init__.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/web/app.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/web/static/favicon.png +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/web/static/index.html +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/web/static/logo.png +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw.egg-info/dependency_links.txt +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw.egg-info/entry_points.txt +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw.egg-info/top_level.txt +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/setup.cfg +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/tests/test_compaction.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/tests/test_persistence.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/tests/test_rag_hybrid.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/tests/test_skills.py +0 -0
- {pythonclaw-0.2.2 → pythonclaw-0.3.0}/tests/test_soul.py +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
include LICENSE README.md
|
|
2
|
+
recursive-include pythonclaw *.py *.html *.css *.js *.png *.ico
|
|
3
|
+
recursive-include tests *.py
|
|
4
|
+
|
|
5
|
+
exclude pythonclaw.json
|
|
6
|
+
exclude pythonclaw.example.json
|
|
7
|
+
exclude .env .env.example
|
|
8
|
+
recursive-exclude * __pycache__
|
|
9
|
+
recursive-exclude * *.py[cod]
|
|
10
|
+
recursive-exclude * *.pyc
|
|
11
|
+
recursive-exclude context *
|
|
12
|
+
recursive-exclude .github *
|
|
13
|
+
recursive-exclude assets *
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pythonclaw
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: OpenClaw reimagined in pure Python — autonomous AI agent with memory, RAG, skills, web dashboard, and multi-channel support.
|
|
5
5
|
Author-email: Eric Wang <wangchen2007915@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -23,42 +23,25 @@ Requires-Python: >=3.10
|
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
24
|
License-File: LICENSE
|
|
25
25
|
Requires-Dist: openai
|
|
26
|
+
Requires-Dist: python-telegram-bot[job-queue]>=20.0
|
|
27
|
+
Requires-Dist: discord.py>=2.3
|
|
28
|
+
Requires-Dist: apscheduler>=3.10
|
|
29
|
+
Requires-Dist: pyyaml>=6.0
|
|
30
|
+
Requires-Dist: fastapi>=0.100
|
|
31
|
+
Requires-Dist: uvicorn[standard]>=0.20
|
|
32
|
+
Requires-Dist: tavily-python
|
|
33
|
+
Requires-Dist: rank-bm25>=0.2
|
|
34
|
+
Requires-Dist: numpy>=1.24
|
|
35
|
+
Requires-Dist: scikit-learn>=1.3
|
|
36
|
+
Requires-Dist: beautifulsoup4
|
|
37
|
+
Requires-Dist: requests
|
|
26
38
|
Provides-Extra: all
|
|
27
39
|
Requires-Dist: anthropic; extra == "all"
|
|
28
40
|
Requires-Dist: google-generativeai; extra == "all"
|
|
29
|
-
Requires-Dist: python-telegram-bot[job-queue]>=20.0; extra == "all"
|
|
30
|
-
Requires-Dist: discord.py>=2.3; extra == "all"
|
|
31
|
-
Requires-Dist: apscheduler>=3.10; extra == "all"
|
|
32
|
-
Requires-Dist: pyyaml>=6.0; extra == "all"
|
|
33
|
-
Requires-Dist: rank-bm25>=0.2; extra == "all"
|
|
34
|
-
Requires-Dist: numpy>=1.24; extra == "all"
|
|
35
|
-
Requires-Dist: scikit-learn>=1.3; extra == "all"
|
|
36
|
-
Requires-Dist: tavily-python; extra == "all"
|
|
37
|
-
Requires-Dist: fastapi>=0.100; extra == "all"
|
|
38
|
-
Requires-Dist: uvicorn[standard]>=0.20; extra == "all"
|
|
39
|
-
Requires-Dist: beautifulsoup4; extra == "all"
|
|
40
|
-
Requires-Dist: requests; extra == "all"
|
|
41
41
|
Provides-Extra: anthropic
|
|
42
42
|
Requires-Dist: anthropic; extra == "anthropic"
|
|
43
43
|
Provides-Extra: gemini
|
|
44
44
|
Requires-Dist: google-generativeai; extra == "gemini"
|
|
45
|
-
Provides-Extra: tavily
|
|
46
|
-
Requires-Dist: tavily-python; extra == "tavily"
|
|
47
|
-
Provides-Extra: web
|
|
48
|
-
Requires-Dist: fastapi>=0.100; extra == "web"
|
|
49
|
-
Requires-Dist: uvicorn[standard]>=0.20; extra == "web"
|
|
50
|
-
Provides-Extra: telegram
|
|
51
|
-
Requires-Dist: python-telegram-bot[job-queue]>=20.0; extra == "telegram"
|
|
52
|
-
Requires-Dist: apscheduler>=3.10; extra == "telegram"
|
|
53
|
-
Requires-Dist: pyyaml>=6.0; extra == "telegram"
|
|
54
|
-
Provides-Extra: discord
|
|
55
|
-
Requires-Dist: discord.py>=2.3; extra == "discord"
|
|
56
|
-
Requires-Dist: apscheduler>=3.10; extra == "discord"
|
|
57
|
-
Requires-Dist: pyyaml>=6.0; extra == "discord"
|
|
58
|
-
Provides-Extra: rag
|
|
59
|
-
Requires-Dist: rank-bm25>=0.2; extra == "rag"
|
|
60
|
-
Requires-Dist: numpy>=1.24; extra == "rag"
|
|
61
|
-
Requires-Dist: scikit-learn>=1.3; extra == "rag"
|
|
62
45
|
Dynamic: license-file
|
|
63
46
|
|
|
64
47
|
<p align="center">
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pythonclaw"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.3.0"
|
|
8
8
|
description = "OpenClaw reimagined in pure Python — autonomous AI agent with memory, RAG, skills, web dashboard, and multi-channel support."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {text = "MIT"}
|
|
@@ -27,47 +27,27 @@ classifiers = [
|
|
|
27
27
|
]
|
|
28
28
|
dependencies = [
|
|
29
29
|
"openai",
|
|
30
|
-
]
|
|
31
|
-
|
|
32
|
-
[project.optional-dependencies]
|
|
33
|
-
all = [
|
|
34
|
-
"anthropic",
|
|
35
|
-
"google-generativeai",
|
|
36
30
|
"python-telegram-bot[job-queue]>=20.0",
|
|
37
31
|
"discord.py>=2.3",
|
|
38
32
|
"apscheduler>=3.10",
|
|
39
33
|
"pyyaml>=6.0",
|
|
34
|
+
"fastapi>=0.100",
|
|
35
|
+
"uvicorn[standard]>=0.20",
|
|
36
|
+
"tavily-python",
|
|
40
37
|
"rank-bm25>=0.2",
|
|
41
38
|
"numpy>=1.24",
|
|
42
39
|
"scikit-learn>=1.3",
|
|
43
|
-
"tavily-python",
|
|
44
|
-
"fastapi>=0.100",
|
|
45
|
-
"uvicorn[standard]>=0.20",
|
|
46
40
|
"beautifulsoup4",
|
|
47
41
|
"requests",
|
|
48
42
|
]
|
|
43
|
+
|
|
44
|
+
[project.optional-dependencies]
|
|
45
|
+
all = [
|
|
46
|
+
"anthropic",
|
|
47
|
+
"google-generativeai",
|
|
48
|
+
]
|
|
49
49
|
anthropic = ["anthropic"]
|
|
50
50
|
gemini = ["google-generativeai"]
|
|
51
|
-
tavily = ["tavily-python"]
|
|
52
|
-
web = [
|
|
53
|
-
"fastapi>=0.100",
|
|
54
|
-
"uvicorn[standard]>=0.20",
|
|
55
|
-
]
|
|
56
|
-
telegram = [
|
|
57
|
-
"python-telegram-bot[job-queue]>=20.0",
|
|
58
|
-
"apscheduler>=3.10",
|
|
59
|
-
"pyyaml>=6.0",
|
|
60
|
-
]
|
|
61
|
-
discord = [
|
|
62
|
-
"discord.py>=2.3",
|
|
63
|
-
"apscheduler>=3.10",
|
|
64
|
-
"pyyaml>=6.0",
|
|
65
|
-
]
|
|
66
|
-
rag = [
|
|
67
|
-
"rank-bm25>=0.2",
|
|
68
|
-
"numpy>=1.24",
|
|
69
|
-
"scikit-learn>=1.3",
|
|
70
|
-
]
|
|
71
51
|
|
|
72
52
|
[project.scripts]
|
|
73
53
|
pythonclaw = "pythonclaw.main:main"
|
|
@@ -83,6 +63,11 @@ include = ["pythonclaw*"]
|
|
|
83
63
|
|
|
84
64
|
[tool.setuptools.package-data]
|
|
85
65
|
pythonclaw = [
|
|
86
|
-
"templates
|
|
66
|
+
"templates/**/*.py",
|
|
67
|
+
"templates/**/*.yaml",
|
|
68
|
+
"templates/**/*.md",
|
|
87
69
|
"web/static/**/*",
|
|
88
70
|
]
|
|
71
|
+
|
|
72
|
+
[tool.setuptools.exclude-package-data]
|
|
73
|
+
"*" = ["__pycache__", "*.pyc", "*.pyo"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pythonclaw
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: OpenClaw reimagined in pure Python — autonomous AI agent with memory, RAG, skills, web dashboard, and multi-channel support.
|
|
5
5
|
Author-email: Eric Wang <wangchen2007915@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -23,42 +23,25 @@ Requires-Python: >=3.10
|
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
24
|
License-File: LICENSE
|
|
25
25
|
Requires-Dist: openai
|
|
26
|
+
Requires-Dist: python-telegram-bot[job-queue]>=20.0
|
|
27
|
+
Requires-Dist: discord.py>=2.3
|
|
28
|
+
Requires-Dist: apscheduler>=3.10
|
|
29
|
+
Requires-Dist: pyyaml>=6.0
|
|
30
|
+
Requires-Dist: fastapi>=0.100
|
|
31
|
+
Requires-Dist: uvicorn[standard]>=0.20
|
|
32
|
+
Requires-Dist: tavily-python
|
|
33
|
+
Requires-Dist: rank-bm25>=0.2
|
|
34
|
+
Requires-Dist: numpy>=1.24
|
|
35
|
+
Requires-Dist: scikit-learn>=1.3
|
|
36
|
+
Requires-Dist: beautifulsoup4
|
|
37
|
+
Requires-Dist: requests
|
|
26
38
|
Provides-Extra: all
|
|
27
39
|
Requires-Dist: anthropic; extra == "all"
|
|
28
40
|
Requires-Dist: google-generativeai; extra == "all"
|
|
29
|
-
Requires-Dist: python-telegram-bot[job-queue]>=20.0; extra == "all"
|
|
30
|
-
Requires-Dist: discord.py>=2.3; extra == "all"
|
|
31
|
-
Requires-Dist: apscheduler>=3.10; extra == "all"
|
|
32
|
-
Requires-Dist: pyyaml>=6.0; extra == "all"
|
|
33
|
-
Requires-Dist: rank-bm25>=0.2; extra == "all"
|
|
34
|
-
Requires-Dist: numpy>=1.24; extra == "all"
|
|
35
|
-
Requires-Dist: scikit-learn>=1.3; extra == "all"
|
|
36
|
-
Requires-Dist: tavily-python; extra == "all"
|
|
37
|
-
Requires-Dist: fastapi>=0.100; extra == "all"
|
|
38
|
-
Requires-Dist: uvicorn[standard]>=0.20; extra == "all"
|
|
39
|
-
Requires-Dist: beautifulsoup4; extra == "all"
|
|
40
|
-
Requires-Dist: requests; extra == "all"
|
|
41
41
|
Provides-Extra: anthropic
|
|
42
42
|
Requires-Dist: anthropic; extra == "anthropic"
|
|
43
43
|
Provides-Extra: gemini
|
|
44
44
|
Requires-Dist: google-generativeai; extra == "gemini"
|
|
45
|
-
Provides-Extra: tavily
|
|
46
|
-
Requires-Dist: tavily-python; extra == "tavily"
|
|
47
|
-
Provides-Extra: web
|
|
48
|
-
Requires-Dist: fastapi>=0.100; extra == "web"
|
|
49
|
-
Requires-Dist: uvicorn[standard]>=0.20; extra == "web"
|
|
50
|
-
Provides-Extra: telegram
|
|
51
|
-
Requires-Dist: python-telegram-bot[job-queue]>=20.0; extra == "telegram"
|
|
52
|
-
Requires-Dist: apscheduler>=3.10; extra == "telegram"
|
|
53
|
-
Requires-Dist: pyyaml>=6.0; extra == "telegram"
|
|
54
|
-
Provides-Extra: discord
|
|
55
|
-
Requires-Dist: discord.py>=2.3; extra == "discord"
|
|
56
|
-
Requires-Dist: apscheduler>=3.10; extra == "discord"
|
|
57
|
-
Requires-Dist: pyyaml>=6.0; extra == "discord"
|
|
58
|
-
Provides-Extra: rag
|
|
59
|
-
Requires-Dist: rank-bm25>=0.2; extra == "rag"
|
|
60
|
-
Requires-Dist: numpy>=1.24; extra == "rag"
|
|
61
|
-
Requires-Dist: scikit-learn>=1.3; extra == "rag"
|
|
62
45
|
Dynamic: license-file
|
|
63
46
|
|
|
64
47
|
<p align="center">
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
LICENSE
|
|
2
|
+
MANIFEST.in
|
|
2
3
|
README.md
|
|
3
4
|
pyproject.toml
|
|
4
5
|
pythonclaw/__init__.py
|
|
@@ -48,63 +49,46 @@ pythonclaw/templates/persona/demo_persona.md
|
|
|
48
49
|
pythonclaw/templates/skills/communication/CATEGORY.md
|
|
49
50
|
pythonclaw/templates/skills/communication/email/SKILL.md
|
|
50
51
|
pythonclaw/templates/skills/communication/email/send_email.py
|
|
51
|
-
pythonclaw/templates/skills/communication/email/__pycache__/send_email.cpython-311.pyc
|
|
52
52
|
pythonclaw/templates/skills/data/CATEGORY.md
|
|
53
53
|
pythonclaw/templates/skills/data/csv_analyzer/SKILL.md
|
|
54
54
|
pythonclaw/templates/skills/data/csv_analyzer/analyze.py
|
|
55
|
-
pythonclaw/templates/skills/data/csv_analyzer/__pycache__/analyze.cpython-311.pyc
|
|
56
55
|
pythonclaw/templates/skills/data/finance/SKILL.md
|
|
57
56
|
pythonclaw/templates/skills/data/finance/fetch_quote.py
|
|
58
|
-
pythonclaw/templates/skills/data/finance/__pycache__/fetch_quote.cpython-311.pyc
|
|
59
57
|
pythonclaw/templates/skills/data/news/SKILL.md
|
|
60
58
|
pythonclaw/templates/skills/data/news/search_news.py
|
|
61
|
-
pythonclaw/templates/skills/data/news/__pycache__/search_news.cpython-311.pyc
|
|
62
59
|
pythonclaw/templates/skills/data/pdf_reader/SKILL.md
|
|
63
60
|
pythonclaw/templates/skills/data/pdf_reader/read_pdf.py
|
|
64
|
-
pythonclaw/templates/skills/data/pdf_reader/__pycache__/read_pdf.cpython-311.pyc
|
|
65
61
|
pythonclaw/templates/skills/data/scraper/SKILL.md
|
|
66
62
|
pythonclaw/templates/skills/data/scraper/scrape.py
|
|
67
|
-
pythonclaw/templates/skills/data/scraper/__pycache__/scrape.cpython-311.pyc
|
|
68
63
|
pythonclaw/templates/skills/data/weather/SKILL.md
|
|
69
64
|
pythonclaw/templates/skills/data/weather/weather.py
|
|
70
|
-
pythonclaw/templates/skills/data/weather/__pycache__/weather.cpython-311.pyc
|
|
71
65
|
pythonclaw/templates/skills/data/youtube/SKILL.md
|
|
72
66
|
pythonclaw/templates/skills/data/youtube/youtube_info.py
|
|
73
|
-
pythonclaw/templates/skills/data/youtube/__pycache__/youtube_info.cpython-311.pyc
|
|
74
67
|
pythonclaw/templates/skills/dev/CATEGORY.md
|
|
75
68
|
pythonclaw/templates/skills/dev/code_runner/SKILL.md
|
|
76
69
|
pythonclaw/templates/skills/dev/code_runner/run_code.py
|
|
77
|
-
pythonclaw/templates/skills/dev/code_runner/__pycache__/run_code.cpython-311.pyc
|
|
78
70
|
pythonclaw/templates/skills/dev/github/SKILL.md
|
|
79
71
|
pythonclaw/templates/skills/dev/github/gh.py
|
|
80
|
-
pythonclaw/templates/skills/dev/github/__pycache__/gh.cpython-311.pyc
|
|
81
72
|
pythonclaw/templates/skills/dev/http_request/SKILL.md
|
|
82
73
|
pythonclaw/templates/skills/dev/http_request/request.py
|
|
83
|
-
pythonclaw/templates/skills/dev/http_request/__pycache__/request.cpython-311.pyc
|
|
84
74
|
pythonclaw/templates/skills/google/CATEGORY.md
|
|
85
75
|
pythonclaw/templates/skills/google/workspace/SKILL.md
|
|
86
|
-
pythonclaw/templates/skills/google/workspace/check_setup.sh
|
|
87
76
|
pythonclaw/templates/skills/meta/CATEGORY.md
|
|
88
77
|
pythonclaw/templates/skills/meta/skill_creator/SKILL.md
|
|
89
78
|
pythonclaw/templates/skills/system/CATEGORY.md
|
|
90
79
|
pythonclaw/templates/skills/system/change_persona/SKILL.md
|
|
91
80
|
pythonclaw/templates/skills/system/change_setting/SKILL.md
|
|
92
81
|
pythonclaw/templates/skills/system/change_setting/update_config.py
|
|
93
|
-
pythonclaw/templates/skills/system/change_setting/__pycache__/update_config.cpython-311.pyc
|
|
94
82
|
pythonclaw/templates/skills/system/change_soul/SKILL.md
|
|
95
83
|
pythonclaw/templates/skills/system/onboarding/SKILL.md
|
|
96
84
|
pythonclaw/templates/skills/system/onboarding/write_identity.py
|
|
97
|
-
pythonclaw/templates/skills/system/onboarding/__pycache__/write_identity.cpython-311.pyc
|
|
98
85
|
pythonclaw/templates/skills/system/random/SKILL.md
|
|
99
86
|
pythonclaw/templates/skills/system/random/random_util.py
|
|
100
|
-
pythonclaw/templates/skills/system/random/__pycache__/random_util.cpython-311.pyc
|
|
101
87
|
pythonclaw/templates/skills/system/time/SKILL.md
|
|
102
88
|
pythonclaw/templates/skills/system/time/time_util.py
|
|
103
|
-
pythonclaw/templates/skills/system/time/__pycache__/time_util.cpython-311.pyc
|
|
104
89
|
pythonclaw/templates/skills/text/CATEGORY.md
|
|
105
90
|
pythonclaw/templates/skills/text/translator/SKILL.md
|
|
106
91
|
pythonclaw/templates/skills/text/translator/translate.py
|
|
107
|
-
pythonclaw/templates/skills/text/translator/__pycache__/translate.cpython-311.pyc
|
|
108
92
|
pythonclaw/templates/skills/web/CATEGORY.md
|
|
109
93
|
pythonclaw/templates/skills/web/tavily/SKILL.md
|
|
110
94
|
pythonclaw/templates/soul/SOUL.md
|
|
@@ -1,45 +1,23 @@
|
|
|
1
1
|
openai
|
|
2
|
-
|
|
3
|
-
[all]
|
|
4
|
-
anthropic
|
|
5
|
-
google-generativeai
|
|
6
2
|
python-telegram-bot[job-queue]>=20.0
|
|
7
3
|
discord.py>=2.3
|
|
8
4
|
apscheduler>=3.10
|
|
9
5
|
pyyaml>=6.0
|
|
6
|
+
fastapi>=0.100
|
|
7
|
+
uvicorn[standard]>=0.20
|
|
8
|
+
tavily-python
|
|
10
9
|
rank-bm25>=0.2
|
|
11
10
|
numpy>=1.24
|
|
12
11
|
scikit-learn>=1.3
|
|
13
|
-
tavily-python
|
|
14
|
-
fastapi>=0.100
|
|
15
|
-
uvicorn[standard]>=0.20
|
|
16
12
|
beautifulsoup4
|
|
17
13
|
requests
|
|
18
14
|
|
|
19
|
-
[
|
|
15
|
+
[all]
|
|
20
16
|
anthropic
|
|
17
|
+
google-generativeai
|
|
21
18
|
|
|
22
|
-
[
|
|
23
|
-
|
|
24
|
-
apscheduler>=3.10
|
|
25
|
-
pyyaml>=6.0
|
|
19
|
+
[anthropic]
|
|
20
|
+
anthropic
|
|
26
21
|
|
|
27
22
|
[gemini]
|
|
28
23
|
google-generativeai
|
|
29
|
-
|
|
30
|
-
[rag]
|
|
31
|
-
rank-bm25>=0.2
|
|
32
|
-
numpy>=1.24
|
|
33
|
-
scikit-learn>=1.3
|
|
34
|
-
|
|
35
|
-
[tavily]
|
|
36
|
-
tavily-python
|
|
37
|
-
|
|
38
|
-
[telegram]
|
|
39
|
-
python-telegram-bot[job-queue]>=20.0
|
|
40
|
-
apscheduler>=3.10
|
|
41
|
-
pyyaml>=6.0
|
|
42
|
-
|
|
43
|
-
[web]
|
|
44
|
-
fastapi>=0.100
|
|
45
|
-
uvicorn[standard]>=0.20
|
|
Binary file
|
pythonclaw-0.2.2/pythonclaw/templates/skills/data/csv_analyzer/__pycache__/analyze.cpython-311.pyc
DELETED
|
Binary file
|
pythonclaw-0.2.2/pythonclaw/templates/skills/data/finance/__pycache__/fetch_quote.cpython-311.pyc
DELETED
|
Binary file
|
pythonclaw-0.2.2/pythonclaw/templates/skills/data/news/__pycache__/search_news.cpython-311.pyc
DELETED
|
Binary file
|
pythonclaw-0.2.2/pythonclaw/templates/skills/data/pdf_reader/__pycache__/read_pdf.cpython-311.pyc
DELETED
|
Binary file
|
pythonclaw-0.2.2/pythonclaw/templates/skills/data/scraper/__pycache__/scrape.cpython-311.pyc
DELETED
|
Binary file
|
pythonclaw-0.2.2/pythonclaw/templates/skills/data/weather/__pycache__/weather.cpython-311.pyc
DELETED
|
Binary file
|
pythonclaw-0.2.2/pythonclaw/templates/skills/data/youtube/__pycache__/youtube_info.cpython-311.pyc
DELETED
|
Binary file
|
pythonclaw-0.2.2/pythonclaw/templates/skills/dev/code_runner/__pycache__/run_code.cpython-311.pyc
DELETED
|
Binary file
|
|
Binary file
|
pythonclaw-0.2.2/pythonclaw/templates/skills/dev/http_request/__pycache__/request.cpython-311.pyc
DELETED
|
Binary file
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Pre-activation check for the Google Workspace (gog) skill.
|
|
3
|
-
# Exit 0 = ready, exit 1 = not ready (output tells the user what to fix).
|
|
4
|
-
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
# ?? 1. Is gog installed? ??????????????????????????????????????????????????????
|
|
8
|
-
if ! command -v gog &>/dev/null; then
|
|
9
|
-
cat <<'EOF'
|
|
10
|
-
ERROR: The 'gog' CLI is not installed.
|
|
11
|
-
|
|
12
|
-
To install on macOS:
|
|
13
|
-
brew install steipete/tap/gogcli
|
|
14
|
-
|
|
15
|
-
To install on Linux:
|
|
16
|
-
curl -fsSL https://api.github.com/repos/steipete/gogcli/releases/latest \
|
|
17
|
-
| grep browser_download_url | grep linux_amd64
|
|
18
|
-
# Download the tarball, extract, then: sudo install -m 0755 gog /usr/local/bin/gog
|
|
19
|
-
|
|
20
|
-
More info: https://github.com/steipete/gogcli
|
|
21
|
-
EOF
|
|
22
|
-
exit 1
|
|
23
|
-
fi
|
|
24
|
-
|
|
25
|
-
echo "gog version: $(gog --version 2>/dev/null || echo 'unknown')"
|
|
26
|
-
|
|
27
|
-
# ?? 2. Is at least one account configured? ????????????????????????????????????
|
|
28
|
-
AUTH_OUTPUT=$(gog auth list 2>&1)
|
|
29
|
-
if echo "$AUTH_OUTPUT" | grep -qi "no tokens"; then
|
|
30
|
-
cat <<'EOF'
|
|
31
|
-
|
|
32
|
-
ERROR: No Google account is configured in gog.
|
|
33
|
-
|
|
34
|
-
Setup steps:
|
|
35
|
-
1. Go to https://console.cloud.google.com/apis/credentials
|
|
36
|
-
2. Create an OAuth 2.0 Client ID (Desktop App type)
|
|
37
|
-
3. Download the client_secret.json file
|
|
38
|
-
4. Run:
|
|
39
|
-
gog auth credentials /path/to/client_secret.json
|
|
40
|
-
gog auth add you@gmail.com --services gmail,calendar,drive,contacts,sheets,docs
|
|
41
|
-
5. A browser window will open ? authorize the app.
|
|
42
|
-
|
|
43
|
-
After setup, try again.
|
|
44
|
-
EOF
|
|
45
|
-
exit 1
|
|
46
|
-
fi
|
|
47
|
-
|
|
48
|
-
echo ""
|
|
49
|
-
echo "Configured accounts:"
|
|
50
|
-
echo "$AUTH_OUTPUT"
|
|
51
|
-
echo ""
|
|
52
|
-
echo "Ready to use Google Workspace commands."
|
|
Binary file
|
|
Binary file
|
pythonclaw-0.2.2/pythonclaw/templates/skills/system/random/__pycache__/random_util.cpython-311.pyc
DELETED
|
Binary file
|
pythonclaw-0.2.2/pythonclaw/templates/skills/system/time/__pycache__/time_util.cpython-311.pyc
DELETED
|
Binary file
|
pythonclaw-0.2.2/pythonclaw/templates/skills/text/translator/__pycache__/translate.cpython-311.pyc
DELETED
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/communication/email/SKILL.md
RENAMED
|
File without changes
|
{pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/communication/email/send_email.py
RENAMED
|
File without changes
|
|
File without changes
|
{pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/csv_analyzer/SKILL.md
RENAMED
|
File without changes
|
{pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/csv_analyzer/analyze.py
RENAMED
|
File without changes
|
|
File without changes
|
{pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/finance/fetch_quote.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/pdf_reader/read_pdf.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/youtube/youtube_info.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/dev/code_runner/run_code.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/dev/http_request/request.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/meta/skill_creator/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
{pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/change_persona/SKILL.md
RENAMED
|
File without changes
|
{pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/change_setting/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
{pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/change_soul/SKILL.md
RENAMED
|
File without changes
|
{pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/onboarding/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/random/random_util.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/text/translator/translate.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|