File tree Expand file tree Collapse file tree 3 files changed +286
-10
lines changed Expand file tree Collapse file tree 3 files changed +286
-10
lines changed Original file line number Diff line number Diff line change
1
+
1
2
name : Test
2
3
3
4
on :
@@ -21,23 +22,28 @@ jobs:
21
22
with :
22
23
python-version : ${{ matrix.python-version }}
23
24
24
- - name : Install dependencies
25
+ - name : Install uv
25
26
run : |
26
27
python -m pip install --upgrade pip
27
- pip install -e ".[test,dev]"
28
+ pip install uv
28
29
29
30
- name : Run tests
30
31
run : |
31
- pytest
32
+ uv run pytest
32
33
33
34
- name : Run ruff
34
35
run : |
35
- ruff check .
36
+ uv run ruff .
36
37
37
38
- name : Run black
38
39
run : |
39
- black . --check
40
+ uv run black . --check
41
+
42
+ - name : Run isort
43
+ run : |
44
+ uv run isort . --check-only
40
45
41
46
- name : Run mypy
42
47
run : |
43
- mypy mcp_shell_server tests
48
+ uv run mypy mcp_shell_server tests
49
+
Original file line number Diff line number Diff line change
1
+
1
2
[project ]
2
3
name = " mcp-shell-server"
3
4
version = " 0.1.0"
@@ -18,9 +19,16 @@ mcp-shell-server = "mcp_shell_server.server:main"
18
19
[project .optional-dependencies ]
19
20
test = [
20
21
" pytest>=7.4.0" ,
21
- " pytest-asyncio>=0.23.0" ,
22
+ " pytest-asyncio>=0.23.0" ,
22
23
" pytest-env>=1.1.0" ,
23
24
]
25
+ dev = [
26
+ " ruff>=0.0.262" ,
27
+ " black>=23.3.0" ,
28
+ " isort>=5.12.0" ,
29
+ " mypy>=1.2.0" ,
30
+ " pre-commit>=3.2.2" ,
31
+ ]
24
32
25
33
[build-system ]
26
34
requires = [" hatchling" ]
@@ -29,5 +37,28 @@ build-backend = "hatchling.build"
29
37
[tool .pytest .ini_options ]
30
38
asyncio_mode = " strict"
31
39
testpaths = " tests"
32
- # Set default event loop scope for async tests
33
- asyncio_default_fixture_loop_scope = " function"
40
+ # Set default event loop scope for async tests
41
+ asyncio_default_fixture_loop_scope = " function"
42
+
43
+ [tool .ruff ]
44
+ select = [
45
+ " E" , # pycodestyle errors
46
+ " F" , # pyflakes
47
+ " W" , # pycodestyle warnings
48
+ " I" , # isort
49
+ " C" , # flake8-comprehensions
50
+ " B" , # flake8-bugbear
51
+ ]
52
+ ignore = [
53
+ " E501" , # line too long, handled by black
54
+ " B008" , # do not perform function calls in argument defaults
55
+ " C901" , # too complex
56
+ ]
57
+
58
+ [tool .black ]
59
+ line-length = 88
60
+ target-version = [' py311' ]
61
+
62
+ [tool .isort ]
63
+ profile = " black"
64
+ line_length = 88
You can’t perform that action at this time.
0 commit comments