words2num2 0.2.2__tar.gz → 0.2.3__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 (170) hide show
  1. {words2num2-0.2.2 → words2num2-0.2.3}/.github/workflows/aur-publish.yml +2 -2
  2. {words2num2-0.2.2 → words2num2-0.2.3}/CHANGELOG.md +13 -0
  3. {words2num2-0.2.2/words2num2.egg-info → words2num2-0.2.3}/PKG-INFO +1 -1
  4. words2num2-0.2.3/words2num2/_version.py +3 -0
  5. {words2num2-0.2.2 → words2num2-0.2.3/words2num2.egg-info}/PKG-INFO +1 -1
  6. words2num2-0.2.2/words2num2/_version.py +0 -3
  7. {words2num2-0.2.2 → words2num2-0.2.3}/.flake8 +0 -0
  8. {words2num2-0.2.2 → words2num2-0.2.3}/.github/workflows/ci.yml +0 -0
  9. {words2num2-0.2.2 → words2num2-0.2.3}/.github/workflows/codeql-analysis.yml +0 -0
  10. {words2num2-0.2.2 → words2num2-0.2.3}/.github/workflows/e2e-tests.yml +0 -0
  11. {words2num2-0.2.2 → words2num2-0.2.3}/.github/workflows/lint.yml +0 -0
  12. {words2num2-0.2.2 → words2num2-0.2.3}/.github/workflows/manual-publish.yml +0 -0
  13. {words2num2-0.2.2 → words2num2-0.2.3}/.github/workflows/manual-release.yml +0 -0
  14. {words2num2-0.2.2 → words2num2-0.2.3}/.github/workflows/pr-size.yml +0 -0
  15. {words2num2-0.2.2 → words2num2-0.2.3}/.github/workflows/publish-pypi.yml +0 -0
  16. {words2num2-0.2.2 → words2num2-0.2.3}/.github/workflows/python-publish.yml +0 -0
  17. {words2num2-0.2.2 → words2num2-0.2.3}/.github/workflows/release.yml +0 -0
  18. {words2num2-0.2.2 → words2num2-0.2.3}/.github/workflows/scheduled-test.yml +0 -0
  19. {words2num2-0.2.2 → words2num2-0.2.3}/.gitignore +0 -0
  20. {words2num2-0.2.2 → words2num2-0.2.3}/CONTRIBUTING.md +0 -0
  21. {words2num2-0.2.2 → words2num2-0.2.3}/COPYING +0 -0
  22. {words2num2-0.2.2 → words2num2-0.2.3}/LOCAL_TESTING.md +0 -0
  23. {words2num2-0.2.2 → words2num2-0.2.3}/MANIFEST.in +0 -0
  24. {words2num2-0.2.2 → words2num2-0.2.3}/Makefile +0 -0
  25. {words2num2-0.2.2 → words2num2-0.2.3}/README.rst +0 -0
  26. {words2num2-0.2.2 → words2num2-0.2.3}/REFERENCE.md +0 -0
  27. {words2num2-0.2.2 → words2num2-0.2.3}/bin/words2num2 +0 -0
  28. {words2num2-0.2.2 → words2num2-0.2.3}/packaging/aur/python-words2num2/.SRCINFO +0 -0
  29. {words2num2-0.2.2 → words2num2-0.2.3}/packaging/aur/python-words2num2/PKGBUILD +0 -0
  30. {words2num2-0.2.2 → words2num2-0.2.3}/packaging/aur/python-words2num2/README.md +0 -0
  31. {words2num2-0.2.2 → words2num2-0.2.3}/pyproject.toml +0 -0
  32. {words2num2-0.2.2 → words2num2-0.2.3}/setup.cfg +0 -0
  33. {words2num2-0.2.2 → words2num2-0.2.3}/setup.py +0 -0
  34. {words2num2-0.2.2 → words2num2-0.2.3}/tests/__init__.py +0 -0
  35. {words2num2-0.2.2 → words2num2-0.2.3}/tests/test_auto_parse.py +0 -0
  36. {words2num2-0.2.2 → words2num2-0.2.3}/tests/test_dispatch.py +0 -0
  37. {words2num2-0.2.2 → words2num2-0.2.3}/tests/test_lang_EN.py +0 -0
  38. {words2num2-0.2.2 → words2num2-0.2.3}/tests/test_multilang.py +0 -0
  39. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/__init__.py +0 -0
  40. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/__main__.py +0 -0
  41. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/base.py +0 -0
  42. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/compat.py +0 -0
  43. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/converters/__init__.py +0 -0
  44. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/converters/auto.py +0 -0
  45. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/converters/sentence.py +0 -0
  46. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/formats.py +0 -0
  47. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_AF.py +0 -0
  48. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_AM.py +0 -0
  49. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_AR.py +0 -0
  50. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_AS.py +0 -0
  51. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_AZ.py +0 -0
  52. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_BA.py +0 -0
  53. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_BE.py +0 -0
  54. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_BG.py +0 -0
  55. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_BN.py +0 -0
  56. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_BO.py +0 -0
  57. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_BR.py +0 -0
  58. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_BS.py +0 -0
  59. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_CA.py +0 -0
  60. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_CE.py +0 -0
  61. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_CS.py +0 -0
  62. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_CY.py +0 -0
  63. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_DA.py +0 -0
  64. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_DE.py +0 -0
  65. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_EL.py +0 -0
  66. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_EN.py +0 -0
  67. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_EN_IN.py +0 -0
  68. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_EN_NG.py +0 -0
  69. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_EO.py +0 -0
  70. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_ES.py +0 -0
  71. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_ES_CO.py +0 -0
  72. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_ES_CR.py +0 -0
  73. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_ES_GT.py +0 -0
  74. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_ES_NI.py +0 -0
  75. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_ES_VE.py +0 -0
  76. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_ET.py +0 -0
  77. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_EU.py +0 -0
  78. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_FA.py +0 -0
  79. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_FI.py +0 -0
  80. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_FO.py +0 -0
  81. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_FR.py +0 -0
  82. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_FR_BE.py +0 -0
  83. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_FR_CH.py +0 -0
  84. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_FR_DZ.py +0 -0
  85. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_GL.py +0 -0
  86. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_GU.py +0 -0
  87. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_HA.py +0 -0
  88. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_HAW.py +0 -0
  89. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_HE.py +0 -0
  90. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_HI.py +0 -0
  91. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_HR.py +0 -0
  92. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_HT.py +0 -0
  93. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_HU.py +0 -0
  94. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_HY.py +0 -0
  95. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_ID.py +0 -0
  96. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_IS.py +0 -0
  97. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_IT.py +0 -0
  98. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_JA.py +0 -0
  99. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_JW.py +0 -0
  100. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_KA.py +0 -0
  101. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_KK.py +0 -0
  102. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_KM.py +0 -0
  103. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_KN.py +0 -0
  104. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_KO.py +0 -0
  105. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_KZ.py +0 -0
  106. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_LA.py +0 -0
  107. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_LB.py +0 -0
  108. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_LN.py +0 -0
  109. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_LO.py +0 -0
  110. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_LT.py +0 -0
  111. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_LV.py +0 -0
  112. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_MG.py +0 -0
  113. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_MI.py +0 -0
  114. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_MK.py +0 -0
  115. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_ML.py +0 -0
  116. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_MN.py +0 -0
  117. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_MR.py +0 -0
  118. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_MS.py +0 -0
  119. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_MT.py +0 -0
  120. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_MY.py +0 -0
  121. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_NE.py +0 -0
  122. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_NL.py +0 -0
  123. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_NN.py +0 -0
  124. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_NO.py +0 -0
  125. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_OC.py +0 -0
  126. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_PA.py +0 -0
  127. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_PL.py +0 -0
  128. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_PS.py +0 -0
  129. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_PT.py +0 -0
  130. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_PT_BR.py +0 -0
  131. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_RO.py +0 -0
  132. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_RU.py +0 -0
  133. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_SA.py +0 -0
  134. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_SD.py +0 -0
  135. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_SI.py +0 -0
  136. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_SK.py +0 -0
  137. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_SL.py +0 -0
  138. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_SN.py +0 -0
  139. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_SO.py +0 -0
  140. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_SQ.py +0 -0
  141. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_SR.py +0 -0
  142. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_SU.py +0 -0
  143. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_SV.py +0 -0
  144. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_SW.py +0 -0
  145. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_TA.py +0 -0
  146. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_TE.py +0 -0
  147. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_TET.py +0 -0
  148. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_TG.py +0 -0
  149. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_TH.py +0 -0
  150. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_TK.py +0 -0
  151. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_TL.py +0 -0
  152. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_TR.py +0 -0
  153. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_TT.py +0 -0
  154. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_UK.py +0 -0
  155. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_UR.py +0 -0
  156. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_UZ.py +0 -0
  157. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_VI.py +0 -0
  158. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_WO.py +0 -0
  159. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_YI.py +0 -0
  160. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_YO.py +0 -0
  161. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_ZH.py +0 -0
  162. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_ZH_CN.py +0 -0
  163. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_ZH_HK.py +0 -0
  164. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/lang_ZH_TW.py +0 -0
  165. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2/utils.py +0 -0
  166. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2.egg-info/SOURCES.txt +0 -0
  167. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2.egg-info/dependency_links.txt +0 -0
  168. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2.egg-info/entry_points.txt +0 -0
  169. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2.egg-info/requires.txt +0 -0
  170. {words2num2-0.2.2 → words2num2-0.2.3}/words2num2.egg-info/top_level.txt +0 -0
