kodit 0.2.1__tar.gz → 0.2.3__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 (154) hide show
  1. kodit-0.2.3/.dockerignore +193 -0
  2. {kodit-0.2.1 → kodit-0.2.3}/.github/workflows/docker.yaml +13 -0
  3. {kodit-0.2.1 → kodit-0.2.3}/.github/workflows/test.yaml +4 -0
  4. {kodit-0.2.1 → kodit-0.2.3}/Dockerfile +5 -5
  5. {kodit-0.2.1 → kodit-0.2.3}/PKG-INFO +4 -2
  6. {kodit-0.2.1 → kodit-0.2.3}/README.md +1 -0
  7. {kodit-0.2.1 → kodit-0.2.3}/docs/_index.md +2 -1
  8. kodit-0.2.3/docs/demos/go-simple-microservice/index.md +1829 -0
  9. {kodit-0.2.1 → kodit-0.2.3}/docs/demos/knock-knock-auth/index.md +1 -0
  10. {kodit-0.2.1 → kodit-0.2.3}/docs/developer/index.md +5 -4
  11. {kodit-0.2.1 → kodit-0.2.3}/docs/reference/configuration/index.md +25 -1
  12. kodit-0.2.3/docs/reference/deployment/docker-compose.yaml +40 -0
  13. kodit-0.2.3/docs/reference/deployment/index.md +35 -0
  14. kodit-0.2.3/docs/reference/deployment/kubernetes.yaml +99 -0
  15. kodit-0.2.3/docs/reference/telemetry/index.md +31 -0
  16. {kodit-0.2.1 → kodit-0.2.3}/pyproject.toml +2 -1
  17. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/_version.py +2 -2
  18. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/app.py +6 -0
  19. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/bm25/local_bm25.py +8 -0
  20. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/bm25/vectorchord_bm25.py +4 -1
  21. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/cli.py +8 -2
  22. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/config.py +14 -24
  23. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/embedding/embedding_factory.py +25 -6
  24. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/embedding/embedding_provider/embedding_provider.py +2 -2
  25. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/embedding/embedding_provider/openai_embedding_provider.py +3 -1
  26. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/embedding/local_vector_search_service.py +4 -0
  27. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/embedding/vectorchord_vector_search_service.py +10 -2
  28. kodit-0.2.3/src/kodit/enrichment/enrichment_factory.py +42 -0
  29. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/enrichment/enrichment_provider/local_enrichment_provider.py +4 -0
  30. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/enrichment/enrichment_provider/openai_enrichment_provider.py +5 -1
  31. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/indexing/indexing_service.py +28 -3
  32. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/log.py +126 -24
  33. kodit-0.2.3/src/kodit/migrations/versions/9e53ea8bb3b0_add_authors.py +103 -0
  34. kodit-0.2.3/src/kodit/source/git.py +16 -0
  35. kodit-0.2.3/src/kodit/source/ignore.py +53 -0
  36. kodit-0.2.3/src/kodit/source/source_factories.py +356 -0
  37. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/source/source_models.py +52 -2
  38. kodit-0.2.3/src/kodit/source/source_repository.py +169 -0
  39. kodit-0.2.3/src/kodit/source/source_service.py +150 -0
  40. {kodit-0.2.1 → kodit-0.2.3}/tests/conftest.py +5 -0
  41. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/bm25/local_bm25_test.py +6 -0
  42. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/bm25/vectorchord_repository_test.py +9 -3
  43. kodit-0.2.3/tests/kodit/embedding/embedding_factory_test.py +67 -0
  44. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/embedding/embedding_provider/local_embedding_provider_test.py +12 -0
  45. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/embedding/local_vector_search_service_test.py +9 -3
  46. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/embedding/vectorchord_vector_search_service_test.py +10 -3
  47. kodit-0.2.3/tests/kodit/enrichment/enrichment_factory_test.py +64 -0
  48. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/indexing/indexing_repository_test.py +14 -3
  49. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/indexing/indexing_service_test.py +59 -3
  50. kodit-0.2.3/tests/kodit/log_test.py +18 -0
  51. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/mcp_test.py +7 -1
  52. kodit-0.2.3/tests/kodit/source/git_test.py +21 -0
  53. kodit-0.2.3/tests/kodit/source/ignore_test.py +264 -0
  54. kodit-0.2.3/tests/kodit/source/source_service_test.py +320 -0
  55. kodit-0.2.3/tests/vectorchord-smoke.sh +28 -0
  56. {kodit-0.2.1 → kodit-0.2.3}/uv.lock +51 -18
  57. kodit-0.2.1/docs/reference/telemetry/index.md +0 -34
  58. kodit-0.2.1/src/kodit/enrichment/enrichment_factory.py +0 -23
  59. kodit-0.2.1/src/kodit/source/source_repository.py +0 -105
  60. kodit-0.2.1/src/kodit/source/source_service.py +0 -260
  61. kodit-0.2.1/tests/kodit/source/source_service_test.py +0 -165
  62. {kodit-0.2.1 → kodit-0.2.3}/.cursor/rules/kodit.mdc +0 -0
  63. {kodit-0.2.1 → kodit-0.2.3}/.github/CODE_OF_CONDUCT.md +0 -0
  64. {kodit-0.2.1 → kodit-0.2.3}/.github/CONTRIBUTING.md +0 -0
  65. {kodit-0.2.1 → kodit-0.2.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  66. {kodit-0.2.1 → kodit-0.2.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  67. {kodit-0.2.1 → kodit-0.2.3}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  68. {kodit-0.2.1 → kodit-0.2.3}/.github/dependabot.yml +0 -0
  69. {kodit-0.2.1 → kodit-0.2.3}/.github/workflows/docs.yaml +0 -0
  70. {kodit-0.2.1 → kodit-0.2.3}/.github/workflows/pull_request.yaml +0 -0
  71. {kodit-0.2.1 → kodit-0.2.3}/.github/workflows/pypi-test.yaml +0 -0
  72. {kodit-0.2.1 → kodit-0.2.3}/.github/workflows/pypi.yaml +0 -0
  73. {kodit-0.2.1 → kodit-0.2.3}/.gitignore +0 -0
  74. {kodit-0.2.1 → kodit-0.2.3}/.python-version +0 -0
  75. {kodit-0.2.1 → kodit-0.2.3}/.vscode/launch.json +0 -0
  76. {kodit-0.2.1 → kodit-0.2.3}/.vscode/settings.json +0 -0
  77. {kodit-0.2.1 → kodit-0.2.3}/LICENSE +0 -0
  78. {kodit-0.2.1 → kodit-0.2.3}/alembic.ini +0 -0
  79. {kodit-0.2.1 → kodit-0.2.3}/docs/demos/_index.md +0 -0
  80. {kodit-0.2.1 → kodit-0.2.3}/docs/getting-started/_index.md +0 -0
  81. {kodit-0.2.1 → kodit-0.2.3}/docs/getting-started/installation/index.md +0 -0
  82. {kodit-0.2.1 → kodit-0.2.3}/docs/getting-started/integration/index.md +0 -0
  83. {kodit-0.2.1 → kodit-0.2.3}/docs/getting-started/quick-start/index.md +0 -0
  84. {kodit-0.2.1 → kodit-0.2.3}/docs/reference/_index.md +0 -0
  85. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/.gitignore +0 -0
  86. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/__init__.py +0 -0
  87. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/bm25/__init__.py +0 -0
  88. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/bm25/keyword_search_factory.py +0 -0
  89. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/bm25/keyword_search_service.py +0 -0
  90. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/database.py +0 -0
  91. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/embedding/__init__.py +0 -0
  92. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/embedding/embedding_models.py +0 -0
  93. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/embedding/embedding_provider/__init__.py +0 -0
  94. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/embedding/embedding_provider/hash_embedding_provider.py +0 -0
  95. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/embedding/embedding_provider/local_embedding_provider.py +0 -0
  96. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/embedding/embedding_repository.py +0 -0
  97. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/embedding/vector_search_service.py +0 -0
  98. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/enrichment/__init__.py +0 -0
  99. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/enrichment/enrichment_provider/__init__.py +0 -0
  100. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/enrichment/enrichment_provider/enrichment_provider.py +0 -0
  101. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/enrichment/enrichment_service.py +0 -0
  102. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/indexing/__init__.py +0 -0
  103. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/indexing/fusion.py +0 -0
  104. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/indexing/indexing_models.py +0 -0
  105. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/indexing/indexing_repository.py +0 -0
  106. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/mcp.py +0 -0
  107. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/middleware.py +0 -0
  108. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/migrations/README +0 -0
  109. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/migrations/__init__.py +0 -0
  110. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/migrations/env.py +0 -0
  111. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/migrations/script.py.mako +0 -0
  112. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/migrations/versions/7c3bbc2ab32b_add_embeddings_table.py +0 -0
  113. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/migrations/versions/85155663351e_initial.py +0 -0
  114. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/migrations/versions/__init__.py +0 -0
  115. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/migrations/versions/c3f5137d30f5_index_all_the_things.py +0 -0
  116. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/snippets/__init__.py +0 -0
  117. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/snippets/languages/__init__.py +0 -0
  118. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/snippets/languages/csharp.scm +0 -0
  119. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/snippets/languages/go.scm +0 -0
  120. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/snippets/languages/javascript.scm +0 -0
  121. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/snippets/languages/python.scm +0 -0
  122. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/snippets/languages/typescript.scm +0 -0
  123. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/snippets/method_snippets.py +0 -0
  124. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/snippets/snippets.py +0 -0
  125. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/source/__init__.py +0 -0
  126. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/util/__init__.py +0 -0
  127. {kodit-0.2.1 → kodit-0.2.3}/src/kodit/util/spinner.py +0 -0
  128. {kodit-0.2.1 → kodit-0.2.3}/tests/__init__.py +0 -0
  129. {kodit-0.2.1 → kodit-0.2.3}/tests/docker-smoke.sh +0 -0
  130. {kodit-0.2.1 → kodit-0.2.3}/tests/experiments/cline-prompt-regression-tests/cline_prompt.txt +0 -0
  131. {kodit-0.2.1 → kodit-0.2.3}/tests/experiments/cline-prompt-regression-tests/cline_prompt_test.py +0 -0
  132. {kodit-0.2.1 → kodit-0.2.3}/tests/experiments/embedding.py +0 -0
  133. {kodit-0.2.1 → kodit-0.2.3}/tests/experiments/similarity_test.py +0 -0
  134. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/__init__.py +0 -0
  135. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/cli_test.py +0 -0
  136. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/e2e.py +0 -0
  137. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/embedding/__init__.py +0 -0
  138. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/embedding/embedding_provider/openai_embedding_provider_test.py +0 -0
  139. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/enrichment/__init__.py +0 -0
  140. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/enrichment/enrichment_provider/__init__.py +0 -0
  141. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/enrichment/enrichment_provider/openai_enrichment_provider_test.py +0 -0
  142. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/indexing/__init__.py +0 -0
  143. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/snippets/__init__.py +0 -0
  144. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/snippets/csharp.cs +0 -0
  145. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/snippets/detect_language_test.py +0 -0
  146. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/snippets/golang.go +0 -0
  147. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/snippets/javascript.js +0 -0
  148. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/snippets/knock-knock-server.py +0 -0
  149. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/snippets/method_extraction_test.py +0 -0
  150. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/snippets/python.py +0 -0
  151. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/snippets/typescript.tsx +0 -0
  152. {kodit-0.2.1 → kodit-0.2.3}/tests/kodit/source/__init__.py +0 -0
  153. {kodit-0.2.1 → kodit-0.2.3}/tests/performance/similarity.py +0 -0
  154. {kodit-0.2.1 → kodit-0.2.3}/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
 
@@ -43,9 +46,18 @@ jobs:
43
46
  # Only run on main branch or when explicitly triggered
44
47
  if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
45
48
  steps:
49
+ - name: Free up disk space
50
+ run: sudo rm -rf /usr/local/lib/android /usr/share/dotnet || true
51
+
46
52
  - name: Check out the repo
47
53
  uses: actions/checkout@v4
48
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
+
49
61
  - name: Log in to Docker Hub
50
62
  uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
51
63
  with:
@@ -63,6 +75,7 @@ jobs:
63
75
  id: push
64
76
  uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
65
77
  with:
78
+ platforms: linux/amd64,linux/arm64
66
79
  context: .
67
80
  file: ./Dockerfile
68
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
 
@@ -1,5 +1,6 @@
1
1
  # syntax=docker/dockerfile:1.9
2
- FROM python:3.13.4-slim-bookworm AS build
2
+ ARG PYTHON_VERSION=3.13.5
3
+ FROM python:${PYTHON_VERSION}-slim-bookworm AS build
3
4
 
4
5
  # The following does not work in Podman unless you build in Docker
5
6
  # compatibility mode: <https://github.com/containers/podman/issues/8477>
@@ -39,7 +40,7 @@ ENV UV_LINK_MODE=copy \
39
40
  # You can create `/app` using `uv venv` in a separate `RUN`
40
41
  # step to have it cached, but with uv it's so fast, it's not worth
41
42
  # it, so we let `uv sync` create it for us automagically.
42
- RUN --mount=type=cache,target=/root/.cache \
43
+ RUN --mount=type=cache,target=/root/.cache/uv \
43
44
  --mount=type=bind,source=uv.lock,target=uv.lock \
44
45
  --mount=type=bind,source=pyproject.toml,target=pyproject.toml \
45
46
  uv sync \
@@ -52,16 +53,15 @@ RUN --mount=type=cache,target=/root/.cache \
52
53
  # LEAVE THIS OUT if your application is NOT a proper Python package.
53
54
  COPY . /src
54
55
  WORKDIR /src
55
- RUN --mount=type=cache,target=/root/.cache \
56
+ RUN --mount=type=cache,target=/root/.cache/uv \
56
57
  uv sync \
57
58
  --locked \
58
59
  --no-dev \
59
60
  --no-editable
60
61
 
61
-
62
62
  ##########################################################################
63
63
 
64
- FROM python:3.13.4-slim-bookworm
64
+ FROM python:${PYTHON_VERSION}-slim-bookworm
65
65
  SHELL ["sh", "-exc"]
66
66
 
67
67
  RUN <<EOT
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kodit
3
- Version: 0.2.1
3
+ Version: 0.2.3
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/
@@ -36,9 +36,10 @@ Requires-Dist: hf-xet>=1.1.2
36
36
  Requires-Dist: httpx-retries>=0.3.2
37
37
  Requires-Dist: httpx>=0.28.1
38
38
  Requires-Dist: openai>=1.82.0
39
- Requires-Dist: posthog>=4.0.1
39
+ Requires-Dist: pathspec>=0.12.1
40
40
  Requires-Dist: pydantic-settings>=2.9.1
41
41
  Requires-Dist: pytable-formatter>=0.1.1
42
+ Requires-Dist: rudder-sdk-python>=2.1.4
42
43
  Requires-Dist: sentence-transformers>=4.1.0
43
44
  Requires-Dist: sqlalchemy[asyncio]>=2.0.40
44
45
  Requires-Dist: structlog>=25.3.0
@@ -93,6 +94,7 @@ code. This index is used to build a snippet library, ready for ingestion into an
93
94
  - Build comprehensive snippet libraries for LLM ingestion
94
95
  - Support for multiple codebase types and languages
95
96
  - Efficient indexing and search capabilities
97
+ - Privacy first: respects .gitignore and .noindex files.
96
98
 
97
99
  ### MCP Server
98
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
 
@@ -89,7 +90,7 @@ The roadmap is currently maintained as a [Github Project](https://github.com/org
89
90
 
90
91
  ## 💬 Support
91
92
 
92
- For commercial support, please contact [Helix.ML](founders@helix.ml). To ask a question,
93
+ For commercial support, please contact [Helix.ML](https://docs.helixml.tech/helix/help/). To ask a question,
93
94
  please [open a discussion](https://github.com/helixml/kodit/discussions).
94
95
 
95
96
  ## License