proj-flow 0.9.0__py3-none-any.whl → 0.9.2__py3-none-any.whl

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.
proj_flow/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # Copyright (c) 2025 Marcin Zdun
2
2
  # This code is licensed under MIT license (see LICENSE for details)
3
3
 
4
- __version__ = "0.9.0"
4
+ __version__ = "0.9.2"
proj_flow/__main__.py CHANGED
@@ -5,6 +5,6 @@
5
5
  The **proj_flow.__main__** allows *Project Flow* to be called as Python component.
6
6
  """
7
7
 
8
- from .flow.cli import main
8
+ from proj_flow.cli import main
9
9
 
10
10
  main()
proj_flow/api/env.py CHANGED
@@ -312,7 +312,7 @@ class Runtime(FlowConfig):
312
312
  f"proj-flow: error: {args[0]} ended in failure, exiting",
313
313
  file=sys.stderr,
314
314
  )
315
- return 1
315
+ raise SystemExit(1)
316
316
  return 0
317
317
 
318
318
  def capture(self, *args: str, silent=False):
proj_flow/cli/argument.py CHANGED
@@ -439,9 +439,12 @@ def _argparse_config_visit(parser: Parser):
439
439
  help=f'Shortcut for "-D {" ".join(config)}"',
440
440
  )
441
441
 
442
- def verbose_info(commands: typing.List[Command], prefix = ""):
442
+
443
+ def verbose_info(commands: typing.List[Command], prefix=""):
443
444
  for command in commands:
444
445
  cli = f"{prefix} {command.name}" if prefix else command.name
445
446
  if command.entry is not None:
446
- print(f"-- Command: adding `{cli}` from `{command.entry.__module__}.{command.entry.__name__}(...)`")
447
- verbose_info(command.children, cli)
447
+ print(
448
+ f"-- Command: adding `{cli}` from `{command.entry.__module__}.{command.entry.__name__}(...)`"
449
+ )
450
+ verbose_info(command.children, cli)
@@ -86,6 +86,13 @@ def release(
86
86
  choices=FORCED_LEVEL_CHOICES,
87
87
  ),
88
88
  ],
89
+ publish: typing.Annotated[
90
+ typing.Optional[str],
91
+ arg.Argument(
92
+ help="Publish the release during this command.",
93
+ choices=["ON", "OFF"],
94
+ ),
95
+ ],
89
96
  ):
90
97
  """
91
98
  Bumps the project version based on current git logs, creates a "chore"
