ssb-project-cli 1.7.0__tar.gz → 1.7.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/PKG-INFO +5 -10
  2. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/pyproject.toml +38 -38
  3. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/app.py +32 -30
  4. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/LICENSE +0 -0
  5. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/README.md +0 -0
  6. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/__init__.py +0 -0
  7. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/__main__.py +0 -0
  8. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/py.typed +0 -0
  9. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/__init__.py +0 -0
  10. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/build/__init__.py +0 -0
  11. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/build/build.py +0 -0
  12. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/build/environment.py +0 -0
  13. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/build/poetry.py +0 -0
  14. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/build/prompt.py +0 -0
  15. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/build/temp_template_repo.py +0 -0
  16. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/build_cmds.md +0 -0
  17. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/clean/__init__.py +0 -0
  18. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/clean/clean.py +0 -0
  19. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/create/__init__.py +0 -0
  20. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/create/create.py +0 -0
  21. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/create/github.py +0 -0
  22. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/create/local_repo.py +0 -0
  23. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/create/prompt.py +0 -0
  24. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/create/repo_privacy.py +0 -0
  25. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/create/temp_git_repo.py +0 -0
  26. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/settings.py +0 -0
  27. {ssb_project_cli-1.7.0 → ssb_project_cli-1.7.2}/src/ssb_project_cli/ssb_project/util.py +0 -0
@@ -1,23 +1,23 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: ssb-project-cli
3
- Version: 1.7.0
3
+ Version: 1.7.2
4
4
  Summary: SSB Project CLI
5
5
  License: MIT
6
6
  Author: Statistics Norway
7
7
  Author-email: stat-dev@ssb.no
8
- Requires-Python: >=3.10,<3.13
8
+ Requires-Python: >=3.10
9
9
  Classifier: Development Status :: 4 - Beta
10
10
  Classifier: License :: OSI Approved :: MIT License
11
11
  Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Programming Language :: Python :: 3.10
13
13
  Classifier: Programming Language :: Python :: 3.11
14
14
  Classifier: Programming Language :: Python :: 3.12
15
- Requires-Dist: certifi (>=2024.8.30)
15
+ Classifier: Programming Language :: Python :: 3.13
16
16
  Requires-Dist: cruft (>=2.11.1)
17
17
  Requires-Dist: gitpython (>=3.1.27)
18
18
  Requires-Dist: ipykernel (>=6.25.2)
19
19
  Requires-Dist: jupyter-client (>=8.3.1)
20
- Requires-Dist: kvakk-git-tools (>=2.5.1,<3.0.0)
20
+ Requires-Dist: kvakk-git-tools (>=2.5.1)
21
21
  Requires-Dist: poetry (>=2.0)
22
22
  Requires-Dist: psutil (>=5.9.4)
23
23
  Requires-Dist: pygithub (>=1.55)
@@ -25,12 +25,7 @@ Requires-Dist: questionary (>=1.10.0)
25
25
  Requires-Dist: requests (>=2.32.3)
26
26
  Requires-Dist: rich (>=12.5.1)
27
27
  Requires-Dist: tomli (>=2.0.1)
28
- Requires-Dist: typer (>=0.6.1)
29
- Requires-Dist: types-psutil (>=5.9.5.12)
30
- Requires-Dist: types-requests (>=2.28.11.17)
31
- Requires-Dist: types-toml (>=0.10.8)
32
- Requires-Dist: types-urllib3 (>=1.26.25.10)
33
- Requires-Dist: virtualenv (>=20.27.1)
28
+ Requires-Dist: typer (==0.19.2)
34
29
  Project-URL: Changelog, https://github.com/statisticsnorway/ssb-project-cli/releases
35
30
  Project-URL: Documentation, https://ssb-project-cli.readthedocs.io
36
31
  Project-URL: Homepage, https://github.com/statisticsnorway/ssb-project-cli
