crabcode 0.1.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 (69) hide show
  1. crabcode-0.1.0/.github/workflows/python-publish.yml +62 -0
  2. crabcode-0.1.0/.gitignore +13 -0
  3. crabcode-0.1.0/PKG-INFO +23 -0
  4. crabcode-0.1.0/README.md +630 -0
  5. crabcode-0.1.0/README.zh-CN.md +631 -0
  6. crabcode-0.1.0/packages/cli/crabcode_cli/__init__.py +3 -0
  7. crabcode-0.1.0/packages/cli/crabcode_cli/app.py +142 -0
  8. crabcode-0.1.0/packages/cli/crabcode_cli/banner.py +42 -0
  9. crabcode-0.1.0/packages/cli/crabcode_cli/pipe.py +58 -0
  10. crabcode-0.1.0/packages/cli/crabcode_cli/render/__init__.py +0 -0
  11. crabcode-0.1.0/packages/cli/crabcode_cli/render/messages.py +19 -0
  12. crabcode-0.1.0/packages/cli/crabcode_cli/repl.py +1263 -0
  13. crabcode-0.1.0/packages/cli/pyproject.toml +21 -0
  14. crabcode-0.1.0/packages/core/crabcode_core/__init__.py +3 -0
  15. crabcode-0.1.0/packages/core/crabcode_core/api/__init__.py +6 -0
  16. crabcode-0.1.0/packages/core/crabcode_core/api/anthropic_adapter.py +250 -0
  17. crabcode-0.1.0/packages/core/crabcode_core/api/base.py +66 -0
  18. crabcode-0.1.0/packages/core/crabcode_core/api/codex_adapter.py +390 -0
  19. crabcode-0.1.0/packages/core/crabcode_core/api/openai_adapter.py +221 -0
  20. crabcode-0.1.0/packages/core/crabcode_core/api/registry.py +40 -0
  21. crabcode-0.1.0/packages/core/crabcode_core/compact/__init__.py +7 -0
  22. crabcode-0.1.0/packages/core/crabcode_core/compact/compact.py +150 -0
  23. crabcode-0.1.0/packages/core/crabcode_core/config/__init__.py +3 -0
  24. crabcode-0.1.0/packages/core/crabcode_core/config/claudemd.py +53 -0
  25. crabcode-0.1.0/packages/core/crabcode_core/config/manager.py +152 -0
  26. crabcode-0.1.0/packages/core/crabcode_core/events.py +392 -0
  27. crabcode-0.1.0/packages/core/crabcode_core/mcp/__init__.py +4 -0
  28. crabcode-0.1.0/packages/core/crabcode_core/mcp/client.py +163 -0
  29. crabcode-0.1.0/packages/core/crabcode_core/mcp/config.py +52 -0
  30. crabcode-0.1.0/packages/core/crabcode_core/permissions/__init__.py +3 -0
  31. crabcode-0.1.0/packages/core/crabcode_core/permissions/manager.py +106 -0
  32. crabcode-0.1.0/packages/core/crabcode_core/prompts/__init__.py +0 -0
  33. crabcode-0.1.0/packages/core/crabcode_core/prompts/context.py +209 -0
  34. crabcode-0.1.0/packages/core/crabcode_core/prompts/profile.py +66 -0
  35. crabcode-0.1.0/packages/core/crabcode_core/prompts/system.py +405 -0
  36. crabcode-0.1.0/packages/core/crabcode_core/prompts/templates.py +60 -0
  37. crabcode-0.1.0/packages/core/crabcode_core/query/__init__.py +0 -0
  38. crabcode-0.1.0/packages/core/crabcode_core/query/loop.py +442 -0
  39. crabcode-0.1.0/packages/core/crabcode_core/session/__init__.py +3 -0
  40. crabcode-0.1.0/packages/core/crabcode_core/session/storage.py +153 -0
  41. crabcode-0.1.0/packages/core/crabcode_core/skills/__init__.py +5 -0
  42. crabcode-0.1.0/packages/core/crabcode_core/skills/loader.py +147 -0
  43. crabcode-0.1.0/packages/core/crabcode_core/tools/__init__.py +29 -0
  44. crabcode-0.1.0/packages/core/crabcode_core/tools/agent.py +160 -0
  45. crabcode-0.1.0/packages/core/crabcode_core/tools/bash.py +127 -0
  46. crabcode-0.1.0/packages/core/crabcode_core/tools/diff_utils.py +120 -0
  47. crabcode-0.1.0/packages/core/crabcode_core/tools/file_edit.py +145 -0
  48. crabcode-0.1.0/packages/core/crabcode_core/tools/file_read.py +123 -0
  49. crabcode-0.1.0/packages/core/crabcode_core/tools/file_write.py +102 -0
  50. crabcode-0.1.0/packages/core/crabcode_core/tools/glob.py +109 -0
  51. crabcode-0.1.0/packages/core/crabcode_core/tools/grep.py +130 -0
  52. crabcode-0.1.0/packages/core/crabcode_core/tools/lint.py +368 -0
  53. crabcode-0.1.0/packages/core/crabcode_core/tools/memory.py +236 -0
  54. crabcode-0.1.0/packages/core/crabcode_core/tools/skill.py +112 -0
  55. crabcode-0.1.0/packages/core/crabcode_core/types/__init__.py +73 -0
  56. crabcode-0.1.0/packages/core/crabcode_core/types/config.py +103 -0
  57. crabcode-0.1.0/packages/core/crabcode_core/types/event.py +105 -0
  58. crabcode-0.1.0/packages/core/crabcode_core/types/message.py +177 -0
  59. crabcode-0.1.0/packages/core/crabcode_core/types/tool.py +138 -0
  60. crabcode-0.1.0/packages/core/pyproject.toml +24 -0
  61. crabcode-0.1.0/packages/search/crabcode_search/__init__.py +11 -0
  62. crabcode-0.1.0/packages/search/crabcode_search/background.py +371 -0
  63. crabcode-0.1.0/packages/search/crabcode_search/chunker.py +517 -0
  64. crabcode-0.1.0/packages/search/crabcode_search/embedder.py +447 -0
  65. crabcode-0.1.0/packages/search/crabcode_search/indexer.py +212 -0
  66. crabcode-0.1.0/packages/search/crabcode_search/store.py +222 -0
  67. crabcode-0.1.0/packages/search/crabcode_search/tool.py +232 -0
  68. crabcode-0.1.0/packages/search/pyproject.toml +21 -0
  69. crabcode-0.1.0/pyproject.toml +43 -0
