Skip to content
This repository was archived by the owner on Jan 23, 2026. It is now read-only.

Commit a521fa2

Browse files
authored
Merge pull request #385 from jumpstarter-dev/faster-j
Avoid importing jmp cli when running j command
2 parents 58eb921 + 625b406 commit a521fa2

6 files changed

Lines changed: 51 additions & 50 deletions

File tree

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +0,0 @@
1-
import logging
2-
3-
import asyncclick as click
4-
from jumpstarter_cli_admin import admin
5-
from jumpstarter_cli_common import AliasedGroup, opt_log_level, version
6-
from jumpstarter_cli_driver import driver
7-
8-
from .config import config
9-
from .create import create
10-
from .delete import delete
11-
from .get import get
12-
from .j import j
13-
from .login import login
14-
from .run import run
15-
from .shell import shell
16-
from .update import update
17-
18-
19-
@click.group(cls=AliasedGroup)
20-
@opt_log_level
21-
def jmp(log_level):
22-
"""The Jumpstarter CLI"""
23-
24-
if log_level:
25-
logging.basicConfig(level=log_level.upper())
26-
else:
27-
logging.basicConfig(level=logging.INFO)
28-
29-
30-
jmp.add_command(create)
31-
jmp.add_command(delete)
32-
jmp.add_command(update)
33-
jmp.add_command(get)
34-
jmp.add_command(shell)
35-
jmp.add_command(run)
36-
jmp.add_command(login)
37-
jmp.add_command(config)
38-
39-
jmp.add_command(driver)
40-
jmp.add_command(admin)
41-
jmp.add_command(version)
42-
43-
__all__ = ["jmp", "j"]
44-
45-
if __name__ == "__main__":
46-
jmp()
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"""Allow running Jumpstarter through `python -m jumpstarter_cli`."""
22

3-
from . import jmp
3+
from .jmp import jmp
44

55
if __name__ == "__main__":
66
jmp(prog_name="jmp")

packages/jumpstarter-cli/jumpstarter_cli/cli_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import pytest
22
from asyncclick.testing import CliRunner
33

4-
from . import jmp
4+
from .jmp import jmp
55

66

77
@pytest.mark.anyio

packages/jumpstarter-cli/jumpstarter_cli/j.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,7 @@ def cli():
1818
except click.ClickException as e:
1919
e.show()
2020
sys.exit(1)
21+
22+
23+
if __name__ == "__main__":
24+
j()
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import logging
2+
3+
import asyncclick as click
4+
from jumpstarter_cli_admin import admin
5+
from jumpstarter_cli_common import AliasedGroup, opt_log_level, version
6+
from jumpstarter_cli_driver import driver
7+
8+
from .config import config
9+
from .create import create
10+
from .delete import delete
11+
from .get import get
12+
from .login import login
13+
from .run import run
14+
from .shell import shell
15+
from .update import update
16+
17+
18+
@click.group(cls=AliasedGroup)
19+
@opt_log_level
20+
def jmp(log_level):
21+
"""The Jumpstarter CLI"""
22+
23+
if log_level:
24+
logging.basicConfig(level=log_level.upper())
25+
else:
26+
logging.basicConfig(level=logging.INFO)
27+
28+
29+
jmp.add_command(create)
30+
jmp.add_command(delete)
31+
jmp.add_command(update)
32+
jmp.add_command(get)
33+
jmp.add_command(shell)
34+
jmp.add_command(run)
35+
jmp.add_command(login)
36+
jmp.add_command(config)
37+
38+
jmp.add_command(driver)
39+
jmp.add_command(admin)
40+
jmp.add_command(version)
41+
42+
if __name__ == "__main__":
43+
jmp()

packages/jumpstarter-cli/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ dev = [
2424
]
2525

2626
[project.scripts]
27-
jmp = "jumpstarter_cli:jmp"
28-
j = "jumpstarter_cli:j"
27+
jmp = "jumpstarter_cli.jmp:jmp"
28+
j = "jumpstarter_cli.j:j"
2929

3030
[tool.hatch.build.targets.wheel]
3131
packages = ["jumpstarter_cli"]

0 commit comments

Comments
 (0)