Coverage for src / kemi / __main__.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-06-05 15:47 +0000

1"""Entry point for python -m kemi.""" 

2 

3import sys 

4 

5 

6def main() -> None: 

7 try: 

8 import asyncio 

9 

10 from kemi.mcp_server import main as mcp_main 

11 

12 print("Starting kemi MCP server...", file=sys.stderr) 

13 asyncio.run(mcp_main()) 

14 except ImportError: 

15 print( 

16 "MCP server not available (install with: pip install 'kemi[mcp]'). " 

17 "Falling back to CLI.", 

18 file=sys.stderr, 

19 ) 

20 from kemi.cli import main as cli_main 

21 

22 sys.argv[0] = "kemi" 

23 cli_main() 

24 

25 

26if __name__ == "__main__": 

27 main()