@@ -0,0 +1,62 @@
1
+ # This workflow will upload a Python Package to PyPI when a release is created
2
+ # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries
3
+
4
+ # This workflow uses actions that are not certified by GitHub.
5
+ # They are provided by a third-party and are governed by
6
+ # separate terms of service, privacy policy, and support
7
+ # documentation.
8
+
9
+ name: Upload Python Package
10
+
11
+
12
+ on:
13
+ release:
14
+ types: [published]
15
+
16
+ permissions:
17
+ contents: read
18
+
19
+ jobs:
20
+ release-build:
21
+ runs-on: ubuntu-latest
22
+
23
+ steps:
24
+ - uses: actions/checkout@v4
25
+
26
+ - uses: actions/setup-python@v5
27
+ with:
28
+ python-version: "3.10"
29
+
30
+ - name: Build release distributions
31
+ run: |
32
+ pip install build
33
+ python -m build
34
+
35
+ - name: Upload distributions
36
+ uses: actions/upload-artifact@v4
37
+ with:
38
+ name: release-dists
39
+ path: dist/
40
+
41
+ pypi-publish:
42
+ runs-on: ubuntu-latest
43
+ needs:
44
+ - release-build
45
+ permissions:
46
+ id-token: write
47
+
48
+ environment:
49
+ name: pypi
50
+ url: https://pypi.org/p/crabcode
51
+
52
+ steps:
53
+ - name: Retrieve release distributions
54
+ uses: actions/download-artifact@v4
55
+ with:
56
+ name: release-dists
57
+ path: dist/
58
+
59
+ - name: Publish release distributions to PyPI
60
+ uses: pypa/gh-action-pypi-publish@release/v1
61
+ with:
62
+ packages-dir: dist/
@@ -0,0 +1,13 @@
1
+ __pycache__/
2
+ *.pyc
3
+ *.egg-info/
4
+ dist/
5
+ build/
6
+ .venv/
7
+ .env
8
+ *.egg
9
+ .mypy_cache/
10
+ .ruff_cache/
11
+ .crabcode/
12
+ .claude/
13
+ .DS_Store
@@ -0,0 +1,23 @@
1
+ Metadata-Version: 2.4
2
+ Name: crabcode
3
+ Version: 0.1.0
4
+ Summary: CrabCode - AI coding assistant in the terminal
5
+ Requires-Python: >=3.10
6
+ Requires-Dist: anthropic>=0.40.0
7
+ Requires-Dist: httpx>=0.27.0
8
+ Requires-Dist: mcp>=1.0.0
9
+ Requires-Dist: openai>=1.50.0
10
+ Requires-Dist: prompt-toolkit>=3.0.0
11
+ Requires-Dist: pydantic>=2.0.0
12
+ Requires-Dist: rich>=13.0.0
13
+ Requires-Dist: tiktoken>=0.7.0
14
+ Requires-Dist: typer>=0.12.0
15
+ Provides-Extra: bedrock
16
+ Requires-Dist: anthropic[bedrock]>=0.40.0; extra == 'bedrock'
17
+ Provides-Extra: search
18
+ Requires-Dist: modelscope>=1.10.0; extra == 'search'
19
+ Requires-Dist: sentence-transformers>=2.0.0; extra == 'search'
20
+ Requires-Dist: tree-sitter-language-pack>=1.0.0; extra == 'search'
21
+ Requires-Dist: usearch>=2.12.0; extra == 'search'
22
+ Provides-Extra: vertex
23
+ Requires-Dist: anthropic[vertex]>=0.40.0; extra == 'vertex'