@@ -36,13 +36,13 @@ jobs:
36
36
  run: |
37
37
  VER="${{ steps.ver.outputs.version }}"
38
38
  for i in $(seq 1 60); do
39
- CODE=$(curl -s -o /dev/null -w "%{http_code}" \
39
+ CODE=$(curl -sL -o /dev/null -w "%{http_code}" \
40
40
  "https://files.pythonhosted.org/packages/source/w/words2num2/words2num2-${VER}.tar.gz")
41
41
  if [ "$CODE" = "200" ]; then
42
42
  echo "PyPI sdist for $VER is live."
43
43
  break
44
44
  fi
45
- echo "Waiting for PyPI sdist... ($i/60)"
45
+ echo "Waiting for PyPI sdist... ($i/60) (got $CODE)"
46
46
  sleep 10
47
47
  done
48
48
 
@@ -4,6 +4,18 @@ All notable changes to `words2num2` are documented here. This project
4
4
  follows [Semantic Versioning](https://semver.org/) and uses
5
5
  [Keep a Changelog](https://keepachangelog.com/) style.
6
6
 
7
+ ## [0.2.3] — 2026-05-02
8
+
9
+ ### Fixed
10
+ - `aur-publish.yml` workflow now follows HTTP redirects when polling
11
+ for the freshly-published PyPI sdist. Without `curl -L` the legacy
12
+ `files.pythonhosted.org` URL returns a 302 and the wait loop never
13
+ satisfied, so the AUR job timed out before computing the sha256.
14
+
15
+ ### Verified
16
+ - End-to-end release pipeline: tag push → build → test → GitHub
17
+ Release → PyPI Trusted Publishing → AUR push, all green.
18
+
7
19
  ## [0.2.2] — 2026-05-01
8
20
 
9
21
  ### Changed
@@ -132,6 +144,7 @@ follows [Semantic Versioning](https://semver.org/) and uses
132
144
  - `Words2NumError` exception type.
133
145
  - 59 tests.
134
146
 
147
+ [0.2.3]: https://github.com/jqueguiner/words2num2/releases/tag/v0.2.3
135
148
  [0.2.2]: https://github.com/jqueguiner/words2num2/releases/tag/v0.2.2
136
149
  [0.2.1]: https://github.com/jqueguiner/words2num2/releases/tag/v0.2.1
137
150
  [0.2.0]: https://github.com/jqueguiner/words2num2/releases/tag/v0.2.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: words2num2
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: Inverse of num2words2: convert spoken-form numbers back to numeric values across 100+ languages.
5
5
  Home-page: https://github.com/jqueguiner/words2num2
6
6
  Author: Jean-Louis Queguiner
@@ -0,0 +1,3 @@
1
+ # Auto-generated version file
2
+ __version__ = "0.2.3"
3
+ __version_tuple__ = (0, 2, 3)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: words2num2
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: Inverse of num2words2: convert spoken-form numbers back to numeric values across 100+ languages.
5
5
  Home-page: https://github.com/jqueguiner/words2num2
6
6
  Author: Jean-Louis Queguiner
@@ -1,3 +0,0 @@
1
- # Auto-generated version file
2
- __version__ = "0.2.2"
3
- __version_tuple__ = (0, 2, 2)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes