mcp-server-code-assist 0.1.1__tar.gz → 0.1.2__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/PKG-INFO +3 -1
  2. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/pyproject.toml +4 -2
  3. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/uv.lock +183 -1
  4. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/.gitignore +0 -0
  5. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/Dockerfile +0 -0
  6. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/License +0 -0
  7. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/README.md +0 -0
  8. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/calude_prompt.txt +0 -0
  9. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/plan.md +0 -0
  10. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/src/mcp_server_code_assist/__init__.py +0 -0
  11. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/src/mcp_server_code_assist/__main__.py +0 -0
  12. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/src/mcp_server_code_assist/schema.xsd +0 -0
  13. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/src/mcp_server_code_assist/server.py +0 -0
  14. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/src/mcp_server_code_assist/tools/__init__.py +0 -0
  15. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/src/mcp_server_code_assist/tools/file_tools.py +0 -0
  16. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/src/mcp_server_code_assist/tools/git_functions.py +0 -0
  17. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/src/mcp_server_code_assist/tools/invoke.py +0 -0
  18. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/src/mcp_server_code_assist/tools/models.py +0 -0
  19. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/src/mcp_server_code_assist/tools/repository_tools.py +0 -0
  20. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/src/mcp_server_code_assist/xml_parser.py +0 -0
  21. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/tests/__init__.py +0 -0
  22. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/tests/test_file_operations.py +0 -0
  23. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/tests/test_repository_tools.py +0 -0
  24. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/tests/test_server.py +0 -0
  25. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/tests/test_tools.py +0 -0
  26. {mcp_server_code_assist-0.1.1 → mcp_server_code_assist-0.1.2}/tests/test_xml_parser.py +0 -0
@@ -1,10 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-server-code-assist
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: MCP Code Assist Server
5
5
  Requires-Python: >=3.11
6
6
  Requires-Dist: aiofiles>=24.0.0
7
+ Requires-Dist: click>=8.1.7
7
8
  Requires-Dist: gitpython>=3.1.40
9
+ Requires-Dist: mcp>=1.2.0
8
10
  Requires-Dist: pydantic>=2.0.0
9
11
  Provides-Extra: test
10
12
  Requires-Dist: pytest-asyncio>=0.25.0; extra == 'test'
@@ -1,12 +1,14 @@
1
1
  [project]
2
2
  name = "mcp-server-code-assist"
3
- version = "0.1.1"
3
+ version = "0.1.2"
4
4
  description = "MCP Code Assist Server"
5
5
  requires-python = ">=3.11"
6
6
  dependencies = [
7
7
  "aiofiles>=24.0.0",
8
8
  "gitpython>=3.1.40",
9
- "pydantic>=2.0.0"
9
+ "pydantic>=2.0.0",
10
+ "click>=8.1.7",
11
+ "mcp>=1.2.0"
10
12
  ]
11
13
 
12
14
  [project.scripts]
@@ -19,6 +19,41 @@ wheels = [
19
19
  { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643 },
20
20
  ]
21
21
 
22
+ [[package]]
23
+ name = "anyio"
24
+ version = "4.8.0"
25
+ source = { registry = "https://pypi.org/simple" }
26
+ dependencies = [
27
+ { name = "idna" },
28
+ { name = "sniffio" },
29
+ { name = "typing-extensions", marker = "python_full_version < '3.13'" },
30
+ ]
31
+ sdist = { url = "https://files.pythonhosted.org/packages/a3/73/199a98fc2dae33535d6b8e8e6ec01f8c1d76c9adb096c6b7d64823038cde/anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a", size = 181126 }
32
+ wheels = [
33
+ { url = "https://files.pythonhosted.org/packages/46/eb/e7f063ad1fec6b3178a3cd82d1a3c4de82cccf283fc42746168188e1cdd5/anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a", size = 96041 },
34
+ ]
35
+
36
+ [[package]]
37
+ name = "certifi"
38
+ version = "2024.12.14"
39
+ source = { registry = "https://pypi.org/simple" }
40
+ sdist = { url = "https://files.pythonhosted.org/packages/0f/bd/1d41ee578ce09523c81a15426705dd20969f5abf006d1afe8aeff0dd776a/certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db", size = 166010 }
41
+ wheels = [
42
+ { url = "https://files.pythonhosted.org/packages/a5/32/8f6669fc4798494966bf446c8c4a162e0b5d893dff088afddf76414f70e1/certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56", size = 164927 },
43
+ ]
44
+
45
+ [[package]]
46
+ name = "click"
47
+ version = "8.1.8"
48
+ source = { registry = "https://pypi.org/simple" }
49
+ dependencies = [
50
+ { name = "colorama", marker = "sys_platform == 'win32'" },
51
+ ]
52
+ sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 }
53
+ wheels = [
54
+ { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188 },
55
+ ]
56
+
22
57
  [[package]]
23
58
  name = "colorama"
24
59
  version = "0.4.6"
@@ -52,6 +87,61 @@ wheels = [
52
87
  { url = "https://files.pythonhosted.org/packages/1d/9a/4114a9057db2f1462d5c8f8390ab7383925fe1ac012eaa42402ad65c2963/GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110", size = 207599 },
53
88
  ]
54
89
 
90
+ [[package]]
91
+ name = "h11"
92
+ version = "0.14.0"
93
+ source = { registry = "https://pypi.org/simple" }
94
+ sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418 }
95
+ wheels = [
96
+ { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259 },
97
+ ]
98
+
99
+ [[package]]
100
+ name = "httpcore"
101
+ version = "1.0.7"
102
+ source = { registry = "https://pypi.org/simple" }
103
+ dependencies = [
104
+ { name = "certifi" },
105
+ { name = "h11" },
106
+ ]
107
+ sdist = { url = "https://files.pythonhosted.org/packages/6a/41/d7d0a89eb493922c37d343b607bc1b5da7f5be7e383740b4753ad8943e90/httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c", size = 85196 }
108
+ wheels = [
109
+ { url = "https://files.pythonhosted.org/packages/87/f5/72347bc88306acb359581ac4d52f23c0ef445b57157adedb9aee0cd689d2/httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd", size = 78551 },
110
+ ]
111
+
112
+ [[package]]
113
+ name = "httpx"
114
+ version = "0.28.1"
115
+ source = { registry = "https://pypi.org/simple" }
116
+ dependencies = [
117
+ { name = "anyio" },
118
+ { name = "certifi" },
119
+ { name = "httpcore" },
120
+ { name = "idna" },
121
+ ]
122
+ sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406 }
123
+ wheels = [
124
+ { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517 },
125
+ ]
126
+
127
+ [[package]]
128
+ name = "httpx-sse"
129
+ version = "0.4.0"
130
+ source = { registry = "https://pypi.org/simple" }
131
+ sdist = { url = "https://files.pythonhosted.org/packages/4c/60/8f4281fa9bbf3c8034fd54c0e7412e66edbab6bc74c4996bd616f8d0406e/httpx-sse-0.4.0.tar.gz", hash = "sha256:1e81a3a3070ce322add1d3529ed42eb5f70817f45ed6ec915ab753f961139721", size = 12624 }
132
+ wheels = [
133
+ { url = "https://files.pythonhosted.org/packages/e1/9b/a181f281f65d776426002f330c31849b86b31fc9d848db62e16f03ff739f/httpx_sse-0.4.0-py3-none-any.whl", hash = "sha256:f329af6eae57eaa2bdfd962b42524764af68075ea87370a2de920af5341e318f", size = 7819 },
134
+ ]
135
+
136
+ [[package]]
137
+ name = "idna"
138
+ version = "3.10"
139
+ source = { registry = "https://pypi.org/simple" }
140
+ sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 }
141
+ wheels = [
142
+ { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 },
143
+ ]
144
+
55
145
  [[package]]
56
146
  name = "iniconfig"
57
147
  version = "2.0.0"
@@ -61,13 +151,34 @@ wheels = [
61
151
  { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 },
62
152
  ]
63
153
 