@@ -1,40 +1,44 @@
1
- [tool.poetry]
1
+ [project]
2
2
  name = "ssb-project-cli"
3
- version = "1.7.0"
3
+ version = "1.7.2"
4
+ requires-python = ">=3.10"
4
5
  description = "SSB Project CLI"
5
- authors = ["Statistics Norway <stat-dev@ssb.no>"]
6
6
  license = "MIT"
7
+ dynamic = ["classifiers"]
7
8
  readme = "README.md"
8
- homepage = "https://github.com/statisticsnorway/ssb-project-cli"
9
- repository = "https://github.com/statisticsnorway/ssb-project-cli"
10
- documentation = "https://ssb-project-cli.readthedocs.io"
9
+ authors = [{ name = "Statistics Norway", email = "stat-dev@ssb.no" }]
10
+ dependencies = [
11
+ 'typer (==0.19.2)',
12
+ 'gitpython (>=3.1.27)',
13
+ 'pygithub (>=1.55)',
14
+ 'cruft (>=2.11.1)',
15
+ 'rich (>=12.5.1)',
16
+ 'requests (>=2.32.3)',
17
+ 'questionary (>=1.10.0)',
18
+ 'psutil (>=5.9.4)',
19
+ 'kvakk-git-tools (>=2.5.1)',
20
+ 'poetry (>=2.0)',
21
+ 'jupyter-client (>=8.3.1)',
22
+ 'ipykernel (>=6.25.2)', # Run as a module, not imported in code
23
+ 'tomli (>=2.0.1)',
24
+ ]
25
+
26
+ [tool.poetry]
11
27
  packages = [{ include = "ssb_project_cli", from = "src" }]
12
28
  classifiers = ["Development Status :: 4 - Beta"]
29
+ requires-poetry = '>=2.0.0,<3.0.0'
13
30
 
14
- [tool.poetry.urls]
31
+ [project.urls]
32
+ homepage = "https://github.com/statisticsnorway/ssb-project-cli"
33
+ repository = "https://github.com/statisticsnorway/ssb-project-cli"
34
+ documentation = "https://ssb-project-cli.readthedocs.io"
15
35
  Changelog = "https://github.com/statisticsnorway/ssb-project-cli/releases"
16
36
 
37
+ [project.scripts]
38
+ ssb-project = "ssb_project_cli.__main__:main"
39
+
17
40
  [tool.poetry.dependencies]
18
- python = ">=3.10,<3.13"
19
- typer = ">=0.6.1"
20
- gitpython = ">=3.1.27"
21
- pygithub = ">=1.55"
22
- cruft = ">=2.11.1"
23
- rich = ">=12.5.1"
24
- requests = ">=2.32.3"
25
- types-toml = ">=0.10.8"
26
- questionary = ">=1.10.0"
27
- psutil = ">=5.9.4"
28
- types-urllib3 = ">=1.26.25.10"
29
- types-requests = ">=2.28.11.17"
30
- types-psutil = ">=5.9.5.12"
31
- kvakk-git-tools = "^2.5.1"
32
- poetry = ">=2.0"
33
- jupyter-client = ">=8.3.1"
34
- ipykernel = ">=6.25.2"
35
- tomli = ">=2.0.1"
36
- certifi = ">=2024.8.30"
37
- virtualenv = ">=20.27.1"
41
+ python = ">=3.10,<4.0"
38
42
 
39
43
  [tool.poetry.group.dev.dependencies]
40
44
  pygments = ">=2.10.0"
@@ -54,6 +58,10 @@ pre-commit-hooks = ">=4.1.0"
54
58
  pytest = ">=7.2.0"
55
59
  pyupgrade = ">=2.29.1"
56
60
  typeguard = ">=2.13.3"
