kodit 0.1.0__py3-none-any.whl → 0.1.2__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kodit
3
- Version: 0.1.0
3
+ Version: 0.1.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/
@@ -17,6 +17,9 @@ Classifier: Intended Audience :: Developers
17
17
  Classifier: Programming Language :: Python :: 3.12
18
18
  Classifier: Topic :: Software Development :: Code Generators
19
19
  Requires-Python: >=3.12
20
+ Requires-Dist: aiofiles>=24.1.0
21
+ Requires-Dist: aiosqlite>=0.20.0
22
+ Requires-Dist: alembic>=1.15.2
20
23
  Requires-Dist: asgi-correlation-id>=4.3.4
21
24
  Requires-Dist: better-exceptions>=0.3.3
22
25
  Requires-Dist: click>=8.1.8
@@ -27,7 +30,11 @@ Requires-Dist: httpx-retries>=0.3.2
27
30
  Requires-Dist: httpx>=0.28.1
28
31
  Requires-Dist: mcp>=1.6.0
29
32
  Requires-Dist: posthog>=4.0.1
33
+ Requires-Dist: pytable-formatter>=0.1.1
34
+ Requires-Dist: sqlalchemy[asyncio]>=2.0.40
30
35
  Requires-Dist: structlog>=25.3.0
36
+ Requires-Dist: tdqm>=0.0.1
37
+ Requires-Dist: uritools>=5.0.0
31
38
  Description-Content-Type: text/markdown
32
39
 
33
40
  # kodit
