1- from invoke .tasks import task
2- from invoke import Context , task
3- from typing import Any
41import shlex
52
3+ from invoke import Context , task
4+
65
76@task
87def test (c : Context ) -> None :
@@ -23,13 +22,10 @@ def test(c: Context) -> None:
2322 # Build the command string. You can adjust '--cov=gen_surv' if you
2423 # need to cover a different package or add extra pytest flags.
2524 command = (
26- "poetry run pytest "
27- "--cov=gen_surv "
28- "--cov-report=term "
29- "--cov-report=xml"
25+ "poetry run pytest " "--cov=gen_surv " "--cov-report=term " "--cov-report=xml"
3026 )
3127
32- # Run pytest.
28+ # Run pytest.
3329 # - warn=True: capture non-zero exit codes without aborting Invoke.
3430 # - pty=False: pytest doesn’t require an interactive TTY here.
3531 result = c .run (command , warn = True , pty = False )
@@ -39,9 +35,15 @@ def test(c: Context) -> None:
3935 print ("✔️ All tests passed." )
4036 else :
4137 print ("❌ Some tests failed." )
42- exit_code = result .exited if result is not None and hasattr (result , "exited" ) else "Unknown"
38+ exit_code = (
39+ result .exited
40+ if result is not None and hasattr (result , "exited" )
41+ else "Unknown"
42+ )
4343 print (f"Exit code: { exit_code } " )
44- stderr_output = result .stderr if result is not None and hasattr (result , "stderr" ) else None
44+ stderr_output = (
45+ result .stderr if result is not None and hasattr (result , "stderr" ) else None
46+ )
4547 if stderr_output :
4648 print ("Error output:" )
4749 print (stderr_output )
@@ -74,6 +76,7 @@ def checkversion(c: Context) -> None:
7476 print ("❌ Version mismatch detected." )
7577 print (result .stderr )
7678
79+
7780@task
7881def docs (c : Context ) -> None :
7982 """Build the Sphinx documentation.
@@ -101,9 +104,15 @@ def docs(c: Context) -> None:
101104 print ("✔️ Documentation built successfully." )
102105 else :
103106 print ("❌ Documentation build failed." )
104- exit_code = result .exited if result is not None and hasattr (result , "exited" ) else "Unknown"
107+ exit_code = (
108+ result .exited
109+ if result is not None and hasattr (result , "exited" )
110+ else "Unknown"
111+ )
105112 print (f"Exit code: { exit_code } " )
106- stderr_output = result .stderr if result is not None and hasattr (result , "stderr" ) else None
113+ stderr_output = (
114+ result .stderr if result is not None and hasattr (result , "stderr" ) else None
115+ )
107116 if stderr_output :
108117 print ("Error output:" )
109118 print (stderr_output )
@@ -136,9 +145,15 @@ def stubs(c: Context) -> None:
136145 print ("✔️ Type stubs generated successfully in 'stubs/'." )
137146 else :
138147 print ("❌ Stub generation failed." )
139- exit_code = result .exited if result is not None and hasattr (result , "exited" ) else "Unknown"
148+ exit_code = (
149+ result .exited
150+ if result is not None and hasattr (result , "exited" )
151+ else "Unknown"
152+ )
140153 print (f"Exit code: { exit_code } " )
141- stderr_output = result .stderr if result is not None and hasattr (result , "stderr" ) else None
154+ stderr_output = (
155+ result .stderr if result is not None and hasattr (result , "stderr" ) else None
156+ )
142157 if stderr_output :
143158 print ("Error output:" )
144159 print (stderr_output )
@@ -168,16 +183,25 @@ def build(c: Context) -> None:
168183
169184 # Report the result of the build process.
170185 if result is not None and getattr (result , "ok" , False ):
171- print ("✔️ Build completed successfully. Artifacts are in the 'dist/' directory." )
186+ print (
187+ "✔️ Build completed successfully. Artifacts are in the 'dist/' directory."
188+ )
172189 else :
173190 print ("❌ Build failed." )
174- exit_code = result .exited if result is not None and hasattr (result , "exited" ) else "Unknown"
191+ exit_code = (
192+ result .exited
193+ if result is not None and hasattr (result , "exited" )
194+ else "Unknown"
195+ )
175196 print (f"Exit code: { exit_code } " )
176- stderr_output = result .stderr if result is not None and hasattr (result , "stderr" ) else None
197+ stderr_output = (
198+ result .stderr if result is not None and hasattr (result , "stderr" ) else None
199+ )
177200 if stderr_output :
178201 print ("Error output:" )
179202 print (stderr_output )
180203
204+
181205@task
182206def publish (c : Context ) -> None :
183207 """Build and upload the package to PyPI.
@@ -208,6 +232,7 @@ def publish(c: Context) -> None:
208232 else :
209233 print ("No stderr output captured." )
210234
235+
211236@task
212237def clean (c : Context ) -> None :
213238 """Remove build artifacts and caches.
@@ -252,7 +277,8 @@ def clean(c: Context) -> None:
252277 if result .stderr :
253278 print ("Error output:" )
254279 print (result .stderr )
255-
280+
281+
256282@task
257283def gitpush (c : Context ) -> None :
258284 """Commit and push all staged changes.
@@ -271,9 +297,17 @@ def gitpush(c: Context) -> None:
271297 result_add = c .run ("git add ." , warn = True , pty = False )
272298 if result_add is None or not getattr (result_add , "ok" , False ):
273299 print ("❌ Failed to stage changes (git add)." )
274- exit_code = result_add .exited if result_add is not None and hasattr (result_add , "exited" ) else "Unknown"
300+ exit_code = (
301+ result_add .exited
302+ if result_add is not None and hasattr (result_add , "exited" )
303+ else "Unknown"
304+ )
275305 print (f"Exit code: { exit_code } " )
276- stderr_output = result_add .stderr if result_add is not None and hasattr (result_add , "stderr" ) else None
306+ stderr_output = (
307+ result_add .stderr
308+ if result_add is not None and hasattr (result_add , "stderr" )
309+ else None
310+ )
277311 if stderr_output :
278312 print ("Error output:" )
279313 print (stderr_output )
@@ -311,9 +345,17 @@ def gitpush(c: Context) -> None:
311345 print ("✔️ Changes pushed successfully." )
312346 else :
313347 print ("❌ Push failed." )
314- exit_code = getattr (result_push , "exited" , "Unknown" ) if result_push is not None else "Unknown"
348+ exit_code = (
349+ getattr (result_push , "exited" , "Unknown" )
350+ if result_push is not None
351+ else "Unknown"
352+ )
315353 print (f"Exit code: { exit_code } " )
316- stderr_output = getattr (result_push , "stderr" , None ) if result_push is not None else None
354+ stderr_output = (
355+ getattr (result_push , "stderr" , None )
356+ if result_push is not None
357+ else None
358+ )
317359 if stderr_output :
318360 print ("Error output:" )
319361 print (stderr_output )
0 commit comments