61
+ types-urllib3 = ">=1.26.25.10"
62
+ types-requests = ">=2.28.11.17"
63
+ types-psutil = ">=5.9.5.12"
64
+ types-toml = ">=0.10.8"
57
65
  xdoctest = { extras = ["colors"], version = ">=0.15.10" }
58
66
  mock = ">=4.0.3"
59
67
  build = ">=0.8.0"
@@ -64,6 +72,7 @@ tomli-w = ">=1.0.0"
64
72
  bandit = ">=1.7.9"
65
73
  cryptography = ">=42.0.8"
66
74
  idna = ">=3.7"
75
+ deptry = "^0.23.1"
67
76
 
68
77
  [tool.poetry.group.docs.dependencies]
69
78
  mkdocs-typer = ">=0.0.3"
@@ -87,9 +96,6 @@ build = ">=0.8.0"
87
96
  Jinja2 = ">=3.1.2"
88
97
  furo = ">=2021.11.12"
89
98
 
90
- [tool.poetry.scripts]
91
- ssb-project = "ssb_project_cli.__main__:main"
92
-
93
99
  [tool.coverage.paths]
94
100
  source = ["src", "*/site-packages"]
95
101
  tests = ["tests", "*/tests"]
@@ -117,11 +123,7 @@ show_error_codes = true
117
123
  show_error_context = true
118
124
 
119
125
  [[tool.mypy.overrides]]
120
- module = [
121
- "attr.*",
122
- "cruft.*",
123
- "tomli_w.*",
124
- ]
126
+ module = ["attr.*", "cruft.*", "tomli_w.*"]
125
127
  ignore_missing_imports = true
126
128
 
127
129
  [build-system]
@@ -129,6 +131,4 @@ requires = ["poetry-core>=2.0"]
129
131
  build-backend = "poetry.core.masonry.api"
130
132
 
131
133
  [tool.pytest.ini_options]
132
- pythonpath = [
133
- "src"
134
- ]
134
+ pythonpath = ["src"]
@@ -5,6 +5,7 @@ from pathlib import Path
5
5
 
6
6
  import typer
7
7
  from rich.console import Console
8
+ from typer import rich_utils
8
9
  from typing_extensions import Annotated
9
10
 
10
11
  from ssb_project_cli.ssb_project.util import set_debug_logging
@@ -22,24 +23,24 @@ from .util import handle_no_kernel_argument
22
23
 
23
24
 
24
25
  # Don't print with color, it's difficult to read when run in Jupyter
25
- typer.rich_utils.STYLE_OPTION = ""
26
- typer.rich_utils.STYLE_SWITCH = ""
27
- typer.rich_utils.STYLE_NEGATIVE_OPTION = ""
28
- typer.rich_utils.STYLE_NEGATIVE_SWITCH = ""
29
- typer.rich_utils.STYLE_METAVAR = ""
30
- typer.rich_utils.STYLE_METAVAR_SEPARATOR = "dim"
31
- typer.rich_utils.STYLE_USAGE = ""
32
- typer.rich_utils.STYLE_USAGE_COMMAND = "bold"
33
- typer.rich_utils.STYLE_DEPRECATED = ""
34
- typer.rich_utils.STYLE_DEPRECATED_COMMAND = "dim"
35
- typer.rich_utils.STYLE_HELPTEXT_FIRST_LINE = ""
36
- typer.rich_utils.STYLE_HELPTEXT = ""
37
- typer.rich_utils.STYLE_OPTION_HELP = ""
38
- typer.rich_utils.STYLE_OPTION_DEFAULT = "dim"
39
- typer.rich_utils.STYLE_OPTION_ENVVAR = "dim"
40
- typer.rich_utils.STYLE_REQUIRED_SHORT = ""
41
- typer.rich_utils.STYLE_REQUIRED_LONG = ""
42
- typer.rich_utils.STYLE_OPTIONS_PANEL_BORDER = "dim"
26
+ rich_utils.STYLE_OPTION = ""
27
+ rich_utils.STYLE_SWITCH = ""
28
+ rich_utils.STYLE_NEGATIVE_OPTION = ""
29
+ rich_utils.STYLE_NEGATIVE_SWITCH = ""
30
+ rich_utils.STYLE_METAVAR = ""
31
+ rich_utils.STYLE_METAVAR_SEPARATOR = "dim"
32
+ rich_utils.STYLE_USAGE = ""
33
+ rich_utils.STYLE_USAGE_COMMAND = "bold"
34
+ rich_utils.STYLE_DEPRECATED = ""
35
+ rich_utils.STYLE_DEPRECATED_COMMAND = "dim"
36
+ rich_utils.STYLE_HELPTEXT_FIRST_LINE = ""
37
+ rich_utils.STYLE_HELPTEXT = ""
38
+ rich_utils.STYLE_OPTION_HELP = ""
39
+ rich_utils.STYLE_OPTION_DEFAULT = "dim"
40
+ rich_utils.STYLE_OPTION_ENVVAR = "dim"
41
+ rich_utils.STYLE_REQUIRED_SHORT = ""
42
+ rich_utils.STYLE_REQUIRED_LONG = ""
43
+ rich_utils.STYLE_OPTIONS_PANEL_BORDER = "dim"
43
44
  console = Console(color_system=None)