154
+ [[package]]
155
+ name = "mcp"
156
+ version = "1.2.0"
157
+ source = { registry = "https://pypi.org/simple" }
158
+ dependencies = [
159
+ { name = "anyio" },
160
+ { name = "httpx" },
161
+ { name = "httpx-sse" },
162
+ { name = "pydantic" },
163
+ { name = "pydantic-settings" },
164
+ { name = "sse-starlette" },
165
+ { name = "starlette" },
166
+ { name = "uvicorn" },
167
+ ]
168
+ sdist = { url = "https://files.pythonhosted.org/packages/ab/a5/b08dc846ebedae9f17ced878e6975826e90e448cd4592f532f6a88a925a7/mcp-1.2.0.tar.gz", hash = "sha256:2b06c7ece98d6ea9e6379caa38d74b432385c338fb530cb82e2c70ea7add94f5", size = 102973 }
169
+ wheels = [
170
+ { url = "https://files.pythonhosted.org/packages/af/84/fca78f19ac8ce6c53ba416247c71baa53a9e791e98d3c81edbc20a77d6d1/mcp-1.2.0-py3-none-any.whl", hash = "sha256:1d0e77d8c14955a5aea1f5aa1f444c8e531c09355c829b20e42f7a142bc0755f", size = 66468 },
171
+ ]
172
+
64
173
  [[package]]
65
174
  name = "mcp-server-code-assist"
66
- version = "0.1.0"
175
+ version = "0.1.2"
67
176
  source = { editable = "." }
68
177
  dependencies = [
69
178
  { name = "aiofiles" },
179
+ { name = "click" },
70
180
  { name = "gitpython" },
181
+ { name = "mcp" },
71
182
  { name = "pydantic" },
72
183
  ]
73
184
 
