kodit 0.2.0__tar.gz → 0.2.2__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.

Potentially problematic release.


This version of kodit might be problematic. Click here for more details.

Files changed (147) hide show
  1. kodit-0.2.2/.dockerignore +193 -0
  2. {kodit-0.2.0 → kodit-0.2.2}/.github/workflows/docker.yaml +16 -0
  3. {kodit-0.2.0 → kodit-0.2.2}/.github/workflows/test.yaml +4 -0
  4. {kodit-0.2.0 → kodit-0.2.2}/.gitignore +1 -1
  5. {kodit-0.2.0 → kodit-0.2.2}/Dockerfile +12 -4
  6. {kodit-0.2.0 → kodit-0.2.2}/PKG-INFO +4 -1
  7. {kodit-0.2.0 → kodit-0.2.2}/README.md +1 -0
  8. {kodit-0.2.0 → kodit-0.2.2}/docs/_index.md +1 -0
  9. kodit-0.2.2/docs/demos/go-simple-microservice/index.md +1829 -0
  10. {kodit-0.2.0 → kodit-0.2.2}/docs/demos/knock-knock-auth/index.md +1 -0
  11. {kodit-0.2.0 → kodit-0.2.2}/docs/reference/configuration/index.md +25 -1
  12. {kodit-0.2.0 → kodit-0.2.2}/pyproject.toml +2 -0
  13. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/_version.py +2 -2
  14. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/bm25/local_bm25.py +39 -17
  15. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/bm25/vectorchord_bm25.py +4 -1
  16. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/config.py +21 -24
  17. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/embedding/embedding_factory.py +20 -6
  18. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/embedding/embedding_provider/embedding_provider.py +8 -4
  19. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/embedding/embedding_provider/local_embedding_provider.py +8 -2
  20. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/embedding/embedding_provider/openai_embedding_provider.py +3 -1
  21. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/embedding/local_vector_search_service.py +4 -0
  22. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/embedding/vectorchord_vector_search_service.py +10 -2
  23. kodit-0.2.2/src/kodit/enrichment/enrichment_factory.py +39 -0
  24. kodit-0.2.2/src/kodit/enrichment/enrichment_provider/local_enrichment_provider.py +92 -0
  25. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/enrichment/enrichment_provider/openai_enrichment_provider.py +5 -1
  26. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/indexing/indexing_service.py +4 -0
  27. kodit-0.2.2/src/kodit/migrations/versions/42e836b21102_add_authors.py +64 -0
  28. kodit-0.2.2/src/kodit/source/git.py +16 -0
  29. kodit-0.2.2/src/kodit/source/ignore.py +53 -0
  30. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/source/source_models.py +40 -2
  31. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/source/source_repository.py +51 -16
  32. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/source/source_service.py +101 -51
  33. {kodit-0.2.0 → kodit-0.2.2}/tests/conftest.py +5 -0
  34. kodit-0.2.2/tests/docker-smoke.sh +13 -0
  35. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/bm25/local_bm25_test.py +7 -8
  36. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/bm25/vectorchord_repository_test.py +9 -3
  37. kodit-0.2.2/tests/kodit/embedding/embedding_factory_test.py +67 -0
  38. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/embedding/local_vector_search_service_test.py +9 -3
  39. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/embedding/vectorchord_vector_search_service_test.py +10 -3
  40. kodit-0.2.2/tests/kodit/enrichment/enrichment_factory_test.py +64 -0
  41. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/indexing/indexing_repository_test.py +14 -3
  42. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/indexing/indexing_service_test.py +59 -3
  43. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/mcp_test.py +7 -1
  44. kodit-0.2.2/tests/kodit/source/git_test.py +21 -0
  45. kodit-0.2.2/tests/kodit/source/ignore_test.py +264 -0
  46. kodit-0.2.2/tests/kodit/source/source_service_test.py +322 -0
  47. kodit-0.2.2/tests/vectorchord-smoke.sh +28 -0
  48. {kodit-0.2.0 → kodit-0.2.2}/uv.lock +31 -0
  49. kodit-0.2.0/src/kodit/enrichment/enrichment_factory.py +0 -23
  50. kodit-0.2.0/src/kodit/enrichment/enrichment_provider/local_enrichment_provider.py +0 -63
  51. kodit-0.2.0/tests/kodit/source/source_service_test.py +0 -157
  52. {kodit-0.2.0 → kodit-0.2.2}/.cursor/rules/kodit.mdc +0 -0
  53. {kodit-0.2.0 → kodit-0.2.2}/.github/CODE_OF_CONDUCT.md +0 -0
  54. {kodit-0.2.0 → kodit-0.2.2}/.github/CONTRIBUTING.md +0 -0
  55. {kodit-0.2.0 → kodit-0.2.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  56. {kodit-0.2.0 → kodit-0.2.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  57. {kodit-0.2.0 → kodit-0.2.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  58. {kodit-0.2.0 → kodit-0.2.2}/.github/dependabot.yml +0 -0
  59. {kodit-0.2.0 → kodit-0.2.2}/.github/workflows/docs.yaml +0 -0
  60. {kodit-0.2.0 → kodit-0.2.2}/.github/workflows/pull_request.yaml +0 -0
  61. {kodit-0.2.0 → kodit-0.2.2}/.github/workflows/pypi-test.yaml +0 -0
  62. {kodit-0.2.0 → kodit-0.2.2}/.github/workflows/pypi.yaml +0 -0
  63. {kodit-0.2.0 → kodit-0.2.2}/.python-version +0 -0
  64. {kodit-0.2.0 → kodit-0.2.2}/.vscode/launch.json +0 -0
  65. {kodit-0.2.0 → kodit-0.2.2}/.vscode/settings.json +0 -0
  66. {kodit-0.2.0 → kodit-0.2.2}/LICENSE +0 -0
  67. {kodit-0.2.0 → kodit-0.2.2}/alembic.ini +0 -0
  68. {kodit-0.2.0 → kodit-0.2.2}/docs/demos/_index.md +0 -0
  69. {kodit-0.2.0 → kodit-0.2.2}/docs/developer/index.md +0 -0
  70. {kodit-0.2.0 → kodit-0.2.2}/docs/getting-started/_index.md +0 -0
  71. {kodit-0.2.0 → kodit-0.2.2}/docs/getting-started/installation/index.md +0 -0
  72. {kodit-0.2.0 → kodit-0.2.2}/docs/getting-started/integration/index.md +0 -0
  73. {kodit-0.2.0 → kodit-0.2.2}/docs/getting-started/quick-start/index.md +0 -0
  74. {kodit-0.2.0 → kodit-0.2.2}/docs/reference/_index.md +0 -0
  75. {kodit-0.2.0 → kodit-0.2.2}/docs/reference/telemetry/index.md +0 -0
  76. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/.gitignore +0 -0
  77. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/__init__.py +0 -0
  78. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/app.py +0 -0
  79. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/bm25/__init__.py +0 -0
  80. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/bm25/keyword_search_factory.py +0 -0
  81. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/bm25/keyword_search_service.py +0 -0
  82. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/cli.py +0 -0
  83. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/database.py +0 -0
  84. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/embedding/__init__.py +0 -0
  85. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/embedding/embedding_models.py +0 -0
  86. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/embedding/embedding_provider/__init__.py +0 -0
  87. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/embedding/embedding_provider/hash_embedding_provider.py +0 -0
  88. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/embedding/embedding_repository.py +0 -0
  89. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/embedding/vector_search_service.py +0 -0
  90. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/enrichment/__init__.py +0 -0
  91. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/enrichment/enrichment_provider/__init__.py +0 -0
  92. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/enrichment/enrichment_provider/enrichment_provider.py +0 -0
  93. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/enrichment/enrichment_service.py +0 -0
  94. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/indexing/__init__.py +0 -0
  95. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/indexing/fusion.py +0 -0
  96. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/indexing/indexing_models.py +0 -0
  97. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/indexing/indexing_repository.py +0 -0
  98. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/log.py +0 -0
  99. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/mcp.py +0 -0
  100. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/middleware.py +0 -0
  101. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/migrations/README +0 -0
  102. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/migrations/__init__.py +0 -0
  103. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/migrations/env.py +0 -0
  104. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/migrations/script.py.mako +0 -0
  105. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/migrations/versions/7c3bbc2ab32b_add_embeddings_table.py +0 -0
  106. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/migrations/versions/85155663351e_initial.py +0 -0
  107. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/migrations/versions/__init__.py +0 -0
  108. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/migrations/versions/c3f5137d30f5_index_all_the_things.py +0 -0
  109. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/snippets/__init__.py +0 -0
  110. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/snippets/languages/__init__.py +0 -0
  111. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/snippets/languages/csharp.scm +0 -0
  112. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/snippets/languages/go.scm +0 -0
  113. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/snippets/languages/javascript.scm +0 -0
  114. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/snippets/languages/python.scm +0 -0
  115. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/snippets/languages/typescript.scm +0 -0
  116. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/snippets/method_snippets.py +0 -0
  117. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/snippets/snippets.py +0 -0
  118. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/source/__init__.py +0 -0
  119. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/util/__init__.py +0 -0
  120. {kodit-0.2.0 → kodit-0.2.2}/src/kodit/util/spinner.py +0 -0
  121. {kodit-0.2.0 → kodit-0.2.2}/tests/__init__.py +0 -0
  122. {kodit-0.2.0 → kodit-0.2.2}/tests/experiments/cline-prompt-regression-tests/cline_prompt.txt +0 -0
  123. {kodit-0.2.0 → kodit-0.2.2}/tests/experiments/cline-prompt-regression-tests/cline_prompt_test.py +0 -0
  124. {kodit-0.2.0 → kodit-0.2.2}/tests/experiments/embedding.py +0 -0
  125. {kodit-0.2.0 → kodit-0.2.2}/tests/experiments/similarity_test.py +0 -0
  126. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/__init__.py +0 -0
  127. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/cli_test.py +0 -0
  128. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/e2e.py +0 -0
  129. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/embedding/__init__.py +0 -0
  130. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/embedding/embedding_provider/local_embedding_provider_test.py +0 -0
  131. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/embedding/embedding_provider/openai_embedding_provider_test.py +0 -0
  132. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/enrichment/__init__.py +0 -0
  133. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/enrichment/enrichment_provider/__init__.py +0 -0
  134. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/enrichment/enrichment_provider/openai_enrichment_provider_test.py +0 -0
  135. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/indexing/__init__.py +0 -0
  136. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/snippets/__init__.py +0 -0
  137. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/snippets/csharp.cs +0 -0
  138. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/snippets/detect_language_test.py +0 -0
  139. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/snippets/golang.go +0 -0
  140. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/snippets/javascript.js +0 -0
  141. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/snippets/knock-knock-server.py +0 -0
  142. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/snippets/method_extraction_test.py +0 -0
  143. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/snippets/python.py +0 -0
  144. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/snippets/typescript.tsx +0 -0
  145. {kodit-0.2.0 → kodit-0.2.2}/tests/kodit/source/__init__.py +0 -0
  146. {kodit-0.2.0 → kodit-0.2.2}/tests/performance/similarity.py +0 -0
  147. {kodit-0.2.0 → kodit-0.2.2}/tests/smoke.sh +0 -0
@@ -0,0 +1,193 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ .pybuilder/
76
+ target/
77
+
78
+ # Jupyter Notebook
79
+ .ipynb_checkpoints
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ # For a library or package, you might want to ignore these files since the code is
87
+ # intended to run in multiple environments; otherwise, check them in:
88
+ # .python-version
89
+
90
+ # pipenv
91
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
+ # install all needed dependencies.
95
+ #Pipfile.lock
96
+
97
+ # UV
98
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
99
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
100
+ # commonly ignored for libraries.
101
+ #uv.lock
102
+
103
+ # poetry
104
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
105
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
106
+ # commonly ignored for libraries.
107
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
108
+ #poetry.lock
109
+
110
+ # pdm
111
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
112
+ #pdm.lock
113
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
114
+ # in version control.
115
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
116
+ .pdm.toml
117
+ .pdm-python
118
+ .pdm-build/
119
+
120
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
121
+ __pypackages__/
122
+
123
+ # Celery stuff
124
+ celerybeat-schedule
125
+ celerybeat.pid
126
+
127
+ # SageMath parsed files
128
+ *.sage.py
129
+
130
+ # Environments
131
+ .env*
132
+ .venv
133
+ env/
134
+ venv/
135
+ ENV/
136
+ env.bak/
137
+ venv.bak/
138
+
139
+ # Spyder project settings
140
+ .spyderproject
141
+ .spyproject
142
+
143
+ # Rope project settings
144
+ .ropeproject
145
+
146
+ # mkdocs documentation
147
+ /site
148
+
149
+ # mypy
150
+ .mypy_cache/
151
+ .dmypy.json
152
+ dmypy.json
153
+
154
+ # Pyre type checker
155
+ .pyre/
156
+
157
+ # pytype static type analyzer
158
+ .pytype/
159
+
160
+ # Cython debug symbols
161
+ cython_debug/
162
+
163
+ # PyCharm
164
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
165
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
166
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
167
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
168
+ #.idea/
169
+
170
+ # Ruff stuff:
171
+ .ruff_cache/
172
+
173
+ # PyPI configuration file
174
+ .pypirc
175
+
176
+ # Kodit specific stuff
177
+ .kodit/
178
+ .DS_Store
179
+ *.db
180
+ *.prof
181
+ docs/
182
+ .cursor/
183
+ .github/
184
+ .mypy_cache/
185
+ .ruff_cache/
186
+ .pytest_cache/
187
+ .venv/
188
+ .vscode/
189
+ .gitignore
190
+ LICENSE
191
+ .python-version
192
+ .dockerignore
193
+ tests/
@@ -13,6 +13,9 @@ jobs:
13
13
  name: Test and build Docker image
14
14
  runs-on: ubuntu-latest
15
15
  steps:
16
+ - name: Free up disk space
17
+ run: sudo rm -rf /usr/local/lib/android /usr/share/dotnet || true
18
+
16
19
  - name: Check out the repo
17
20
  uses: actions/checkout@v4
18
21
 
@@ -26,6 +29,9 @@ jobs:
26
29
  load: true
27
30
  tags: ${{ env.TEST_TAG }}
28
31
 
32
+ - name: Docker smoke test
33
+ run: ./tests/docker-smoke.sh
34
+
29
35
  push_to_registry:
30
36
  name: Push Docker image to registry
31
37
  runs-on: ubuntu-latest
@@ -40,9 +46,18 @@ jobs:
40
46
  # Only run on main branch or when explicitly triggered
41
47
  if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
42
48
  steps:
49
+ - name: Free up disk space
50
+ run: sudo rm -rf /usr/local/lib/android /usr/share/dotnet || true
51
+
43
52
  - name: Check out the repo
44
53
  uses: actions/checkout@v4
45
54
 
55
+ - name: Set up QEMU
56
+ uses: docker/setup-qemu-action@v3
57
+
58
+ - name: Set up Docker Buildx
59
+ uses: docker/setup-buildx-action@v3
60
+
46
61
  - name: Log in to Docker Hub
47
62
  uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
48
63
  with:
@@ -60,6 +75,7 @@ jobs:
60
75
  id: push
61
76
  uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
62
77
  with:
78
+ platforms: linux/amd64,linux/arm64
63
79
  context: .
64
80
  file: ./Dockerfile
65
81
  push: true
@@ -26,6 +26,8 @@ jobs:
26
26
 
27
27
  - name: Install uv
28
28
  uses: astral-sh/setup-uv@v5
29
+ with:
30
+ enable-cache: true
29
31
 
30
32
  - name: Install the project
31
33
  run: uv sync --locked --all-extras --dev
@@ -50,6 +52,8 @@ jobs:
50
52
 
51
53
  - name: Install uv
52
54
  uses: astral-sh/setup-uv@v5
55
+ with:
56
+ enable-cache: true
53
57
 
54
58
  - run: uv build --wheel --out-dir test-build
55
59
 
@@ -128,7 +128,7 @@ celerybeat.pid
128
128
  *.sage.py
129
129
 
130
130
  # Environments
131
- .env
131
+ .env*
132
132
  .venv
133
133
  env/
134
134
  venv/
@@ -14,7 +14,8 @@ apt-get update -qy
14
14
  apt-get install -qyy \
15
15
  -o APT::Install-Recommends=false \
16
16
  -o APT::Install-Suggests=false \
17
- git
17
+ git \
18
+ build-essential
18
19
  EOT
19
20
 
20
21
  # Security-conscious organizations should package/review uv themselves.
@@ -38,7 +39,7 @@ ENV UV_LINK_MODE=copy \
38
39
  # You can create `/app` using `uv venv` in a separate `RUN`
39
40
  # step to have it cached, but with uv it's so fast, it's not worth
40
41
  # it, so we let `uv sync` create it for us automagically.
41
- RUN --mount=type=cache,target=/root/.cache \
42
+ RUN --mount=type=cache,target=/root/.cache/uv \
42
43
  --mount=type=bind,source=uv.lock,target=uv.lock \
43
44
  --mount=type=bind,source=pyproject.toml,target=pyproject.toml \
44
45
  uv sync \
@@ -51,18 +52,25 @@ RUN --mount=type=cache,target=/root/.cache \
51
52
  # LEAVE THIS OUT if your application is NOT a proper Python package.
52
53
  COPY . /src
53
54
  WORKDIR /src
54
- RUN --mount=type=cache,target=/root/.cache \
55
+ RUN --mount=type=cache,target=/root/.cache/uv \
55
56
  uv sync \
56
57
  --locked \
57
58
  --no-dev \
58
59
  --no-editable
59
60
 
60
-
61
61
  ##########################################################################
62
62
 
63
63
  FROM python:3.13.4-slim-bookworm
64
64
  SHELL ["sh", "-exc"]
65
65
 
66
+ RUN <<EOT
67
+ apt-get update -qy
68
+ apt-get install -qyy \
69
+ -o APT::Install-Recommends=false \
70
+ -o APT::Install-Suggests=false \
71
+ git
72
+ EOT
73
+
66
74
  ENV PATH=/app/bin:$PATH
67
75
 
68
76
  # Don't run your app as root.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kodit
3
- Version: 0.2.0
3
+ Version: 0.2.2
4
4
  Summary: Code indexing for better AI code generation
5
5
  Project-URL: Homepage, https://docs.helixml.tech/kodit/
6
6
  Project-URL: Documentation, https://docs.helixml.tech/kodit/
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.12
18
18
  Classifier: Programming Language :: Python :: 3.13
19
19
  Classifier: Topic :: Software Development :: Code Generators
20
20
  Requires-Python: >=3.12
21
+ Requires-Dist: accelerate>=1.7.0
21
22
  Requires-Dist: aiofiles>=24.1.0
22
23
  Requires-Dist: aiosqlite>=0.20.0
23
24
  Requires-Dist: alembic>=1.15.2
@@ -35,6 +36,7 @@ Requires-Dist: hf-xet>=1.1.2
35
36
  Requires-Dist: httpx-retries>=0.3.2
36
37
  Requires-Dist: httpx>=0.28.1
37
38
  Requires-Dist: openai>=1.82.0
39
+ Requires-Dist: pathspec>=0.12.1
38
40
  Requires-Dist: posthog>=4.0.1
39
41
  Requires-Dist: pydantic-settings>=2.9.1
40
42
  Requires-Dist: pytable-formatter>=0.1.1
@@ -92,6 +94,7 @@ code. This index is used to build a snippet library, ready for ingestion into an
92
94
  - Build comprehensive snippet libraries for LLM ingestion
93
95
  - Support for multiple codebase types and languages
94
96
  - Efficient indexing and search capabilities
97
+ - Privacy first: respects .gitignore and .noindex files.
95
98
 
96
99
  ### MCP Server
97
100
 
@@ -41,6 +41,7 @@ code. This index is used to build a snippet library, ready for ingestion into an
41
41
  - Build comprehensive snippet libraries for LLM ingestion
42
42
  - Support for multiple codebase types and languages
43
43
  - Efficient indexing and search capabilities
44
+ - Privacy first: respects .gitignore and .noindex files.
44
45
 
45
46
  ### MCP Server
46
47
 
@@ -51,6 +51,7 @@ code. This index is used to build a snippet library, ready for ingestion into an
51
51
  - Build comprehensive snippet libraries for LLM ingestion
52
52
  - Support for multiple codebase types and languages
53
53
  - Efficient indexing and search capabilities
54
+ - Privacy first: respects .gitignore and .noindex files.
54
55
 
55
56
  ### MCP Server
56
57