@@ -0,0 +1,33 @@
1
+ kodit/.gitignore,sha256=ztkjgRwL9Uud1OEi36hGQeDGk3OLK1NfDEO8YqGYy8o,11
2
+ kodit/__init__.py,sha256=aEKHYninUq1yh6jaNfvJBYg-6fenpN132nJt1UU6Jxs,59
3
+ kodit/_version.py,sha256=bSmADqydH8nBu-J4lG8UVuR7hnU_zcwhnSav2oQ0W0A,511
4
+ kodit/app.py,sha256=FBAeeOz2CICvVN_27iMq9wEF9y8d1IDl0WmkEnM_M_U,699
5
+ kodit/cli.py,sha256=2hNz05I6vryhkGqwMXlg_GKVAzhMmS_v8H2Nl6oxBZ4,5696
6
+ kodit/config.py,sha256=Wq9MlxOnOA3p9mgIzsq-s7N57_GFVIOMML-4GFINmqE,104
7
+ kodit/database.py,sha256=QGfqcDVAhSed67-ubMZyjsNR4shh6DmMFCdKg6H54yc,2391
8
+ kodit/logging.py,sha256=dQr4YXVH8_B52V0wXbBrn_HvH4QpO-fsi0C3JPWzn0Y,5022
9
+ kodit/mcp.py,sha256=Sg7Waes9Z7HYzdglspG92dGhTVtb1lEaEKW-vlaUCXg,1488
10
+ kodit/middleware.py,sha256=NHLrqq20ZtPTE9esX9HD3z7EKi56_QTFxBlkdq0JDzQ,2138
11
+ kodit/sse.py,sha256=UgwXJUeFq5D5S9KYKVVg4m6P0-_QHnJOCRRQB8XNR-M,2259
12
+ kodit/alembic/README,sha256=ISVtAOvqvKk_5ThM5ioJE-lMkvf9IbknFUFVU_vPma4,58
13
+ kodit/alembic/__init__.py,sha256=lP5MuwlyWRMO6UcDWnQcQ3G-GYHcFb6rl9gYPHJ1sjo,40
14
+ kodit/alembic/env.py,sha256=WnmwmN6wKEThI17b-VPDkRq-nKfmaT6nRLabc2VM1oM,2390
15
+ kodit/alembic/script.py.mako,sha256=zWziKtiwYKEWuwPV_HBNHwa9LCT45_bi01-uSNFaOOE,703
16
+ kodit/alembic/versions/85155663351e_initial.py,sha256=Cg7zlF871o9ShV5rQMQ1v7hRV7fI59veDY9cjtTrs-8,3306
17
+ kodit/alembic/versions/__init__.py,sha256=9-lHzptItTzq_fomdIRBegQNm4Znx6pVjwD4MiqRIdo,36
18
+ kodit/indexing/__init__.py,sha256=cPyi2Iej3G1JFWlWr7X80_UrsMaTu5W5rBwgif1B3xo,75
19
+ kodit/indexing/models.py,sha256=sZIhGwvL4Dw0QTWFxrjfWctSLkAoDT6fv5DlGz8-Fr8,1258
20
+ kodit/indexing/repository.py,sha256=GeRpgRNOZunEKtzkkqkJWlOaR8cpGMX4rI_puDdB8WY,4006
21
+ kodit/indexing/service.py,sha256=COiOCNmZN0QKgazXB4dEpHnL1pi002td6n7PRo0d17I,4985
22
+ kodit/retreival/__init__.py,sha256=33PhJU-3gtsqYq6A1UkaLNKbev_Zee9Lq6dYC59-CsA,69
23
+ kodit/retreival/repository.py,sha256=WJQiePfeuwnj8Vy6dqF4bhNhsWqH9VspjN2zlvYQWvY,2273
24
+ kodit/retreival/service.py,sha256=Iy9IBLhohQmypeOs0hDEjgr1hsr0xtaiMqjIzykFWrY,727
25
+ kodit/sources/__init__.py,sha256=1NTZyPdjThVQpZO1Mp1ColVsS7sqYanOVLqnoqV9Ipo,83
26
+ kodit/sources/models.py,sha256=xb42CaNDO1CUB8SIW-xXMrB6Ji8cFw-yeJ550xBEg9Q,2398
27
+ kodit/sources/repository.py,sha256=mGJrHWH6Uo8YABdoojHFbzaf_jW-2ywJpAHIa1gnc3U,3401
28
+ kodit/sources/service.py,sha256=khrz3UH6hNTYwXMFosGc46trcb8Sm0dTPwvptbgRgwM,6722
29
+ kodit-0.1.2.dist-info/METADATA,sha256=6HY81RDuu6MXJkq_1sCrcVU2C5zsrElYMbnouji2npY,2019
30
+ kodit-0.1.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
31
+ kodit-0.1.2.dist-info/entry_points.txt,sha256=hoTn-1aKyTItjnY91fnO-rV5uaWQLQ-Vi7V5et2IbHY,40
32
+ kodit-0.1.2.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
33
+ kodit-0.1.2.dist-info/RECORD,,
kodit/mcp_test.py DELETED
@@ -1,66 +0,0 @@
1
- """Tests for the MCP server implementation."""
2
-
3
- from multiprocessing import Process
4
-
5
- import httpx
6
- import pytest
7
- import uvicorn
8
- from httpx_retries import Retry, RetryTransport
9
- from mcp import ClientSession
10
- from mcp.client.sse import sse_client
11
-
12
- from kodit.app import app
13
-
14
-
15
- def run_server() -> None:
16
- """Run the uvicorn server in a separate process."""
17
- config = uvicorn.Config(app, host="127.0.0.1", port=8000, log_level="error")
18
- server = uvicorn.Server(config)
19
- server.run()
20
-
21
-
22
- async def wait_for_server() -> None:
23
- """Wait for the server to start."""
24
- retry = Retry(total=5, backoff_factor=0.5)
25
- transport = RetryTransport(retry=retry)
26
-
27
- async with httpx.AsyncClient(transport=transport) as client:
28
- response = await client.get("http://127.0.0.1:8000/")
29
- assert response.status_code == 200
30
-
31
-
32
- @pytest.mark.asyncio
33
- async def test_mcp_client_connection() -> None:
34
- """Test connecting to the MCP server using ClientSession."""
35
- server_process = None
36
- try:
37
- # Start the server in a separate process
38
- server_process = Process(target=run_server, daemon=True)
39
- server_process.start()
40
-
41
- # Ping the server with requests, wait for it to start
42
- await wait_for_server()
43
-
44
- # The sse_client returns read and write streams, not a client object
45
- async with (
46
- sse_client("http://127.0.0.1:8000/sse/") as (
47
- read_stream,
48
- write_stream,
49
- ),
50
- ClientSession(read_stream, write_stream) as session,
51
- ):
52
- # Initialize the connection
53
- await session.initialize()
54
-
55
- # List available tools
56
- tools_result = await session.list_tools()
57
- # Check that we got a proper tools result with a tools attribute
58
- assert hasattr(tools_result, "tools")
59
- # Verify we can see the 'retrieve_relevant_snippets' tool
60
- tool_names = [tool.name for tool in tools_result.tools]
61
- assert "retrieve_relevant_snippets" in tool_names
62
- finally:
63
- # Due to https://github.com/modelcontextprotocol/python-sdk/issues/514, mcp
64
- # doesn't shut down the server when requested. So we have to force kill it.
65
- server_process.kill()
66
- server_process.join(timeout=1)
@@ -1,15 +0,0 @@
1
- kodit/.gitignore,sha256=ztkjgRwL9Uud1OEi36hGQeDGk3OLK1NfDEO8YqGYy8o,11
2
- kodit/__init__.py,sha256=aEKHYninUq1yh6jaNfvJBYg-6fenpN132nJt1UU6Jxs,59
3
- kodit/_version.py,sha256=-LyU5F1uZDjn6Q8_Z6-_FJt_8RE4Kq9zcKdg1abSSps,511
4
- kodit/app.py,sha256=FBAeeOz2CICvVN_27iMq9wEF9y8d1IDl0WmkEnM_M_U,699
5
- kodit/cli.py,sha256=jmEQlN34PXow9ui60aoCs84G5e3tX1T9C4-BV8zsnoU,2037
6
- kodit/logging.py,sha256=zAkU8J_hI8eDZ6AhRdVjC7Kppp9fuP9HEzWczWPrpy4,4622
7
- kodit/mcp.py,sha256=Sg7Waes9Z7HYzdglspG92dGhTVtb1lEaEKW-vlaUCXg,1488
8
- kodit/mcp_test.py,sha256=ztpNdy6b_pTzzWQbNMSpmpjsYYjLr8igAtawFD_-_QM,2293
9
- kodit/middleware.py,sha256=NHLrqq20ZtPTE9esX9HD3z7EKi56_QTFxBlkdq0JDzQ,2138
10
- kodit/sse.py,sha256=UgwXJUeFq5D5S9KYKVVg4m6P0-_QHnJOCRRQB8XNR-M,2259
11
- kodit-0.1.0.dist-info/METADATA,sha256=a5BIlshzgrZi2Zla6X7ZVCDUnljHXGQVplGvUUdIM1U,1782
12
- kodit-0.1.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
13
- kodit-0.1.0.dist-info/entry_points.txt,sha256=hoTn-1aKyTItjnY91fnO-rV5uaWQLQ-Vi7V5et2IbHY,40
14
- kodit-0.1.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
15
- kodit-0.1.0.dist-info/RECORD,,
File without changes