Skip to content

Commit f4b449d

Browse files
authored
Merge pull request #58 from RadCod3/chore/34-rafactor-service
Refactor architecture with services layer
2 parents 4f60e0c + 0b707b1 commit f4b449d

37 files changed

+10147
-6789
lines changed

pyproject.toml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ dev = [
2424
"pytest-cov>=7.0.0",
2525
"python-dotenv>=1.2.1",
2626
"ruff>=0.14.11",
27+
"ty>=0.0.12",
2728
]
2829

2930
[build-system]
@@ -35,11 +36,20 @@ line-length = 100
3536

3637
[tool.ruff.format]
3738
quote-style = "single"
38-
indent-style = "tab"
39+
indent-style = "space"
3940
docstring-code-format = true
4041

4142
[tool.ruff.lint]
42-
extend-select = ["I"]
43+
# "I" (isort), "D" (pydocstyle), "E" (pycodestyle)
44+
extend-select = ["I", "D", "E"]
45+
ignore = [
46+
"D203", # 1 blank line required before class docstring (conflicts with D211)
47+
"D213", # Multi-line docstring summary should start at the second line (conflicts with D212)
48+
]
49+
50+
[tool.ruff.lint.per-file-ignores]
51+
"src/lampyrid/models/firefly_models.py" = ["D100", "D101", "E501"]
52+
"tests/**/*.py" = ["D104"]
4353

4454
[tool.pytest.ini_options]
4555
asyncio_mode = "auto"

run.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1+
"""Entry point for running the LamPyrid MCP server."""
2+
13
from lampyrid import __main__
24

35
if __name__ == '__main__':
4-
__main__.main()
6+
__main__.main()

src/lampyrid/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"""LamPyrid MCP server package."""

src/lampyrid/__main__.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
1+
"""Main entry point for the LamPyrid MCP server."""
2+
13
from .config import settings
24
from .server import mcp
35

46

57
def main() -> None:
6-
# Support both stdio (for local development) and http (for containerized deployment)
7-
# Configuration is managed through settings (from .env or environment variables)
8-
if settings.mcp_transport == 'http':
9-
# HTTP mode for containerized deployment
10-
mcp.run(transport='streamable-http', host=settings.mcp_host, port=settings.mcp_port)
11-
elif settings.mcp_transport == 'sse':
12-
# SSE mode for real-time updates
13-
mcp.run(transport='sse', host=settings.mcp_host, port=settings.mcp_port)
14-
else:
15-
# Default stdio mode for local development
16-
mcp.run(transport='stdio')
8+
"""Initialize and run the MCP server based on configuration settings."""
9+
# Support both stdio (for local development) and http (for containerized deployment)
10+
# Configuration is managed through settings (from .env or environment variables)
11+
if settings.mcp_transport == 'http':
12+
# HTTP mode for containerized deployment
13+
mcp.run(transport='streamable-http', host=settings.mcp_host, port=settings.mcp_port)
14+
elif settings.mcp_transport == 'sse':
15+
# SSE mode for real-time updates
16+
mcp.run(transport='sse', host=settings.mcp_host, port=settings.mcp_port)
17+
else:
18+
# Default stdio mode for local development
19+
mcp.run(transport='stdio')
1720

1821

1922
if __name__ == '__main__':
20-
main()
23+
main()

0 commit comments

Comments
 (0)