@@ -106,7 +113,7 @@ def release(
106
113
  rt=rt,
107
114
  forced_level=forced_level,
108
115
  take_all=all,
109
- draft=True,
116
+ draft=publish != "ON",
110
117
  generator=generator,
111
118
  git=git,
112
119
  hosting=gh_links,
@@ -117,8 +117,17 @@ class GitHub(commit.Hosting):
117
117
  return default
118
118
 
119
119
  if self.rt.verbose:
120
+ self.rt.message(f"[DEBUG] stderr={proc.returncode}")
121
+ self.rt.message("[DEBUG] stderr=")
122
+ try:
123
+ self.rt.message(pformat(json.loads(proc.stderr)))
124
+ except json.decoder.JSONDecodeError:
125
+ self.rt.message(proc.stderr)
120
126
  self.rt.message("[DEBUG] stdout=")
121
- self.rt.message(pformat(json.loads(proc.stdout)))
127
+ try:
128
+ self.rt.message(pformat(json.loads(proc.stdout)))
129
+ except json.decoder.JSONDecodeError:
130
+ self.rt.message(proc.stdout)
122
131
 
123
132
  return json.loads(proc.stdout)
124
133
 
proj_flow/log/release.py CHANGED
@@ -122,4 +122,4 @@ def add_release(
122
122
  if hosting.is_active:
123
123
  draft_url = hosting.add_release(changelog, setup, git, draft).draft_url
124
124
  if draft_url:
125
- rt.message("-- Visit draft at", draft_url, level=env.Msg.ALWAYS)
125
+ rt.message("Visit draft at", draft_url, level=env.Msg.ALWAYS)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: proj-flow
3
- Version: 0.9.0
3
+ Version: 0.9.2
4
4
  Summary: C++ project maintenance, automated
5
5
  Project-URL: Documentation, https://proj-flow.readthedocs.io/en/latest/
6
6
  Project-URL: Homepage, https://pypi.org/project/proj-flow/
@@ -1,10 +1,10 @@
1
- proj_flow/__init__.py,sha256=UtRFdb2fvniMm_xApll78tgH4iEnAWu1dCbELDj2dbw,124
2
- proj_flow/__main__.py,sha256=xpK1_avlRKlSw55135IAmaTfRKt344-qkJrVFz45ogM,229
1
+ proj_flow/__init__.py,sha256=uvTj3SMJiL6KVk2DXIa3qN2-JQILjSXrTCIer6V-vjc,124
2
+ proj_flow/__main__.py,sha256=HUar_qQ9Ndmchmryegtzu__5wukwCLrFN_SGRl5Ol_M,233
3
3
  proj_flow/api/__init__.py,sha256=gV2f6kll_5JXtvkGASvnx7CbOWr34PHOdck-4ce-qEk,378
4
4
  proj_flow/api/arg.py,sha256=J7_53noW7t8VJ9sfJiX4qaPs7KqWfMHNcrWYe1jIq-g,4097
5
5
  proj_flow/api/completers.py,sha256=NapNVu6QAQ_iF6dqcAzOV5kDHKD9MAMVX209Bklq-Mw,2464
6
6
  proj_flow/api/ctx.py,sha256=AXZSnfLO9w7Uiqa8VtrTzLnNegVZru2sn1-WON3RIyg,5847
7
- proj_flow/api/env.py,sha256=bFDHuFtUR-zEh7fTrEoPFobBLx2W4ZIl4TGJ8E9s5mM,10909
7
+ proj_flow/api/env.py,sha256=btQQ7_xLi4aKR9QnWIV2WrDvHbN4BVB9-fhdhlLzOQk,10920
8
8
  proj_flow/api/init.py,sha256=an0czDiPCDqW4Bp0I8sGQgaAlDAozLO0ZYnP149lWqk,521
9
9
  proj_flow/api/makefile.py,sha256=hNKKe1Mf0V8JZl7yNLn5BJfHXJtjREqDVZ7JDRLkE4M,3858
10
10
  proj_flow/api/release.py,sha256=A-t4qcjeaptEgfBCZs2Q9cOjsGACrNM0CzmCorms0U4,2401
@@ -17,13 +17,13 @@ proj_flow/base/plugins.py,sha256=ZH8p16eeqdf7r99IHPEzvTxATXonj3QSwnYhEPtJSvE,208
17
17
  proj_flow/base/registry.py,sha256=0OdNeeZmek1CecR0yMRAcKc7zHtQ6kpKTBPdfdV8iRo,2933
18
18
  proj_flow/base/uname.py,sha256=7Awb3Es0jTAKMpyRawdrC16xc5X9M97BlPqEfQibqIk,2295
19
19
  proj_flow/cli/__init__.py,sha256=IpNnnr3ZOzwCmdhAzzruA8Sms04U1thdJjUvU6qpRH8,1270
20
- proj_flow/cli/argument.py,sha256=RFBOpeTqyUGM0KvnyKA-lzfUfZpXE-mJl9RcoQzRciY,13661
20
+ proj_flow/cli/argument.py,sha256=-wAm5WjhnYd0Qouo3j6QYXhQs3q5YAhrJlJNpMgl47E,13691
21
21
  proj_flow/cli/finder.py,sha256=5x7H1nH0k63DetDauhB_wABel_f0RQpsZ5YnhPfbkRc,1402
22
22
  proj_flow/ext/__init__.py,sha256=XD52rUFTPz3GnyRq6KZUNeWdMce7e0bB19iTx-zU6DE,169
23
23
  proj_flow/ext/markdown_changelist.py,sha256=P6FSfX2yD62Zm5_KnNDKo2XB-K_7rLZsXPcs6xH87xo,351
24
24
  proj_flow/ext/re_structured_changelist.py,sha256=u1mNCvntGRf-r6ti1fRVe-99IgWbxb5htfjzyeVml_0,360
25
25
  proj_flow/ext/github/__init__.py,sha256=_ujB0X99q0DYWMwL1H4TiYyxTzKsE_2Pvzwva91_jrw,260
26
- proj_flow/ext/github/cli.py,sha256=JyvEjDKf5eSQuGep7VnEPAJKaUOWSdEudSYWkNCMBjk,3430
26
+ proj_flow/ext/github/cli.py,sha256=hzfU2Pk3X0T-uZBcesJqZ-fpgxJS0725EZAhETrSHa4,3638
27
27
  proj_flow/ext/github/hosting.py,sha256=3iW8QjeJk7MyqKNbv92nB-5a_Yn_B5_eEIlw_cdgUT0,519
28
28
  proj_flow/ext/python/__init__.py,sha256=GbEKEJJZ3PJ4sRHEykAWjGIR6yyyrYdlUFulldvsAGI,252
29
29
  proj_flow/ext/python/rtdocs.py,sha256=MliuI8GJ0lP7Azyeqt6qCMKLVOy0h7RdTwJbkw2Oc4c,6350
@@ -42,9 +42,9 @@ proj_flow/log/error.py,sha256=65Nvhfs_d1xSY4EB-ISdWgjotvg-on3iKjhAWHpsBYM,841
42
42
  proj_flow/log/fmt.py,sha256=o14aO3iEt5_KKp9SqcfkscqbMKuTI83NBoSXHcrb7Kg,330
43
43
  proj_flow/log/format.py,sha256=gp1kUoW0nYj5e7Ysu1c29Fh2ssfE1KBSDIYeUbhzN9g,333
44
44
  proj_flow/log/msg.py,sha256=zARmRZHFV3yG-fBnx00wal4Y0O5aGnL-6XcGwNBNKA4,6758
45
- proj_flow/log/release.py,sha256=Sv9IPtZizJqHtJVdvx2TCt-a1PNSaFnWPHo2CQaDaC8,3837
45
+ proj_flow/log/release.py,sha256=kyjXnWNhgkSp7ojZTEDTsHGAWAyYW3zIQ1NL6jyM47w,3834
46
46
  proj_flow/log/hosting/__init__.py,sha256=9Teyw8jJcxeWH2MegqYEgW0n5OmSAWC7FFJj2u_UcrM,278
47
- proj_flow/log/hosting/github.py,sha256=-13krmAqTWcOQ21ZPSrMeZ4ipmgBSMCgoVk9AstpsvQ,6747
47
+ proj_flow/log/hosting/github.py,sha256=yLjJ9gSuOnnC87phPFNc4N2yWno0iIi7BruhSrYOjEI,7151
48
48
  proj_flow/log/rich_text/__init__.py,sha256=D3Y2jy9xlGgnQZdNC_ekoLzQtwkF_NTgLqDTWPvSRUk,279
49
49
  proj_flow/log/rich_text/api.py,sha256=PCSAGwkmDUMoVlpN7BDsgIA1AiMZEC0H6TUZXpr_Mg8,3571
50
50
  proj_flow/log/rich_text/markdown.py,sha256=GVDH7hONyATRG4FyXkSvprEzxikRXiErGyINjiJfQx8,1618
@@ -133,8 +133,8 @@ proj_flow/template/licenses/MIT.mustache,sha256=NncPoQaNsuy-WmRmboik3fyhJJ8m5pc2
133
133
  proj_flow/template/licenses/Unlicense.mustache,sha256=awOCsWJ58m_2kBQwBUGWejVqZm6wuRtCL2hi9rfa0X4,1211
134
134
  proj_flow/template/licenses/WTFPL.mustache,sha256=lvF4V_PrKKfZPa2TC8CZo8tlqaKvs3Bpv9G6XsWWQ4k,483
135
135
  proj_flow/template/licenses/Zlib.mustache,sha256=uIj-mhSjes2HJ3rRapyy2ALflKRz4xQgS4mVM9827C0,868
136
- proj_flow-0.9.0.dist-info/METADATA,sha256=ApEM1wxQjZ2gejY6uTBx0FbkJCl-iwOp8TKjLoScf7c,2780
137
- proj_flow-0.9.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
138
- proj_flow-0.9.0.dist-info/entry_points.txt,sha256=d_OmGKZzpY7FCWz0sZ4wnBAPZC75oMEzTgJZWtpDELo,49
139
- proj_flow-0.9.0.dist-info/licenses/LICENSE,sha256=vpOQJ5QlrTedF3coEWvA4wJzVJH304f66ZitR7Od4iU,1068
140
- proj_flow-0.9.0.dist-info/RECORD,,
136
+ proj_flow-0.9.2.dist-info/METADATA,sha256=MeCmWAW-9FrfKP0ND8nTY1YNWdECxRss2KE9NVql3zY,2780
137
+ proj_flow-0.9.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
138
+ proj_flow-0.9.2.dist-info/entry_points.txt,sha256=d_OmGKZzpY7FCWz0sZ4wnBAPZC75oMEzTgJZWtpDELo,49
139
+ proj_flow-0.9.2.dist-info/licenses/LICENSE,sha256=vpOQJ5QlrTedF3coEWvA4wJzVJH304f66ZitR7Od4iU,1068
140
+ proj_flow-0.9.2.dist-info/RECORD,,