44
45
  print = console.print
45
46
 
@@ -68,13 +69,13 @@ def create( # noqa: C901, S107
68
69
  help="Your Github Personal Access Token, follow these instructions to create one: https://manual.dapla.ssb.no/git-github.html#personal-access-token-pat"
69
70
  ),
70
71
  ] = "",
71
- verify_config: Annotated[
72
+ no_verify: Annotated[
72
73
  bool,
73
74
  typer.Option(
74
75
  "--no-verify",
75
- help="Verify git configuration files. Use --no-verify to disable verification (defaults to True).",
76
+ help="Disable verification of git configuration files.",
76
77
  ),
77
- ] = True,
78
+ ] = False,
78
79
  template_git_url: Annotated[
79
80
  str, typer.Option(help="The Cookiecutter template URI.")
80
81
  ] = STAT_TEMPLATE_REPO_URL,
@@ -115,7 +116,7 @@ def create( # noqa: C901, S107
115
116
  checkout,
116
117
  name,
117
118
  email,
118
- verify_config,
119
+ not no_verify,
119
120
  handle_no_kernel_argument(no_kernel),
120
121
  )
121
122
 
@@ -126,12 +127,13 @@ def build(
126
127
  None,
127
128
  help="Project path",
128
129
  ),
129
- verify_config: bool = typer.Option( # noqa: B008
130
- True,
131
- "--no-verify",
132
- help="Verify git configuration files. Use --no-verify to disable verification (defaults to True).",
133
- show_default=True,
134
- ),
130
+ no_verify: Annotated[
131
+ bool,
132
+ typer.Option(
133
+ "--no-verify",
134
+ help="Disable verification of git configuration files.",
135
+ ),
136
+ ] = False,
135
137
  no_kernel: Annotated[
136
138
  bool,
137
139
  typer.Option(
@@ -146,7 +148,7 @@ def build(
146
148
  CURRENT_WORKING_DIRECTORY,
147
149
  STAT_TEMPLATE_REPO_URL,
148
150
  STAT_TEMPLATE_DEFAULT_REFERENCE,
149
- verify_config,
151
+ not no_verify,
150
152
  handle_no_kernel_argument(no_kernel),
151
153
  )
152
154
 
@@ -155,7 +157,7 @@ def build(
155
157
  def clean(
156
158
  project_name: str = typer.Argument( # noqa: B008
157
159
  ..., help="The name of the project/kernel you want to delete."
158
- )
160
+ ),
159
161
  ) -> None:
160
162
  """:broom: Delete the kernel for the given project name."""
161
163
  clean_project(project_name)
File without changes