@@ -80,7 +191,9 @@ test = [
80
191
  [package.metadata]
81
192
  requires-dist = [
82
193
  { name = "aiofiles", specifier = ">=24.0.0" },
194
+ { name = "click", specifier = ">=8.1.7" },
83
195
  { name = "gitpython", specifier = ">=3.1.40" },
196
+ { name = "mcp", specifier = ">=1.2.0" },
84
197
  { name = "pydantic", specifier = ">=2.0.0" },
85
198
  { name = "pytest", marker = "extra == 'test'", specifier = ">=8.0.0" },
86
199
  { name = "pytest-asyncio", marker = "extra == 'test'", specifier = ">=0.25.0" },
@@ -171,6 +284,19 @@ wheels = [
171
284
  { url = "https://files.pythonhosted.org/packages/51/b2/b2b50d5ecf21acf870190ae5d093602d95f66c9c31f9d5de6062eb329ad1/pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b", size = 1885186 },
172
285
  ]
173
286
 
287
+ [[package]]
288
+ name = "pydantic-settings"
289
+ version = "2.7.1"
290
+ source = { registry = "https://pypi.org/simple" }
291
+ dependencies = [
292
+ { name = "pydantic" },
293
+ { name = "python-dotenv" },
294
+ ]
295
+ sdist = { url = "https://files.pythonhosted.org/packages/73/7b/c58a586cd7d9ac66d2ee4ba60ca2d241fa837c02bca9bea80a9a8c3d22a9/pydantic_settings-2.7.1.tar.gz", hash = "sha256:10c9caad35e64bfb3c2fbf70a078c0e25cc92499782e5200747f942a065dec93", size = 79920 }
296
+ wheels = [
297
+ { url = "https://files.pythonhosted.org/packages/b4/46/93416fdae86d40879714f72956ac14df9c7b76f7d41a4d68aa9f71a0028b/pydantic_settings-2.7.1-py3-none-any.whl", hash = "sha256:590be9e6e24d06db33a4262829edef682500ef008565a969c73d39d5f8bfb3fd", size = 29718 },
298
+ ]
299
+
174
300
  [[package]]
175
301
  name = "pytest"
176
302
  version = "8.3.4"
@@ -198,6 +324,15 @@ wheels = [
198
324
  { url = "https://files.pythonhosted.org/packages/61/d8/defa05ae50dcd6019a95527200d3b3980043df5aa445d40cb0ef9f7f98ab/pytest_asyncio-0.25.2-py3-none-any.whl", hash = "sha256:0d0bb693f7b99da304a0634afc0a4b19e49d5e0de2d670f38dc4bfa5727c5075", size = 19400 },
199
325
  ]
200
326
 
327
+ [[package]]
328
+ name = "python-dotenv"
329
+ version = "1.0.1"
330
+ source = { registry = "https://pypi.org/simple" }
331
+ sdist = { url = "https://files.pythonhosted.org/packages/bc/57/e84d88dfe0aec03b7a2d4327012c1627ab5f03652216c63d49846d7a6c58/python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca", size = 39115 }
332
+ wheels = [
333
+ { url = "https://files.pythonhosted.org/packages/6a/3e/b68c118422ec867fa7ab88444e1274aa40681c606d59ac27de5a5588f082/python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a", size = 19863 },
334
+ ]
335
+
201
336
  [[package]]
202
337
  name = "smmap"
203
338
  version = "5.0.2"
@@ -207,6 +342,40 @@ wheels = [
207
342
  { url = "https://files.pythonhosted.org/packages/04/be/d09147ad1ec7934636ad912901c5fd7667e1c858e19d355237db0d0cd5e4/smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e", size = 24303 },
208
343
  ]
209
344
 
345
+ [[package]]
346
+ name = "sniffio"
347
+ version = "1.3.1"
348
+ source = { registry = "https://pypi.org/simple" }
349
+ sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372 }
350
+ wheels = [
351
+ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 },
352
+ ]
353
+
354
+ [[package]]
355
+ name = "sse-starlette"
356
+ version = "2.2.1"
357
+ source = { registry = "https://pypi.org/simple" }
358
+ dependencies = [
359
+ { name = "anyio" },
360
+ { name = "starlette" },
361
+ ]
362
+ sdist = { url = "https://files.pythonhosted.org/packages/71/a4/80d2a11af59fe75b48230846989e93979c892d3a20016b42bb44edb9e398/sse_starlette-2.2.1.tar.gz", hash = "sha256:54470d5f19274aeed6b2d473430b08b4b379ea851d953b11d7f1c4a2c118b419", size = 17376 }
363
+ wheels = [
364
+ { url = "https://files.pythonhosted.org/packages/d9/e0/5b8bd393f27f4a62461c5cf2479c75a2cc2ffa330976f9f00f5f6e4f50eb/sse_starlette-2.2.1-py3-none-any.whl", hash = "sha256:6410a3d3ba0c89e7675d4c273a301d64649c03a5ef1ca101f10b47f895fd0e99", size = 10120 },
365
+ ]
366
+
367
+ [[package]]
368
+ name = "starlette"
369
+ version = "0.45.2"
370
+ source = { registry = "https://pypi.org/simple" }
371
+ dependencies = [
372
+ { name = "anyio" },
373
+ ]
374
+ sdist = { url = "https://files.pythonhosted.org/packages/90/4f/e1c9f4ec3dae67a94c9285ed275355d5f7cf0f3a5c34538c8ae5412af550/starlette-0.45.2.tar.gz", hash = "sha256:bba1831d15ae5212b22feab2f218bab6ed3cd0fc2dc1d4442443bb1ee52260e0", size = 2574026 }
375
+ wheels = [
376
+ { url = "https://files.pythonhosted.org/packages/aa/ab/fe4f57c83620b39dfc9e7687ebad59129ff05170b99422105019d9a65eec/starlette-0.45.2-py3-none-any.whl", hash = "sha256:4daec3356fb0cb1e723a5235e5beaf375d2259af27532958e2d79df549dad9da", size = 71505 },
377
+ ]
378
+
210
379
  [[package]]
211
380
  name = "typing-extensions"
212
381
  version = "4.12.2"
@@ -215,3 +384,16 @@ sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec3
215
384
  wheels = [
216
385
  { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 },
217
386
  ]
387
+
388
+ [[package]]
389
+ name = "uvicorn"
390
+ version = "0.34.0"
391
+ source = { registry = "https://pypi.org/simple" }
392
+ dependencies = [
393
+ { name = "click" },
394
+ { name = "h11" },
395
+ ]
396
+ sdist = { url = "https://files.pythonhosted.org/packages/4b/4d/938bd85e5bf2edeec766267a5015ad969730bb91e31b44021dfe8b22df6c/uvicorn-0.34.0.tar.gz", hash = "sha256:404051050cd7e905de2c9a7e61790943440b3416f49cb409f965d9dcd0fa73e9", size = 76568 }
397
+ wheels = [
398
+ { url = "https://files.pythonhosted.org/packages/61/14/33a3a1352cfa71812a3a21e8c9bfb83f60b0011f5e36f2b1399d51928209/uvicorn-0.34.0-py3-none-any.whl", hash = "sha256:023dc038422502fa28a09c7a30bf2b6991512da7dcdb8fd35fe57cfc154126f4", size = 62315 },
399
+ ]