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.
Files changed (123) hide show
  1. pythonclaw-0.3.0/MANIFEST.in +13 -0
  2. {pythonclaw-0.2.2/pythonclaw.egg-info → pythonclaw-0.3.0}/PKG-INFO +13 -30
  3. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pyproject.toml +16 -31
  4. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/__init__.py +1 -1
  5. {pythonclaw-0.2.2 → pythonclaw-0.3.0/pythonclaw.egg-info}/PKG-INFO +13 -30
  6. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw.egg-info/SOURCES.txt +1 -17
  7. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw.egg-info/requires.txt +7 -29
  8. pythonclaw-0.2.2/pythonclaw/templates/skills/communication/email/__pycache__/send_email.cpython-311.pyc +0 -0
  9. pythonclaw-0.2.2/pythonclaw/templates/skills/data/csv_analyzer/__pycache__/analyze.cpython-311.pyc +0 -0
  10. pythonclaw-0.2.2/pythonclaw/templates/skills/data/finance/__pycache__/fetch_quote.cpython-311.pyc +0 -0
  11. pythonclaw-0.2.2/pythonclaw/templates/skills/data/news/__pycache__/search_news.cpython-311.pyc +0 -0
  12. pythonclaw-0.2.2/pythonclaw/templates/skills/data/pdf_reader/__pycache__/read_pdf.cpython-311.pyc +0 -0
  13. pythonclaw-0.2.2/pythonclaw/templates/skills/data/scraper/__pycache__/scrape.cpython-311.pyc +0 -0
  14. pythonclaw-0.2.2/pythonclaw/templates/skills/data/weather/__pycache__/weather.cpython-311.pyc +0 -0
  15. pythonclaw-0.2.2/pythonclaw/templates/skills/data/youtube/__pycache__/youtube_info.cpython-311.pyc +0 -0
  16. pythonclaw-0.2.2/pythonclaw/templates/skills/dev/code_runner/__pycache__/run_code.cpython-311.pyc +0 -0
  17. pythonclaw-0.2.2/pythonclaw/templates/skills/dev/github/__pycache__/gh.cpython-311.pyc +0 -0
  18. pythonclaw-0.2.2/pythonclaw/templates/skills/dev/http_request/__pycache__/request.cpython-311.pyc +0 -0
  19. pythonclaw-0.2.2/pythonclaw/templates/skills/google/workspace/check_setup.sh +0 -52
  20. pythonclaw-0.2.2/pythonclaw/templates/skills/system/change_setting/__pycache__/update_config.cpython-311.pyc +0 -0
  21. pythonclaw-0.2.2/pythonclaw/templates/skills/system/onboarding/__pycache__/write_identity.cpython-311.pyc +0 -0
  22. pythonclaw-0.2.2/pythonclaw/templates/skills/system/random/__pycache__/random_util.cpython-311.pyc +0 -0
  23. pythonclaw-0.2.2/pythonclaw/templates/skills/system/time/__pycache__/time_util.cpython-311.pyc +0 -0
  24. pythonclaw-0.2.2/pythonclaw/templates/skills/text/translator/__pycache__/translate.cpython-311.pyc +0 -0
  25. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/LICENSE +0 -0
  26. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/README.md +0 -0
  27. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/__main__.py +0 -0
  28. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/channels/discord_bot.py +0 -0
  29. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/channels/telegram_bot.py +0 -0
  30. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/config.py +0 -0
  31. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/__init__.py +0 -0
  32. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/agent.py +0 -0
  33. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/compaction.py +0 -0
  34. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/knowledge/rag.py +0 -0
  35. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/llm/anthropic_client.py +0 -0
  36. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/llm/base.py +0 -0
  37. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/llm/gemini_client.py +0 -0
  38. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/llm/openai_compatible.py +0 -0
  39. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/llm/response.py +0 -0
  40. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/memory/manager.py +0 -0
  41. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/memory/storage.py +0 -0
  42. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/persistent_agent.py +0 -0
  43. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/retrieval/__init__.py +0 -0
  44. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/retrieval/chunker.py +0 -0
  45. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/retrieval/dense.py +0 -0
  46. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/retrieval/fusion.py +0 -0
  47. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/retrieval/reranker.py +0 -0
  48. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/retrieval/retriever.py +0 -0
  49. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/retrieval/sparse.py +0 -0
  50. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/session_store.py +0 -0
  51. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/skill_loader.py +0 -0
  52. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/skillhub.py +0 -0
  53. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/tools.py +0 -0
  54. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/core/utils.py +0 -0
  55. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/daemon.py +0 -0
  56. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/init.py +0 -0
  57. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/main.py +0 -0
  58. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/onboard.py +0 -0
  59. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/scheduler/cron.py +0 -0
  60. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/scheduler/heartbeat.py +0 -0
  61. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/server.py +0 -0
  62. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/session_manager.py +0 -0
  63. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/persona/demo_persona.md +0 -0
  64. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/communication/CATEGORY.md +0 -0
  65. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/communication/email/SKILL.md +0 -0
  66. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/communication/email/send_email.py +0 -0
  67. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/CATEGORY.md +0 -0
  68. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/csv_analyzer/SKILL.md +0 -0
  69. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/csv_analyzer/analyze.py +0 -0
  70. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/finance/SKILL.md +0 -0
  71. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/finance/fetch_quote.py +0 -0
  72. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/news/SKILL.md +0 -0
  73. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/news/search_news.py +0 -0
  74. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/pdf_reader/SKILL.md +0 -0
  75. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/pdf_reader/read_pdf.py +0 -0
  76. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/scraper/SKILL.md +0 -0
  77. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/scraper/scrape.py +0 -0
  78. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/weather/SKILL.md +0 -0
  79. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/weather/weather.py +0 -0
  80. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/youtube/SKILL.md +0 -0
  81. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/data/youtube/youtube_info.py +0 -0
  82. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/dev/CATEGORY.md +0 -0
  83. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/dev/code_runner/SKILL.md +0 -0
  84. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/dev/code_runner/run_code.py +0 -0
  85. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/dev/github/SKILL.md +0 -0
  86. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/dev/github/gh.py +0 -0
  87. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/dev/http_request/SKILL.md +0 -0
  88. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/dev/http_request/request.py +0 -0
  89. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/google/CATEGORY.md +0 -0
  90. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/google/workspace/SKILL.md +0 -0
  91. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/meta/CATEGORY.md +0 -0
  92. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/meta/skill_creator/SKILL.md +0 -0
  93. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/CATEGORY.md +0 -0
  94. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/change_persona/SKILL.md +0 -0
  95. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/change_setting/SKILL.md +0 -0
  96. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/change_setting/update_config.py +0 -0
  97. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/change_soul/SKILL.md +0 -0
  98. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/onboarding/SKILL.md +0 -0
  99. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/onboarding/write_identity.py +0 -0
  100. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/random/SKILL.md +0 -0
  101. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/random/random_util.py +0 -0
  102. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/time/SKILL.md +0 -0
  103. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/system/time/time_util.py +0 -0
  104. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/text/CATEGORY.md +0 -0
  105. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/text/translator/SKILL.md +0 -0
  106. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/text/translator/translate.py +0 -0
  107. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/web/CATEGORY.md +0 -0
  108. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/skills/web/tavily/SKILL.md +0 -0
  109. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/templates/soul/SOUL.md +0 -0
  110. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/web/__init__.py +0 -0
  111. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/web/app.py +0 -0
  112. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/web/static/favicon.png +0 -0
  113. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/web/static/index.html +0 -0
  114. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw/web/static/logo.png +0 -0
  115. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw.egg-info/dependency_links.txt +0 -0
  116. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw.egg-info/entry_points.txt +0 -0
  117. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/pythonclaw.egg-info/top_level.txt +0 -0
  118. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/setup.cfg +0 -0
  119. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/tests/test_compaction.py +0 -0
  120. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/tests/test_persistence.py +0 -0
  121. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/tests/test_rag_hybrid.py +0 -0
  122. {pythonclaw-0.2.2 → pythonclaw-0.3.0}/tests/test_skills.py +0 -0
  123. {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.2.2
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.2.2"
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"]
@@ -6,7 +6,7 @@ from .core.llm.base import LLMProvider
6
6
  from .core.llm.openai_compatible import OpenAICompatibleProvider
7
7
  from .init import init
8
8
 
9
- __version__ = "0.2.2"
9
+ __version__ = "0.3.0"
10
10
  __all__ = [
11
11
  "Agent",
12
12
  "LLMProvider",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pythonclaw
3
- Version: 0.2.2
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
- [anthropic]
15
+ [all]
20
16
  anthropic
17
+ google-generativeai
21
18
 
22
- [discord]
23
- discord.py>=2.3
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
@@ -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."
File without changes
File without changes
File without changes