duty 1.7.2__py3-none-any.whl → 1.7.3__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.
@@ -449,7 +449,8 @@ class ruff(Tool): # noqa: N801
449
449
  """
450
450
  process = subprocess.run( # noqa: S603
451
451
  [_find_ruff(), *self.cli_args],
452
- capture_output=True,
452
+ stdout=subprocess.PIPE,
453
+ stderr=subprocess.STDOUT,
453
454
  text=True,
454
455
  check=False,
455
456
  )
@@ -188,7 +188,8 @@ class ty(Tool): # noqa: N801
188
188
  """
189
189
  process = subprocess.run( # noqa: S603
190
190
  [_find_ty(), *self.cli_args],
191
- capture_output=True,
191
+ stdout=subprocess.PIPE,
192
+ stderr=subprocess.STDOUT,
192
193
  text=True,
193
194
  check=False,
194
195
  )
@@ -0,0 +1,140 @@
1
+ Metadata-Version: 2.4
2
+ Name: duty
3
+ Version: 1.7.3
4
+ Summary: A simple task runner.
5
+ Keywords: task-runner,task,runner,cross-platform
6
+ Author-Email: =?utf-8?q?Timoth=C3=A9e_Mazzucotelli?= <dev@pawamoy.fr>
7
+ License-Expression: ISC
8
+ License-File: LICENSE
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Programming Language :: Python
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3 :: Only
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Programming Language :: Python :: 3.14
19
+ Classifier: Topic :: Documentation
20
+ Classifier: Topic :: Software Development
21
+ Classifier: Topic :: Utilities
22
+ Classifier: Typing :: Typed
23
+ Project-URL: Homepage, https://pawamoy.github.io/duty
24
+ Project-URL: Documentation, https://pawamoy.github.io/duty
25
+ Project-URL: Changelog, https://pawamoy.github.io/duty/changelog
26
+ Project-URL: Repository, https://github.com/pawamoy/duty
27
+ Project-URL: Issues, https://github.com/pawamoy/duty/issues
28
+ Project-URL: Discussions, https://github.com/pawamoy/duty/discussions
29
+ Project-URL: Gitter, https://gitter.im/duty/community
30
+ Project-URL: Funding, https://github.com/sponsors/pawamoy
31
+ Requires-Python: >=3.10
32
+ Requires-Dist: failprint>=1.0.5
33
+ Requires-Dist: typing-extensions>=4.0; python_version < "3.11"
34
+ Description-Content-Type: text/markdown
35
+
36
+ # duty
37
+
38
+ [![ci](https://github.com/pawamoy/duty/workflows/ci/badge.svg)](https://github.com/pawamoy/duty/actions?query=workflow%3Aci)
39
+ [![documentation](https://img.shields.io/badge/docs-mkdocs-708FCC.svg?style=flat)](https://pawamoy.github.io/duty/)
40
+ [![pypi version](https://img.shields.io/pypi/v/duty.svg)](https://pypi.org/project/duty/)
41
+ [![gitter](https://img.shields.io/badge/matrix-chat-4DB798.svg?style=flat)](https://app.gitter.im/#/room/#duty:gitter.im)
42
+
43
+ A simple task runner.
44
+
45
+ Inspired by [Invoke](https://github.com/pyinvoke/invoke).
46
+
47
+ ![demo](demo.svg)
48
+
49
+ ## Installation
50
+
51
+ ```bash
52
+ pip install duty
53
+ ```
54
+
55
+ With [`uv`](https://docs.astral.sh/uv/):
56
+
57
+ ```bash
58
+ uv tool install duty
59
+ ```
60
+
61
+ ## Quick start
62
+
63
+ Create a `duties.py` file at the root of your repository.
64
+
65
+ ```python
66
+ from duty import duty
67
+
68
+ @duty
69
+ def docs(ctx):
70
+ ctx.run("mkdocs build", title="Building documentation")
71
+ ```
72
+
73
+ You can now use the command line tool to run it:
74
+
75
+ ```bash
76
+ duty docs
77
+ ```
78
+
79
+ See the [Usage](https://pawamoy.github.io/duty/usage/)
80
+ section in the documentation for more examples.
81
+
82
+ Also see ["Why choosing duty over..."](https://pawamoy.github.io/duty/#why-duty-over).
83
+
84
+ ## Sponsors
85
+
86
+ <!-- sponsors-start -->
87
+
88
+ <div id="premium-sponsors" style="text-align: center;">
89
+
90
+ <div id="silver-sponsors"><b>Silver sponsors</b><p>
91
+ <a href="https://fastapi.tiangolo.com/"><img alt="FastAPI" src="https://raw.githubusercontent.com/tiangolo/fastapi/master/docs/en/docs/img/logo-margin/logo-teal.png" style="height: 200px; "></a><br>
92
+ <a href="https://docs.pydantic.dev/latest/"><img alt="Pydantic" src="https://pydantic.dev/assets/for-external/pydantic_logfire_logo_endorsed_lithium_rgb.svg" style="height: 180px; "></a><br>
93
+ </p></div>
94
+
95
+ <div id="bronze-sponsors"><b>Bronze sponsors</b><p>
96
+ <a href="https://www.nixtla.io/"><picture><source media="(prefers-color-scheme: light)" srcset="https://www.nixtla.io/img/logo/full-black.svg"><source media="(prefers-color-scheme: dark)" srcset="https://www.nixtla.io/img/logo/full-white.svg"><img alt="Nixtla" src="https://www.nixtla.io/img/logo/full-black.svg" style="height: 60px; "></picture></a><br>
97
+ </p></div>
98
+ </div>
99
+
100
+ ---
101
+
102
+ <div id="sponsors"><p>
103
+ <a href="https://github.com/ofek"><img alt="ofek" src="https://avatars.githubusercontent.com/u/9677399?u=386c330f212ce467ce7119d9615c75d0e9b9f1ce&v=4" style="height: 32px; border-radius: 100%;"></a>
104
+ <a href="https://github.com/samuelcolvin"><img alt="samuelcolvin" src="https://avatars.githubusercontent.com/u/4039449?u=42eb3b833047c8c4b4f647a031eaef148c16d93f&v=4" style="height: 32px; border-radius: 100%;"></a>
105
+ <a href="https://github.com/tlambert03"><img alt="tlambert03" src="https://avatars.githubusercontent.com/u/1609449?u=922abf0524b47739b37095e553c99488814b05db&v=4" style="height: 32px; border-radius: 100%;"></a>
106
+ <a href="https://github.com/ssbarnea"><img alt="ssbarnea" src="https://avatars.githubusercontent.com/u/102495?u=c7bd9ddf127785286fc939dd18cb02db0a453bce&v=4" style="height: 32px; border-radius: 100%;"></a>
107
+ <a href="https://github.com/femtomc"><img alt="femtomc" src="https://avatars.githubusercontent.com/u/34410036?u=f13a71daf2a9f0d2da189beaa94250daa629e2d8&v=4" style="height: 32px; border-radius: 100%;"></a>
108
+ <a href="https://github.com/cmarqu"><img alt="cmarqu" src="https://avatars.githubusercontent.com/u/360986?v=4" style="height: 32px; border-radius: 100%;"></a>
109
+ <a href="https://github.com/kolenaIO"><img alt="kolenaIO" src="https://avatars.githubusercontent.com/u/77010818?v=4" style="height: 32px; border-radius: 100%;"></a>
110
+ <a href="https://github.com/ramnes"><img alt="ramnes" src="https://avatars.githubusercontent.com/u/835072?u=3fca03c3ba0051e2eb652b1def2188a94d1e1dc2&v=4" style="height: 32px; border-radius: 100%;"></a>
111
+ <a href="https://github.com/machow"><img alt="machow" src="https://avatars.githubusercontent.com/u/2574498?u=c41e3d2f758a05102d8075e38d67b9c17d4189d7&v=4" style="height: 32px; border-radius: 100%;"></a>
112
+ <a href="https://github.com/BenHammersley"><img alt="BenHammersley" src="https://avatars.githubusercontent.com/u/99436?u=4499a7b507541045222ee28ae122dbe3c8d08ab5&v=4" style="height: 32px; border-radius: 100%;"></a>
113
+ <a href="https://github.com/trevorWieland"><img alt="trevorWieland" src="https://avatars.githubusercontent.com/u/28811461?u=74cc0e3756c1d4e3d66b5c396e1d131ea8a10472&v=4" style="height: 32px; border-radius: 100%;"></a>
114
+ <a href="https://github.com/MarcoGorelli"><img alt="MarcoGorelli" src="https://avatars.githubusercontent.com/u/33491632?u=7de3a749cac76a60baca9777baf71d043a4f884d&v=4" style="height: 32px; border-radius: 100%;"></a>
115
+ <a href="https://github.com/analog-cbarber"><img alt="analog-cbarber" src="https://avatars.githubusercontent.com/u/7408243?u=642fc2bdcc9904089c62fe5aec4e03ace32da67d&v=4" style="height: 32px; border-radius: 100%;"></a>
116
+ <a href="https://github.com/OdinManiac"><img alt="OdinManiac" src="https://avatars.githubusercontent.com/u/22727172?u=36ab20970f7f52ae8e7eb67b7fcf491fee01ac22&v=4" style="height: 32px; border-radius: 100%;"></a>
117
+ <a href="https://github.com/rstudio-sponsorship"><img alt="rstudio-sponsorship" src="https://avatars.githubusercontent.com/u/58949051?u=0c471515dd18111be30dfb7669ed5e778970959b&v=4" style="height: 32px; border-radius: 100%;"></a>
118
+ <a href="https://github.com/schlich"><img alt="schlich" src="https://avatars.githubusercontent.com/u/21191435?u=6f1240adb68f21614d809ae52d66509f46b1e877&v=4" style="height: 32px; border-radius: 100%;"></a>
119
+ <a href="https://github.com/butterlyn"><img alt="butterlyn" src="https://avatars.githubusercontent.com/u/53323535?v=4" style="height: 32px; border-radius: 100%;"></a>
120
+ <a href="https://github.com/livingbio"><img alt="livingbio" src="https://avatars.githubusercontent.com/u/10329983?v=4" style="height: 32px; border-radius: 100%;"></a>
121
+ <a href="https://github.com/NemetschekAllplan"><img alt="NemetschekAllplan" src="https://avatars.githubusercontent.com/u/912034?v=4" style="height: 32px; border-radius: 100%;"></a>
122
+ <a href="https://github.com/EricJayHartman"><img alt="EricJayHartman" src="https://avatars.githubusercontent.com/u/9259499?u=7e58cc7ec0cd3e85b27aec33656aa0f6612706dd&v=4" style="height: 32px; border-radius: 100%;"></a>
123
+ <a href="https://github.com/15r10nk"><img alt="15r10nk" src="https://avatars.githubusercontent.com/u/44680962?u=f04826446ff165742efa81e314bd03bf1724d50e&v=4" style="height: 32px; border-radius: 100%;"></a>
124
+ <a href="https://github.com/activeloopai"><img alt="activeloopai" src="https://avatars.githubusercontent.com/u/34816118?v=4" style="height: 32px; border-radius: 100%;"></a>
125
+ <a href="https://github.com/roboflow"><img alt="roboflow" src="https://avatars.githubusercontent.com/u/53104118?v=4" style="height: 32px; border-radius: 100%;"></a>
126
+ <a href="https://github.com/cmclaughlin"><img alt="cmclaughlin" src="https://avatars.githubusercontent.com/u/1061109?u=ddf6eec0edd2d11c980f8c3aa96e3d044d4e0468&v=4" style="height: 32px; border-radius: 100%;"></a>
127
+ <a href="https://github.com/blaisep"><img alt="blaisep" src="https://avatars.githubusercontent.com/u/254456?u=97d584b7c0a6faf583aa59975df4f993f671d121&v=4" style="height: 32px; border-radius: 100%;"></a>
128
+ <a href="https://github.com/RapidataAI"><img alt="RapidataAI" src="https://avatars.githubusercontent.com/u/104209891?v=4" style="height: 32px; border-radius: 100%;"></a>
129
+ <a href="https://github.com/rodolphebarbanneau"><img alt="rodolphebarbanneau" src="https://avatars.githubusercontent.com/u/46493454?u=6c405452a40c231cdf0b68e97544e07ee956a733&v=4" style="height: 32px; border-radius: 100%;"></a>
130
+ <a href="https://github.com/theSymbolSyndicate"><img alt="theSymbolSyndicate" src="https://avatars.githubusercontent.com/u/111542255?v=4" style="height: 32px; border-radius: 100%;"></a>
131
+ <a href="https://github.com/blakeNaccarato"><img alt="blakeNaccarato" src="https://avatars.githubusercontent.com/u/20692450?u=bb919218be30cfa994514f4cf39bb2f7cf952df4&v=4" style="height: 32px; border-radius: 100%;"></a>
132
+ <a href="https://github.com/ChargeStorm"><img alt="ChargeStorm" src="https://avatars.githubusercontent.com/u/26000165?v=4" style="height: 32px; border-radius: 100%;"></a>
133
+ <a href="https://github.com/Alphadelta14"><img alt="Alphadelta14" src="https://avatars.githubusercontent.com/u/480845?v=4" style="height: 32px; border-radius: 100%;"></a>
134
+ <a href="https://github.com/Cusp-AI"><img alt="Cusp-AI" src="https://avatars.githubusercontent.com/u/178170649?v=4" style="height: 32px; border-radius: 100%;"></a>
135
+ </p></div>
136
+
137
+
138
+ *And 7 more private sponsor(s).*
139
+
140
+ <!-- sponsors-end -->
@@ -1,7 +1,7 @@
1
- duty-1.7.2.dist-info/METADATA,sha256=lBU1_jsadoivWZgKlt-aozjw5z_pVvLDpFC9UrePD0w,2710
2
- duty-1.7.2.dist-info/WHEEL,sha256=Wb0ASbVj8JvWHpOiIpPi7ucfIgJeCi__PzivviEAQFc,90
3
- duty-1.7.2.dist-info/entry_points.txt,sha256=aCE5QWIgzL6DnOQTeLmwnOqbV70ERZQ71hFYXAiMDwU,51
4
- duty-1.7.2.dist-info/licenses/LICENSE,sha256=nQxdYSduhkgEpOTmg4yyIMmFPzcr2qrlUl8Tf9QZPug,754
1
+ duty-1.7.3.dist-info/METADATA,sha256=xvXIBGBiOh21XxqDrMmv371Hmp7NMC859d8805pUYQ0,10010
2
+ duty-1.7.3.dist-info/WHEEL,sha256=Wb0ASbVj8JvWHpOiIpPi7ucfIgJeCi__PzivviEAQFc,90
3
+ duty-1.7.3.dist-info/entry_points.txt,sha256=aCE5QWIgzL6DnOQTeLmwnOqbV70ERZQ71hFYXAiMDwU,51
4
+ duty-1.7.3.dist-info/licenses/LICENSE,sha256=nQxdYSduhkgEpOTmg4yyIMmFPzcr2qrlUl8Tf9QZPug,754
5
5
  duty/__init__.py,sha256=XYIKFqVvQCBDPNCtsCwPpN_mEnKRas5_103x9tdx3Vg,1205
6
6
  duty/__main__.py,sha256=uzZGmlxuxHwn-rBp8axUwB57GcnmPGcFmDVHArwrrdI,343
7
7
  duty/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -45,11 +45,11 @@ duty/_internal/tools/_isort.py,sha256=cXKqQj-ReYm0pfH41P6l3tdObdtDfkAUcjOUrRAXQk
45
45
  duty/_internal/tools/_mkdocs.py,sha256=5-6dJi9S59fDAirNN3RKMpo-Er-fNDp8eT8tdFXENyE,9136
46
46
  duty/_internal/tools/_mypy.py,sha256=xvAmy2JTo2jXd_Z1KGpQHg7SaZa6d5lE6Rsz35ksMI4,21592
47
47
  duty/_internal/tools/_pytest.py,sha256=FHoCXDZ6fZoWVD5yI1-IHvtXbVebxI4UarKqIQHXUb8,20160
48
- duty/_internal/tools/_ruff.py,sha256=JNuXrSwaWesKn7ad6uRZL4suJFlAlAusN6_kU0EkW5w,15402
48
+ duty/_internal/tools/_ruff.py,sha256=AWYNUqo7Yf6wImEZq5EizoJML9_34b1FbrULUXqRQQ0,15443
49
49
  duty/_internal/tools/_safety.py,sha256=MGFZ3xJ2JqlHQTEfnRaprQl1_Pi6iKCvSzbUC6zlIAY,3418
50
50
  duty/_internal/tools/_ssort.py,sha256=s8kxAazD0pbbMsvXK_6xmJUVF1tlXCQuCjmL2zCxawA,1199
51
51
  duty/_internal/tools/_twine.py,sha256=GF5FJbyo5-4sx1rGuz5xd9Vy_uIiTVWA_kF3rBpoICY,10519
52
- duty/_internal/tools/_ty.py,sha256=JgIwmh-XYCQkAdC4X924gknqyxGn1_Ia-HLY0xp1xlA,6796
52
+ duty/_internal/tools/_ty.py,sha256=RVUzCI6m54fuseFIFIA08ArhUsMQz8K1LJYYEUqQRSg,6837
53
53
  duty/_internal/tools/_yore.py,sha256=wNa7ZeSOg5Ai5ORVVs2kBk3_IJdDqcjGrstbeBjDI1E,3492
54
54
  duty/_internal/validation.py,sha256=6gf_uALpLMFOKvipHk_qdDGf9u7vyaN7clivHK63wbE,8168
55
55
  duty/callables/__init__.py,sha256=soGDrmBeiJrdSRfx1hFNZWZ6BBglvG4AJ3iJb6_IWug,1071
@@ -79,4 +79,4 @@ duty/exceptions.py,sha256=p36-9D47b-gWPd_HZoUKl0nivaaLJiuAbNHe3TTYr7w,393
79
79
  duty/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
80
  duty/tools.py,sha256=4-231PY1yVuOoDAdlEa7e3A3jh_gFkpVaWibJPd3qEk,1226
81
81
  duty/validation.py,sha256=U-fSrcMVgKyTCOczNS_TsSNF03U1DVgEg0BF3rJAySo,393
82
- duty-1.7.2.dist-info/RECORD,,
82
+ duty-1.7.3.dist-info/RECORD,,
@@ -1,87 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: duty
3
- Version: 1.7.2
4
- Summary: A simple task runner.
5
- Keywords: task-runner,task,runner,cross-platform
6
- Author-Email: =?utf-8?q?Timoth=C3=A9e_Mazzucotelli?= <dev@pawamoy.fr>
7
- License-Expression: ISC
8
- License-File: LICENSE
9
- Classifier: Development Status :: 4 - Beta
10
- Classifier: Intended Audience :: Developers
11
- Classifier: Programming Language :: Python
12
- Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3 :: Only
14
- Classifier: Programming Language :: Python :: 3.10
15
- Classifier: Programming Language :: Python :: 3.11
16
- Classifier: Programming Language :: Python :: 3.12
17
- Classifier: Programming Language :: Python :: 3.13
18
- Classifier: Programming Language :: Python :: 3.14
19
- Classifier: Topic :: Documentation
20
- Classifier: Topic :: Software Development
21
- Classifier: Topic :: Utilities
22
- Classifier: Typing :: Typed
23
- Project-URL: Homepage, https://pawamoy.github.io/duty
24
- Project-URL: Documentation, https://pawamoy.github.io/duty
25
- Project-URL: Changelog, https://pawamoy.github.io/duty/changelog
26
- Project-URL: Repository, https://github.com/pawamoy/duty
27
- Project-URL: Issues, https://github.com/pawamoy/duty/issues
28
- Project-URL: Discussions, https://github.com/pawamoy/duty/discussions
29
- Project-URL: Gitter, https://gitter.im/duty/community
30
- Project-URL: Funding, https://github.com/sponsors/pawamoy
31
- Requires-Python: >=3.10
32
- Requires-Dist: failprint>=1.0.5
33
- Requires-Dist: typing-extensions>=4.0; python_version < "3.11"
34
- Description-Content-Type: text/markdown
35
-
36
- # duty
37
-
38
- [![ci](https://github.com/pawamoy/duty/workflows/ci/badge.svg)](https://github.com/pawamoy/duty/actions?query=workflow%3Aci)
39
- [![documentation](https://img.shields.io/badge/docs-mkdocs-708FCC.svg?style=flat)](https://pawamoy.github.io/duty/)
40
- [![pypi version](https://img.shields.io/pypi/v/duty.svg)](https://pypi.org/project/duty/)
41
- [![gitter](https://img.shields.io/badge/matrix-chat-4DB798.svg?style=flat)](https://app.gitter.im/#/room/#duty:gitter.im)
42
-
43
- A simple task runner.
44
-
45
- Inspired by [Invoke](https://github.com/pyinvoke/invoke).
46
-
47
- ![demo](demo.svg)
48
-
49
- ## Installation
50
-
51
- ```bash
52
- pip install duty
53
- ```
54
-
55
- With [`uv`](https://docs.astral.sh/uv/):
56
-
57
- ```bash
58
- uv tool install duty
59
- ```
60
-
61
- ## Quick start
62
-
63
- Create a `duties.py` file at the root of your repository.
64
-
65
- ```python
66
- from duty import duty
67
-
68
- @duty
69
- def docs(ctx):
70
- ctx.run("mkdocs build", title="Building documentation")
71
- ```
72
-
73
- You can now use the command line tool to run it:
74
-
75
- ```bash
76
- duty docs
77
- ```
78
-
79
- See the [Usage](https://pawamoy.github.io/duty/usage/)
80
- section in the documentation for more examples.
81
-
82
- Also see ["Why choosing duty over..."](https://pawamoy.github.io/duty/#why-duty-over).
83
-
84
- ## Sponsors
85
-
86
- <!-- sponsors-start -->
87
- <!-- sponsors-end -->
File without changes