Coverage for src/secchi/dev.py: 0%

20 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-08-04 22:15 +0000

1"""Dev entry point — bypasses argparse for use with `textual run --dev`. 

2 

3Usage: 

4 uv run textual run --dev src/secchi/dev.py -- -p tuffcli 

5""" 

6 

7import sys 

8 

9from secchi.config import find_config, load_project 

10from secchi.ui.app import Secchi 

11 

12project_name = "tuffcli" 

13 

14# parse optional --project / -p from sys.argv manually 

15args = sys.argv[1:] 

16for i, arg in enumerate(args): 

17 if arg in ("--project", "-p") and i + 1 < len(args): 

18 project_name = args[i + 1] 

19 break 

20 

21config_path = find_config(None) 

22if not config_path: 

23 print("No config file found.") 

24 sys.exit(1) 

25 

26try: 

27 project = load_project(config_path, project_name) 

28except ValueError as e: 

29 print(f"Error: {e}") 

30 sys.exit(1) 

31 

32app = Secchi(project=project, config_path=config_path) 

33app.run()