afterpython 0.3.3__py3-none-any.whl → 0.3.4__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.
- afterpython/templates/ci-workflow-template.yml +28 -12
- afterpython/templates/pre-commit-config-template.yaml +10 -9
- {afterpython-0.3.3.dist-info → afterpython-0.3.4.dist-info}/METADATA +4 -4
- {afterpython-0.3.3.dist-info → afterpython-0.3.4.dist-info}/RECORD +6 -6
- {afterpython-0.3.3.dist-info → afterpython-0.3.4.dist-info}/WHEEL +0 -0
- {afterpython-0.3.3.dist-info → afterpython-0.3.4.dist-info}/entry_points.txt +0 -0
|
@@ -92,10 +92,20 @@ jobs:
|
|
|
92
92
|
uv pip install --system . --group test || uv pip install --system .
|
|
93
93
|
|
|
94
94
|
- name: Run tests with pytest
|
|
95
|
-
#
|
|
96
|
-
#
|
|
95
|
+
# Tolerant by design: if pytest isn't installed, the project has no
|
|
96
|
+
# [dependency-groups] test (the install step fell back to `uv pip
|
|
97
|
+
# install --system .`). Treat that the same as "no tests yet" and
|
|
98
|
+
# pass green — matches the install step's tolerance.
|
|
99
|
+
# When pytest does run, exit code 5 (no tests collected) is success.
|
|
100
|
+
# We capture pytest's exit code before any other command clobbers $?.
|
|
97
101
|
run: |
|
|
98
|
-
|
|
102
|
+
if ! command -v pytest >/dev/null 2>&1; then
|
|
103
|
+
echo "pytest not installed (no [dependency-groups] test); skipping."
|
|
104
|
+
exit 0
|
|
105
|
+
fi
|
|
106
|
+
pytest -v
|
|
107
|
+
code=$?
|
|
108
|
+
if [ $code -eq 5 ]; then exit 0; else exit $code; fi
|
|
99
109
|
|
|
100
110
|
# Job 3.2: Test Suite - Pixi Workflow
|
|
101
111
|
# Pixi-based testing for projects using pixi.toml
|
|
@@ -114,7 +124,7 @@ jobs:
|
|
|
114
124
|
uses: actions/checkout@v6
|
|
115
125
|
|
|
116
126
|
- name: Set up pixi
|
|
117
|
-
uses: prefix-dev/setup-pixi@v0.9.
|
|
127
|
+
uses: prefix-dev/setup-pixi@v0.9.5
|
|
118
128
|
with:
|
|
119
129
|
pixi-version: v0.67.2
|
|
120
130
|
cache: true
|
|
@@ -145,15 +155,21 @@ jobs:
|
|
|
145
155
|
run: |
|
|
146
156
|
uv_result="${{ needs.test-uv.result }}"
|
|
147
157
|
pixi_result="${{ needs.test-pixi.result }}"
|
|
148
|
-
#
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
158
|
+
# Invariant: exactly one track runs (use_pixi gate) and must succeed;
|
|
159
|
+
# the other is skipped. Any other combination — both skipped (detect
|
|
160
|
+
# job died), both succeeded (broken gating), or anything failing —
|
|
161
|
+
# is red. The "no tests yet" case is handled inside the running track
|
|
162
|
+
# (pytest step exits 0), so it reports success here, not skipped.
|
|
163
|
+
if [ "$uv_result" == "success" ] && [ "$pixi_result" == "skipped" ]; then
|
|
164
|
+
echo "All tests passed (uv track)."
|
|
165
|
+
exit 0
|
|
166
|
+
elif [ "$pixi_result" == "success" ] && [ "$uv_result" == "skipped" ]; then
|
|
167
|
+
echo "All tests passed (pixi track)."
|
|
168
|
+
exit 0
|
|
169
|
+
else
|
|
170
|
+
echo "Tests did not pass cleanly: uv=$uv_result, pixi=$pixi_result"
|
|
171
|
+
exit 1
|
|
154
172
|
fi
|
|
155
|
-
echo "Tests failed: uv=$uv_result, pixi=$pixi_result"
|
|
156
|
-
exit 1
|
|
157
173
|
|
|
158
174
|
# Job 4: Build Verification
|
|
159
175
|
# Ensures the package can be built successfully
|
|
@@ -37,12 +37,13 @@ repos:
|
|
|
37
37
|
args:
|
|
38
38
|
- --config
|
|
39
39
|
- ./afterpython/ruff.toml
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
40
|
+
# NOTE: buggy commitizen, skip it, not useful anyways
|
|
41
|
+
# - repo: https://github.com/commitizen-tools/commitizen
|
|
42
|
+
# rev: v4.16.0
|
|
43
|
+
# hooks:
|
|
44
|
+
# - id: commitizen
|
|
45
|
+
# stages:
|
|
46
|
+
# - commit-msg
|
|
47
|
+
# - id: commitizen-branch
|
|
48
|
+
# stages:
|
|
49
|
+
# - pre-push
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: afterpython
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.4
|
|
4
4
|
Summary: CLI tool to streamline Python package maintenance and generate a dedicated project website
|
|
5
5
|
Keywords: package-maintenance,project-website,static-site-generator,developer-tools,documentation,cli-tool,ci/cd,mystmd,semantic-release,python-packaging
|
|
6
6
|
Author: Stephen Yau
|
|
@@ -17,17 +17,17 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
17
17
|
Requires-Dist: click>=8.2.1
|
|
18
18
|
Requires-Dist: trogon>=0.6.0
|
|
19
19
|
Requires-Dist: httpx>=0.28.1
|
|
20
|
-
Requires-Dist: tomlkit>=0.
|
|
20
|
+
Requires-Dist: tomlkit>=0.15.0
|
|
21
21
|
Requires-Dist: ruamel-yaml>=0.19.1
|
|
22
22
|
Requires-Dist: gitpython>=3.1.50
|
|
23
23
|
Requires-Dist: python-dotenv>=1.2.2
|
|
24
24
|
Requires-Dist: pyproject-metadata>=0.11.0
|
|
25
|
-
Requires-Dist: jupytext>=1.19.
|
|
25
|
+
Requires-Dist: jupytext>=1.19.2
|
|
26
26
|
Requires-Dist: mystmd>=1.9.0
|
|
27
27
|
Requires-Dist: pdoc>=16.0.0
|
|
28
28
|
Requires-Dist: ruff>=0.15.12
|
|
29
29
|
Requires-Dist: pre-commit>=4.6.0
|
|
30
|
-
Requires-Dist: commitizen>=4.
|
|
30
|
+
Requires-Dist: commitizen>=4.16.0
|
|
31
31
|
Requires-Python: >=3.11
|
|
32
32
|
Project-URL: homepage, https://afterpython.afterpython.org
|
|
33
33
|
Project-URL: repository, https://github.com/AfterPythonOrg/afterpython
|
|
@@ -41,12 +41,12 @@ afterpython/const.py,sha256=B_yUBmHPyu98aOibwt7idWbhKNBBed0TeYXNBd8tPTk,157
|
|
|
41
41
|
afterpython/main.py,sha256=w0z6mTib3u4p2HxMrk-tIJlZtur7uRaqsbE0ewlYlSs,490
|
|
42
42
|
afterpython/pcu.py,sha256=EoEhSzFZ49b5qc9KH2RLxIHSzY8YFM5uhtw07chcrr8,6093
|
|
43
43
|
afterpython/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
|
-
afterpython/templates/ci-workflow-template.yml,sha256=
|
|
44
|
+
afterpython/templates/ci-workflow-template.yml,sha256=B3Rn5Ta1Bot1jKQ8ALBqQI8BDQ8mwIhpIA_umnXJ9oc,7115
|
|
45
45
|
afterpython/templates/cz-template.toml,sha256=2qwbQLb0nbZaA63oWXFFzvzPNBsFZHATL1C2rdNdjjs,185
|
|
46
46
|
afterpython/templates/dependabot-template.yml,sha256=CBQEgh8EsXw2X7IqzGtFI7lVT9liF6PW4DvGLB0X2LY,1136
|
|
47
47
|
afterpython/templates/deploy-workflow-template.yml,sha256=L3dSB0WdUvuW2C65MqxkMNbUFCU8-eGvfS_wUj2etNU,2397
|
|
48
48
|
afterpython/templates/pdoc/frame.html.jinja2,sha256=GX4pNSuYC4Fq9hvZ01WyaBQes4FyNDOx5Ra4MNLr0eg,250
|
|
49
|
-
afterpython/templates/pre-commit-config-template.yaml,sha256=
|
|
49
|
+
afterpython/templates/pre-commit-config-template.yaml,sha256=3QkZekg2kK04-Dp8nGc9AsqEdpnh10EcdD6pBhyKpRQ,988
|
|
50
50
|
afterpython/templates/release-workflow-template.yml,sha256=3YBkgrqmi--uznslpMxPz7Vj7L4_NPlhDxgwYBt-Ui8,1606
|
|
51
51
|
afterpython/templates/ruff-template.toml,sha256=lNCd4EthoLScr4cyVEgGUH4xK5CfIX3f9I3zkJHAYgg,1008
|
|
52
52
|
afterpython/tools/_afterpython.py,sha256=a82taUWoY8yXmzE1m25zV0-vwmyglp5X7G2Erjz3oLw,4345
|
|
@@ -59,7 +59,7 @@ afterpython/tools/pre_commit.py,sha256=oNsrUkPI13rSSBSyhyTTKPnQGhDxLIPYhxu6kL0fD
|
|
|
59
59
|
afterpython/tools/pyproject.py,sha256=hz-DOf-pkGBF2m_RqEZipAaO-NDbsLxrrc65LWAIwLA,3698
|
|
60
60
|
afterpython/utils.py,sha256=fVa3jIzCvhn7QA7N0M6d_pvojpPFrN-hae8trUYhPKU,11701
|
|
61
61
|
afterpython/version.py,sha256=hihRV1S-gc1m46OaXD32ikkEkqzs-Gtq7AcAqOQV-wY,1603
|
|
62
|
-
afterpython-0.3.
|
|
63
|
-
afterpython-0.3.
|
|
64
|
-
afterpython-0.3.
|
|
65
|
-
afterpython-0.3.
|
|
62
|
+
afterpython-0.3.4.dist-info/WHEEL,sha256=fWriCkzqm-pffF5af4gJC9iI5FMFaJTuN9UxxxzOmdY,81
|
|
63
|
+
afterpython-0.3.4.dist-info/entry_points.txt,sha256=roa0PDgBueM1JPbRG0G2OSxzaN394OUL_oS9iEwVLBc,80
|
|
64
|
+
afterpython-0.3.4.dist-info/METADATA,sha256=xlwC3Jg5207-ZdUEyYj6LWz3qUjzOmxQBLTssubXcf8,6180
|
|
65
|
+
afterpython-0.3.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|