yaml-rs 0.0.1__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 (375) hide show
  1. yaml_rs-0.0.1/.github/dependabot.yml +9 -0
  2. yaml_rs-0.0.1/.github/workflows/ci.yml +335 -0
  3. yaml_rs-0.0.1/.gitignore +4 -0
  4. yaml_rs-0.0.1/Cargo.lock +329 -0
  5. yaml_rs-0.0.1/Cargo.toml +31 -0
  6. yaml_rs-0.0.1/PKG-INFO +140 -0
  7. yaml_rs-0.0.1/README.md +112 -0
  8. yaml_rs-0.0.1/UNLICENSE +24 -0
  9. yaml_rs-0.0.1/_typos.toml +3 -0
  10. yaml_rs-0.0.1/benchmark/README.md +35 -0
  11. yaml_rs-0.0.1/benchmark/loads.svg +1 -0
  12. yaml_rs-0.0.1/benchmark/run.py +105 -0
  13. yaml_rs-0.0.1/pyproject.toml +63 -0
  14. yaml_rs-0.0.1/python/yaml_rs/__init__.py +42 -0
  15. yaml_rs-0.0.1/python/yaml_rs/__init__.pyi +8 -0
  16. yaml_rs-0.0.1/python/yaml_rs/py.typed +0 -0
  17. yaml_rs-0.0.1/ruff.toml +32 -0
  18. yaml_rs-0.0.1/rumdl.toml +58 -0
  19. yaml_rs-0.0.1/rustfmt.toml +5 -0
  20. yaml_rs-0.0.1/src/lib.rs +33 -0
  21. yaml_rs-0.0.1/src/loads.rs +550 -0
  22. yaml_rs-0.0.1/tests/__init__.py +64 -0
  23. yaml_rs-0.0.1/tests/data/bench.yaml +163 -0
  24. yaml_rs-0.0.1/tests/data/yaml-test-suite/229Q.yaml +56 -0
  25. yaml_rs-0.0.1/tests/data/yaml-test-suite/236B.yaml +15 -0
  26. yaml_rs-0.0.1/tests/data/yaml-test-suite/26DV.yaml +82 -0
  27. yaml_rs-0.0.1/tests/data/yaml-test-suite/27NA.yaml +17 -0
  28. yaml_rs-0.0.1/tests/data/yaml-test-suite/2AUY.yaml +32 -0
  29. yaml_rs-0.0.1/tests/data/yaml-test-suite/2CMS.yaml +12 -0
  30. yaml_rs-0.0.1/tests/data/yaml-test-suite/2EBW.yaml +41 -0
  31. yaml_rs-0.0.1/tests/data/yaml-test-suite/2G84.yaml +38 -0
  32. yaml_rs-0.0.1/tests/data/yaml-test-suite/2JQS.yaml +18 -0
  33. yaml_rs-0.0.1/tests/data/yaml-test-suite/2LFX.yaml +22 -0
  34. yaml_rs-0.0.1/tests/data/yaml-test-suite/2SXE.yaml +27 -0
  35. yaml_rs-0.0.1/tests/data/yaml-test-suite/2XXW.yaml +36 -0
  36. yaml_rs-0.0.1/tests/data/yaml-test-suite/33X3.yaml +30 -0
  37. yaml_rs-0.0.1/tests/data/yaml-test-suite/35KP.yaml +44 -0
  38. yaml_rs-0.0.1/tests/data/yaml-test-suite/36F6.yaml +28 -0
  39. yaml_rs-0.0.1/tests/data/yaml-test-suite/3ALJ.yaml +28 -0
  40. yaml_rs-0.0.1/tests/data/yaml-test-suite/3GZX.yaml +31 -0
  41. yaml_rs-0.0.1/tests/data/yaml-test-suite/3HFZ.yaml +17 -0
  42. yaml_rs-0.0.1/tests/data/yaml-test-suite/3MYT.yaml +18 -0
  43. yaml_rs-0.0.1/tests/data/yaml-test-suite/3R3P.yaml +22 -0
  44. yaml_rs-0.0.1/tests/data/yaml-test-suite/3RLN.yaml +87 -0
  45. yaml_rs-0.0.1/tests/data/yaml-test-suite/3UYS.yaml +21 -0
  46. yaml_rs-0.0.1/tests/data/yaml-test-suite/4ABK.yaml +27 -0
  47. yaml_rs-0.0.1/tests/data/yaml-test-suite/4CQQ.yaml +30 -0
  48. yaml_rs-0.0.1/tests/data/yaml-test-suite/4EJS.yaml +15 -0
  49. yaml_rs-0.0.1/tests/data/yaml-test-suite/4FJ6.yaml +42 -0
  50. yaml_rs-0.0.1/tests/data/yaml-test-suite/4GC6.yaml +14 -0
  51. yaml_rs-0.0.1/tests/data/yaml-test-suite/4H7K.yaml +17 -0
  52. yaml_rs-0.0.1/tests/data/yaml-test-suite/4HVU.yaml +19 -0
  53. yaml_rs-0.0.1/tests/data/yaml-test-suite/4JVG.yaml +20 -0
  54. yaml_rs-0.0.1/tests/data/yaml-test-suite/4MUZ.yaml +56 -0
  55. yaml_rs-0.0.1/tests/data/yaml-test-suite/4Q9F.yaml +29 -0
  56. yaml_rs-0.0.1/tests/data/yaml-test-suite/4QFQ.yaml +44 -0
  57. yaml_rs-0.0.1/tests/data/yaml-test-suite/4RWC.yaml +27 -0
  58. yaml_rs-0.0.1/tests/data/yaml-test-suite/4UYU.yaml +14 -0
  59. yaml_rs-0.0.1/tests/data/yaml-test-suite/4V8U.yaml +17 -0
  60. yaml_rs-0.0.1/tests/data/yaml-test-suite/4WA9.yaml +40 -0
  61. yaml_rs-0.0.1/tests/data/yaml-test-suite/4ZYM.yaml +41 -0
  62. yaml_rs-0.0.1/tests/data/yaml-test-suite/52DL.yaml +17 -0
  63. yaml_rs-0.0.1/tests/data/yaml-test-suite/54T7.yaml +25 -0
  64. yaml_rs-0.0.1/tests/data/yaml-test-suite/55WF.yaml +11 -0
  65. yaml_rs-0.0.1/tests/data/yaml-test-suite/565N.yaml +36 -0
  66. yaml_rs-0.0.1/tests/data/yaml-test-suite/57H4.yaml +49 -0
  67. yaml_rs-0.0.1/tests/data/yaml-test-suite/58MP.yaml +21 -0
  68. yaml_rs-0.0.1/tests/data/yaml-test-suite/5BVJ.yaml +33 -0
  69. yaml_rs-0.0.1/tests/data/yaml-test-suite/5C5M.yaml +42 -0
  70. yaml_rs-0.0.1/tests/data/yaml-test-suite/5GBF.yaml +33 -0
  71. yaml_rs-0.0.1/tests/data/yaml-test-suite/5KJE.yaml +38 -0
  72. yaml_rs-0.0.1/tests/data/yaml-test-suite/5LLU.yaml +16 -0
  73. yaml_rs-0.0.1/tests/data/yaml-test-suite/5MUD.yaml +24 -0
  74. yaml_rs-0.0.1/tests/data/yaml-test-suite/5NYZ.yaml +22 -0
  75. yaml_rs-0.0.1/tests/data/yaml-test-suite/5T43.yaml +37 -0
  76. yaml_rs-0.0.1/tests/data/yaml-test-suite/5TRB.yaml +13 -0
  77. yaml_rs-0.0.1/tests/data/yaml-test-suite/5TYM.yaml +24 -0
  78. yaml_rs-0.0.1/tests/data/yaml-test-suite/5U3A.yaml +13 -0
  79. yaml_rs-0.0.1/tests/data/yaml-test-suite/5WE3.yaml +38 -0
  80. yaml_rs-0.0.1/tests/data/yaml-test-suite/62EZ.yaml +17 -0
  81. yaml_rs-0.0.1/tests/data/yaml-test-suite/652Z.yaml +31 -0
  82. yaml_rs-0.0.1/tests/data/yaml-test-suite/65WH.yaml +18 -0
  83. yaml_rs-0.0.1/tests/data/yaml-test-suite/6BCT.yaml +37 -0
  84. yaml_rs-0.0.1/tests/data/yaml-test-suite/6BFJ.yaml +28 -0
  85. yaml_rs-0.0.1/tests/data/yaml-test-suite/6CA3.yaml +18 -0
  86. yaml_rs-0.0.1/tests/data/yaml-test-suite/6CK3.yaml +26 -0
  87. yaml_rs-0.0.1/tests/data/yaml-test-suite/6FWR.yaml +27 -0
  88. yaml_rs-0.0.1/tests/data/yaml-test-suite/6H3V.yaml +21 -0
  89. yaml_rs-0.0.1/tests/data/yaml-test-suite/6HB6.yaml +55 -0
  90. yaml_rs-0.0.1/tests/data/yaml-test-suite/6JQW.yaml +21 -0
  91. yaml_rs-0.0.1/tests/data/yaml-test-suite/6JTT.yaml +17 -0
  92. yaml_rs-0.0.1/tests/data/yaml-test-suite/6JWB.yaml +38 -0
  93. yaml_rs-0.0.1/tests/data/yaml-test-suite/6KGN.yaml +28 -0
  94. yaml_rs-0.0.1/tests/data/yaml-test-suite/6LVF.yaml +18 -0
  95. yaml_rs-0.0.1/tests/data/yaml-test-suite/6M2F.yaml +22 -0
  96. yaml_rs-0.0.1/tests/data/yaml-test-suite/6PBE.yaml +33 -0
  97. yaml_rs-0.0.1/tests/data/yaml-test-suite/6S55.yaml +18 -0
  98. yaml_rs-0.0.1/tests/data/yaml-test-suite/6SLA.yaml +27 -0
  99. yaml_rs-0.0.1/tests/data/yaml-test-suite/6VJK.yaml +29 -0
  100. yaml_rs-0.0.1/tests/data/yaml-test-suite/6WLZ.yaml +35 -0
  101. yaml_rs-0.0.1/tests/data/yaml-test-suite/6WPF.yaml +25 -0
  102. yaml_rs-0.0.1/tests/data/yaml-test-suite/6XDY.yaml +22 -0
  103. yaml_rs-0.0.1/tests/data/yaml-test-suite/6ZKB.yaml +40 -0
  104. yaml_rs-0.0.1/tests/data/yaml-test-suite/735Y.yaml +38 -0
  105. yaml_rs-0.0.1/tests/data/yaml-test-suite/74H7.yaml +41 -0
  106. yaml_rs-0.0.1/tests/data/yaml-test-suite/753E.yaml +22 -0
  107. yaml_rs-0.0.1/tests/data/yaml-test-suite/7A4E.yaml +19 -0
  108. yaml_rs-0.0.1/tests/data/yaml-test-suite/7BMT.yaml +90 -0
  109. yaml_rs-0.0.1/tests/data/yaml-test-suite/7BUB.yaml +49 -0
  110. yaml_rs-0.0.1/tests/data/yaml-test-suite/7FWL.yaml +22 -0
  111. yaml_rs-0.0.1/tests/data/yaml-test-suite/7LBH.yaml +15 -0
  112. yaml_rs-0.0.1/tests/data/yaml-test-suite/7MNF.yaml +18 -0
  113. yaml_rs-0.0.1/tests/data/yaml-test-suite/7T8X.yaml +41 -0
  114. yaml_rs-0.0.1/tests/data/yaml-test-suite/7TMG.yaml +27 -0
  115. yaml_rs-0.0.1/tests/data/yaml-test-suite/7W2P.yaml +31 -0
  116. yaml_rs-0.0.1/tests/data/yaml-test-suite/7Z25.yaml +30 -0
  117. yaml_rs-0.0.1/tests/data/yaml-test-suite/7ZZ5.yaml +63 -0
  118. yaml_rs-0.0.1/tests/data/yaml-test-suite/82AN.yaml +17 -0
  119. yaml_rs-0.0.1/tests/data/yaml-test-suite/87E4.yaml +33 -0
  120. yaml_rs-0.0.1/tests/data/yaml-test-suite/8CWC.yaml +23 -0
  121. yaml_rs-0.0.1/tests/data/yaml-test-suite/8G76.yaml +14 -0
  122. yaml_rs-0.0.1/tests/data/yaml-test-suite/8KB6.yaml +45 -0
  123. yaml_rs-0.0.1/tests/data/yaml-test-suite/8MK2.yaml +14 -0
  124. yaml_rs-0.0.1/tests/data/yaml-test-suite/8QBE.yaml +31 -0
  125. yaml_rs-0.0.1/tests/data/yaml-test-suite/8UDB.yaml +48 -0
  126. yaml_rs-0.0.1/tests/data/yaml-test-suite/8XDJ.yaml +15 -0
  127. yaml_rs-0.0.1/tests/data/yaml-test-suite/8XYN.yaml +22 -0
  128. yaml_rs-0.0.1/tests/data/yaml-test-suite/93JH.yaml +40 -0
  129. yaml_rs-0.0.1/tests/data/yaml-test-suite/93WF.yaml +27 -0
  130. yaml_rs-0.0.1/tests/data/yaml-test-suite/96L6.yaml +20 -0
  131. yaml_rs-0.0.1/tests/data/yaml-test-suite/96NN.yaml +25 -0
  132. yaml_rs-0.0.1/tests/data/yaml-test-suite/98YD.yaml +11 -0
  133. yaml_rs-0.0.1/tests/data/yaml-test-suite/9BXH.yaml +45 -0
  134. yaml_rs-0.0.1/tests/data/yaml-test-suite/9C9N.yaml +17 -0
  135. yaml_rs-0.0.1/tests/data/yaml-test-suite/9CWY.yaml +19 -0
  136. yaml_rs-0.0.1/tests/data/yaml-test-suite/9DXL.yaml +45 -0
  137. yaml_rs-0.0.1/tests/data/yaml-test-suite/9FMG.yaml +45 -0
  138. yaml_rs-0.0.1/tests/data/yaml-test-suite/9HCY.yaml +14 -0
  139. yaml_rs-0.0.1/tests/data/yaml-test-suite/9J7A.yaml +25 -0
  140. yaml_rs-0.0.1/tests/data/yaml-test-suite/9JBA.yaml +16 -0
  141. yaml_rs-0.0.1/tests/data/yaml-test-suite/9KAX.yaml +104 -0
  142. yaml_rs-0.0.1/tests/data/yaml-test-suite/9KBC.yaml +11 -0
  143. yaml_rs-0.0.1/tests/data/yaml-test-suite/9MAG.yaml +12 -0
  144. yaml_rs-0.0.1/tests/data/yaml-test-suite/9MMA.yaml +9 -0
  145. yaml_rs-0.0.1/tests/data/yaml-test-suite/9MMW.yaml +41 -0
  146. yaml_rs-0.0.1/tests/data/yaml-test-suite/9MQT.yaml +31 -0
  147. yaml_rs-0.0.1/tests/data/yaml-test-suite/9SA2.yaml +37 -0
  148. yaml_rs-0.0.1/tests/data/yaml-test-suite/9SHH.yaml +23 -0
  149. yaml_rs-0.0.1/tests/data/yaml-test-suite/9TFX.yaml +22 -0
  150. yaml_rs-0.0.1/tests/data/yaml-test-suite/9U5K.yaml +61 -0
  151. yaml_rs-0.0.1/tests/data/yaml-test-suite/9WXW.yaml +28 -0
  152. yaml_rs-0.0.1/tests/data/yaml-test-suite/9YRD.yaml +23 -0
  153. yaml_rs-0.0.1/tests/data/yaml-test-suite/A2M4.yaml +39 -0
  154. yaml_rs-0.0.1/tests/data/yaml-test-suite/A6F9.yaml +37 -0
  155. yaml_rs-0.0.1/tests/data/yaml-test-suite/A984.yaml +29 -0
  156. yaml_rs-0.0.1/tests/data/yaml-test-suite/AB8U.yaml +21 -0
  157. yaml_rs-0.0.1/tests/data/yaml-test-suite/AVM7.yaml +10 -0
  158. yaml_rs-0.0.1/tests/data/yaml-test-suite/AZ63.yaml +31 -0
  159. yaml_rs-0.0.1/tests/data/yaml-test-suite/AZW3.yaml +31 -0
  160. yaml_rs-0.0.1/tests/data/yaml-test-suite/B3HG.yaml +24 -0
  161. yaml_rs-0.0.1/tests/data/yaml-test-suite/B63P.yaml +10 -0
  162. yaml_rs-0.0.1/tests/data/yaml-test-suite/BD7L.yaml +15 -0
  163. yaml_rs-0.0.1/tests/data/yaml-test-suite/BEC7.yaml +19 -0
  164. yaml_rs-0.0.1/tests/data/yaml-test-suite/BF9H.yaml +16 -0
  165. yaml_rs-0.0.1/tests/data/yaml-test-suite/BS4K.yaml +13 -0
  166. yaml_rs-0.0.1/tests/data/yaml-test-suite/BU8L.yaml +29 -0
  167. yaml_rs-0.0.1/tests/data/yaml-test-suite/C2DT.yaml +33 -0
  168. yaml_rs-0.0.1/tests/data/yaml-test-suite/C2SP.yaml +13 -0
  169. yaml_rs-0.0.1/tests/data/yaml-test-suite/C4HZ.yaml +100 -0
  170. yaml_rs-0.0.1/tests/data/yaml-test-suite/CC74.yaml +18 -0
  171. yaml_rs-0.0.1/tests/data/yaml-test-suite/CFD4.yaml +29 -0
  172. yaml_rs-0.0.1/tests/data/yaml-test-suite/CML9.yaml +16 -0
  173. yaml_rs-0.0.1/tests/data/yaml-test-suite/CN3R.yaml +56 -0
  174. yaml_rs-0.0.1/tests/data/yaml-test-suite/CPZ3.yaml +23 -0
  175. yaml_rs-0.0.1/tests/data/yaml-test-suite/CQ3W.yaml +13 -0
  176. yaml_rs-0.0.1/tests/data/yaml-test-suite/CT4Q.yaml +28 -0
  177. yaml_rs-0.0.1/tests/data/yaml-test-suite/CTN5.yaml +15 -0
  178. yaml_rs-0.0.1/tests/data/yaml-test-suite/CUP7.yaml +26 -0
  179. yaml_rs-0.0.1/tests/data/yaml-test-suite/CVW2.yaml +16 -0
  180. yaml_rs-0.0.1/tests/data/yaml-test-suite/CXX2.yaml +10 -0
  181. yaml_rs-0.0.1/tests/data/yaml-test-suite/D49Q.yaml +15 -0
  182. yaml_rs-0.0.1/tests/data/yaml-test-suite/D83L.yaml +28 -0
  183. yaml_rs-0.0.1/tests/data/yaml-test-suite/D88J.yaml +29 -0
  184. yaml_rs-0.0.1/tests/data/yaml-test-suite/D9TU.yaml +19 -0
  185. yaml_rs-0.0.1/tests/data/yaml-test-suite/DBG4.yaml +62 -0
  186. yaml_rs-0.0.1/tests/data/yaml-test-suite/DC7X.yaml +37 -0
  187. yaml_rs-0.0.1/tests/data/yaml-test-suite/DE56.yaml +87 -0
  188. yaml_rs-0.0.1/tests/data/yaml-test-suite/DFF7.yaml +27 -0
  189. yaml_rs-0.0.1/tests/data/yaml-test-suite/DHP8.yaml +26 -0
  190. yaml_rs-0.0.1/tests/data/yaml-test-suite/DK3J.yaml +20 -0
  191. yaml_rs-0.0.1/tests/data/yaml-test-suite/DK4H.yaml +14 -0
  192. yaml_rs-0.0.1/tests/data/yaml-test-suite/DK95.yaml +172 -0
  193. yaml_rs-0.0.1/tests/data/yaml-test-suite/DMG6.yaml +18 -0
  194. yaml_rs-0.0.1/tests/data/yaml-test-suite/DWX9.yaml +32 -0
  195. yaml_rs-0.0.1/tests/data/yaml-test-suite/E76Z.yaml +26 -0
  196. yaml_rs-0.0.1/tests/data/yaml-test-suite/EB22.yaml +16 -0
  197. yaml_rs-0.0.1/tests/data/yaml-test-suite/EHF6.yaml +33 -0
  198. yaml_rs-0.0.1/tests/data/yaml-test-suite/EW3V.yaml +13 -0
  199. yaml_rs-0.0.1/tests/data/yaml-test-suite/EX5H.yaml +28 -0
  200. yaml_rs-0.0.1/tests/data/yaml-test-suite/EXG3.yaml +20 -0
  201. yaml_rs-0.0.1/tests/data/yaml-test-suite/F2C7.yaml +32 -0
  202. yaml_rs-0.0.1/tests/data/yaml-test-suite/F3CP.yaml +47 -0
  203. yaml_rs-0.0.1/tests/data/yaml-test-suite/F6MC.yaml +40 -0
  204. yaml_rs-0.0.1/tests/data/yaml-test-suite/F8F9.yaml +52 -0
  205. yaml_rs-0.0.1/tests/data/yaml-test-suite/FBC9.yaml +37 -0
  206. yaml_rs-0.0.1/tests/data/yaml-test-suite/FH7J.yaml +33 -0
  207. yaml_rs-0.0.1/tests/data/yaml-test-suite/FP8R.yaml +20 -0
  208. yaml_rs-0.0.1/tests/data/yaml-test-suite/FQ7F.yaml +33 -0
  209. yaml_rs-0.0.1/tests/data/yaml-test-suite/FRK4.yaml +20 -0
  210. yaml_rs-0.0.1/tests/data/yaml-test-suite/FTA2.yaml +22 -0
  211. yaml_rs-0.0.1/tests/data/yaml-test-suite/FUP4.yaml +30 -0
  212. yaml_rs-0.0.1/tests/data/yaml-test-suite/G4RS.yaml +47 -0
  213. yaml_rs-0.0.1/tests/data/yaml-test-suite/G5U8.yaml +13 -0
  214. yaml_rs-0.0.1/tests/data/yaml-test-suite/G7JE.yaml +15 -0
  215. yaml_rs-0.0.1/tests/data/yaml-test-suite/G992.yaml +21 -0
  216. yaml_rs-0.0.1/tests/data/yaml-test-suite/G9HC.yaml +16 -0
  217. yaml_rs-0.0.1/tests/data/yaml-test-suite/GDY7.yaml +14 -0
  218. yaml_rs-0.0.1/tests/data/yaml-test-suite/GH63.yaml +27 -0
  219. yaml_rs-0.0.1/tests/data/yaml-test-suite/GT5M.yaml +14 -0
  220. yaml_rs-0.0.1/tests/data/yaml-test-suite/H2RW.yaml +51 -0
  221. yaml_rs-0.0.1/tests/data/yaml-test-suite/H3Z8.yaml +23 -0
  222. yaml_rs-0.0.1/tests/data/yaml-test-suite/H7J7.yaml +15 -0
  223. yaml_rs-0.0.1/tests/data/yaml-test-suite/H7TQ.yaml +10 -0
  224. yaml_rs-0.0.1/tests/data/yaml-test-suite/HM87.yaml +37 -0
  225. yaml_rs-0.0.1/tests/data/yaml-test-suite/HMK4.yaml +38 -0
  226. yaml_rs-0.0.1/tests/data/yaml-test-suite/HMQ5.yaml +27 -0
  227. yaml_rs-0.0.1/tests/data/yaml-test-suite/HRE5.yaml +13 -0
  228. yaml_rs-0.0.1/tests/data/yaml-test-suite/HS5T.yaml +21 -0
  229. yaml_rs-0.0.1/tests/data/yaml-test-suite/HU3P.yaml +14 -0
  230. yaml_rs-0.0.1/tests/data/yaml-test-suite/HWV9.yaml +11 -0
  231. yaml_rs-0.0.1/tests/data/yaml-test-suite/J3BT.yaml +33 -0
  232. yaml_rs-0.0.1/tests/data/yaml-test-suite/J5UC.yaml +27 -0
  233. yaml_rs-0.0.1/tests/data/yaml-test-suite/J7PZ.yaml +52 -0
  234. yaml_rs-0.0.1/tests/data/yaml-test-suite/J7VC.yaml +28 -0
  235. yaml_rs-0.0.1/tests/data/yaml-test-suite/J9HZ.yaml +49 -0
  236. yaml_rs-0.0.1/tests/data/yaml-test-suite/JEF9.yaml +53 -0
  237. yaml_rs-0.0.1/tests/data/yaml-test-suite/JHB9.yaml +49 -0
  238. yaml_rs-0.0.1/tests/data/yaml-test-suite/JKF3.yaml +13 -0
  239. yaml_rs-0.0.1/tests/data/yaml-test-suite/JQ4R.yaml +36 -0
  240. yaml_rs-0.0.1/tests/data/yaml-test-suite/JR7V.yaml +76 -0
  241. yaml_rs-0.0.1/tests/data/yaml-test-suite/JS2J.yaml +23 -0
  242. yaml_rs-0.0.1/tests/data/yaml-test-suite/JTV5.yaml +30 -0
  243. yaml_rs-0.0.1/tests/data/yaml-test-suite/JY7Z.yaml +17 -0
  244. yaml_rs-0.0.1/tests/data/yaml-test-suite/K3WX.yaml +24 -0
  245. yaml_rs-0.0.1/tests/data/yaml-test-suite/K4SU.yaml +24 -0
  246. yaml_rs-0.0.1/tests/data/yaml-test-suite/K527.yaml +27 -0
  247. yaml_rs-0.0.1/tests/data/yaml-test-suite/K54U.yaml +17 -0
  248. yaml_rs-0.0.1/tests/data/yaml-test-suite/K858.yaml +36 -0
  249. yaml_rs-0.0.1/tests/data/yaml-test-suite/KH5V.yaml +40 -0
  250. yaml_rs-0.0.1/tests/data/yaml-test-suite/KK5P.yaml +81 -0
  251. yaml_rs-0.0.1/tests/data/yaml-test-suite/KMK3.yaml +29 -0
  252. yaml_rs-0.0.1/tests/data/yaml-test-suite/KS4U.yaml +17 -0
  253. yaml_rs-0.0.1/tests/data/yaml-test-suite/KSS4.yaml +27 -0
  254. yaml_rs-0.0.1/tests/data/yaml-test-suite/L24T.yaml +45 -0
  255. yaml_rs-0.0.1/tests/data/yaml-test-suite/L383.yaml +22 -0
  256. yaml_rs-0.0.1/tests/data/yaml-test-suite/L94M.yaml +28 -0
  257. yaml_rs-0.0.1/tests/data/yaml-test-suite/L9U5.yaml +33 -0
  258. yaml_rs-0.0.1/tests/data/yaml-test-suite/LE5A.yaml +30 -0
  259. yaml_rs-0.0.1/tests/data/yaml-test-suite/LHL4.yaml +11 -0
  260. yaml_rs-0.0.1/tests/data/yaml-test-suite/LP6E.yaml +55 -0
  261. yaml_rs-0.0.1/tests/data/yaml-test-suite/LQZ7.yaml +33 -0
  262. yaml_rs-0.0.1/tests/data/yaml-test-suite/LX3P.yaml +20 -0
  263. yaml_rs-0.0.1/tests/data/yaml-test-suite/M29M.yaml +33 -0
  264. yaml_rs-0.0.1/tests/data/yaml-test-suite/M2N8.yaml +42 -0
  265. yaml_rs-0.0.1/tests/data/yaml-test-suite/M5C3.yaml +32 -0
  266. yaml_rs-0.0.1/tests/data/yaml-test-suite/M5DY.yaml +46 -0
  267. yaml_rs-0.0.1/tests/data/yaml-test-suite/M6YH.yaml +41 -0
  268. yaml_rs-0.0.1/tests/data/yaml-test-suite/M7A3.yaml +29 -0
  269. yaml_rs-0.0.1/tests/data/yaml-test-suite/M7NX.yaml +53 -0
  270. yaml_rs-0.0.1/tests/data/yaml-test-suite/M9B4.yaml +22 -0
  271. yaml_rs-0.0.1/tests/data/yaml-test-suite/MJS9.yaml +21 -0
  272. yaml_rs-0.0.1/tests/data/yaml-test-suite/MUS6.yaml +49 -0
  273. yaml_rs-0.0.1/tests/data/yaml-test-suite/MXS3.yaml +25 -0
  274. yaml_rs-0.0.1/tests/data/yaml-test-suite/MYW6.yaml +22 -0
  275. yaml_rs-0.0.1/tests/data/yaml-test-suite/MZX3.yaml +31 -0
  276. yaml_rs-0.0.1/tests/data/yaml-test-suite/N4JP.yaml +18 -0
  277. yaml_rs-0.0.1/tests/data/yaml-test-suite/N782.yaml +14 -0
  278. yaml_rs-0.0.1/tests/data/yaml-test-suite/NAT4.yaml +77 -0
  279. yaml_rs-0.0.1/tests/data/yaml-test-suite/NB6Z.yaml +27 -0
  280. yaml_rs-0.0.1/tests/data/yaml-test-suite/NHX8.yaml +19 -0
  281. yaml_rs-0.0.1/tests/data/yaml-test-suite/NJ66.yaml +37 -0
  282. yaml_rs-0.0.1/tests/data/yaml-test-suite/NKF9.yaml +60 -0
  283. yaml_rs-0.0.1/tests/data/yaml-test-suite/NP9H.yaml +20 -0
  284. yaml_rs-0.0.1/tests/data/yaml-test-suite/P2AD.yaml +42 -0
  285. yaml_rs-0.0.1/tests/data/yaml-test-suite/P2EQ.yaml +16 -0
  286. yaml_rs-0.0.1/tests/data/yaml-test-suite/P76L.yaml +18 -0
  287. yaml_rs-0.0.1/tests/data/yaml-test-suite/P94K.yaml +25 -0
  288. yaml_rs-0.0.1/tests/data/yaml-test-suite/PBJ2.yaml +54 -0
  289. yaml_rs-0.0.1/tests/data/yaml-test-suite/PRH3.yaml +25 -0
  290. yaml_rs-0.0.1/tests/data/yaml-test-suite/PUW8.yaml +30 -0
  291. yaml_rs-0.0.1/tests/data/yaml-test-suite/PW8X.yaml +52 -0
  292. yaml_rs-0.0.1/tests/data/yaml-test-suite/Q4CL.yaml +17 -0
  293. yaml_rs-0.0.1/tests/data/yaml-test-suite/Q5MG.yaml +17 -0
  294. yaml_rs-0.0.1/tests/data/yaml-test-suite/Q88A.yaml +48 -0
  295. yaml_rs-0.0.1/tests/data/yaml-test-suite/Q8AD.yaml +23 -0
  296. yaml_rs-0.0.1/tests/data/yaml-test-suite/Q9WF.yaml +35 -0
  297. yaml_rs-0.0.1/tests/data/yaml-test-suite/QB6E.yaml +15 -0
  298. yaml_rs-0.0.1/tests/data/yaml-test-suite/QF4Y.yaml +27 -0
  299. yaml_rs-0.0.1/tests/data/yaml-test-suite/QLJ7.yaml +22 -0
  300. yaml_rs-0.0.1/tests/data/yaml-test-suite/QT73.yaml +12 -0
  301. yaml_rs-0.0.1/tests/data/yaml-test-suite/R4YG.yaml +44 -0
  302. yaml_rs-0.0.1/tests/data/yaml-test-suite/R52L.yaml +43 -0
  303. yaml_rs-0.0.1/tests/data/yaml-test-suite/RHX7.yaml +16 -0
  304. yaml_rs-0.0.1/tests/data/yaml-test-suite/RLU9.yaml +38 -0
  305. yaml_rs-0.0.1/tests/data/yaml-test-suite/RR7F.yaml +27 -0
  306. yaml_rs-0.0.1/tests/data/yaml-test-suite/RTP8.yaml +20 -0
  307. yaml_rs-0.0.1/tests/data/yaml-test-suite/RXY3.yaml +13 -0
  308. yaml_rs-0.0.1/tests/data/yaml-test-suite/RZP5.yaml +58 -0
  309. yaml_rs-0.0.1/tests/data/yaml-test-suite/RZT7.yaml +133 -0
  310. yaml_rs-0.0.1/tests/data/yaml-test-suite/S3PD.yaml +29 -0
  311. yaml_rs-0.0.1/tests/data/yaml-test-suite/S4GJ.yaml +14 -0
  312. yaml_rs-0.0.1/tests/data/yaml-test-suite/S4JQ.yaml +29 -0
  313. yaml_rs-0.0.1/tests/data/yaml-test-suite/S4T7.yaml +20 -0
  314. yaml_rs-0.0.1/tests/data/yaml-test-suite/S7BG.yaml +22 -0
  315. yaml_rs-0.0.1/tests/data/yaml-test-suite/S98Z.yaml +16 -0
  316. yaml_rs-0.0.1/tests/data/yaml-test-suite/S9E8.yaml +49 -0
  317. yaml_rs-0.0.1/tests/data/yaml-test-suite/SBG9.yaml +30 -0
  318. yaml_rs-0.0.1/tests/data/yaml-test-suite/SF5V.yaml +11 -0
  319. yaml_rs-0.0.1/tests/data/yaml-test-suite/SKE5.yaml +34 -0
  320. yaml_rs-0.0.1/tests/data/yaml-test-suite/SM9W.yaml +34 -0
  321. yaml_rs-0.0.1/tests/data/yaml-test-suite/SR86.yaml +15 -0
  322. yaml_rs-0.0.1/tests/data/yaml-test-suite/SSW6.yaml +17 -0
  323. yaml_rs-0.0.1/tests/data/yaml-test-suite/SU5Z.yaml +13 -0
  324. yaml_rs-0.0.1/tests/data/yaml-test-suite/SU74.yaml +14 -0
  325. yaml_rs-0.0.1/tests/data/yaml-test-suite/SY6V.yaml +9 -0
  326. yaml_rs-0.0.1/tests/data/yaml-test-suite/SYW4.yaml +31 -0
  327. yaml_rs-0.0.1/tests/data/yaml-test-suite/T26H.yaml +32 -0
  328. yaml_rs-0.0.1/tests/data/yaml-test-suite/T4YY.yaml +26 -0
  329. yaml_rs-0.0.1/tests/data/yaml-test-suite/T5N4.yaml +24 -0
  330. yaml_rs-0.0.1/tests/data/yaml-test-suite/T833.yaml +15 -0
  331. yaml_rs-0.0.1/tests/data/yaml-test-suite/TD5N.yaml +15 -0
  332. yaml_rs-0.0.1/tests/data/yaml-test-suite/TE2A.yaml +28 -0
  333. yaml_rs-0.0.1/tests/data/yaml-test-suite/TL85.yaml +22 -0
  334. yaml_rs-0.0.1/tests/data/yaml-test-suite/TS54.yaml +29 -0
  335. yaml_rs-0.0.1/tests/data/yaml-test-suite/U3C3.yaml +18 -0
  336. yaml_rs-0.0.1/tests/data/yaml-test-suite/U3XV.yaml +92 -0
  337. yaml_rs-0.0.1/tests/data/yaml-test-suite/U44R.yaml +17 -0
  338. yaml_rs-0.0.1/tests/data/yaml-test-suite/U99R.yaml +11 -0
  339. yaml_rs-0.0.1/tests/data/yaml-test-suite/U9NS.yaml +49 -0
  340. yaml_rs-0.0.1/tests/data/yaml-test-suite/UDM2.yaml +25 -0
  341. yaml_rs-0.0.1/tests/data/yaml-test-suite/UDR7.yaml +44 -0
  342. yaml_rs-0.0.1/tests/data/yaml-test-suite/UGM3.yaml +163 -0
  343. yaml_rs-0.0.1/tests/data/yaml-test-suite/UKK6.yaml +43 -0
  344. yaml_rs-0.0.1/tests/data/yaml-test-suite/UT92.yaml +35 -0
  345. yaml_rs-0.0.1/tests/data/yaml-test-suite/UV7Q.yaml +28 -0
  346. yaml_rs-0.0.1/tests/data/yaml-test-suite/V55R.yaml +27 -0
  347. yaml_rs-0.0.1/tests/data/yaml-test-suite/V9D5.yaml +29 -0
  348. yaml_rs-0.0.1/tests/data/yaml-test-suite/VJP3.yaml +49 -0
  349. yaml_rs-0.0.1/tests/data/yaml-test-suite/W42U.yaml +47 -0
  350. yaml_rs-0.0.1/tests/data/yaml-test-suite/W4TN.yaml +31 -0
  351. yaml_rs-0.0.1/tests/data/yaml-test-suite/W5VH.yaml +23 -0
  352. yaml_rs-0.0.1/tests/data/yaml-test-suite/W9L4.yaml +16 -0
  353. yaml_rs-0.0.1/tests/data/yaml-test-suite/WZ62.yaml +28 -0
  354. yaml_rs-0.0.1/tests/data/yaml-test-suite/X38W.yaml +33 -0
  355. yaml_rs-0.0.1/tests/data/yaml-test-suite/X4QW.yaml +13 -0
  356. yaml_rs-0.0.1/tests/data/yaml-test-suite/X8DW.yaml +25 -0
  357. yaml_rs-0.0.1/tests/data/yaml-test-suite/XLQ9.yaml +19 -0
  358. yaml_rs-0.0.1/tests/data/yaml-test-suite/XV9V.yaml +33 -0
  359. yaml_rs-0.0.1/tests/data/yaml-test-suite/XW4D.yaml +59 -0
  360. yaml_rs-0.0.1/tests/data/yaml-test-suite/Y2GN.yaml +23 -0
  361. yaml_rs-0.0.1/tests/data/yaml-test-suite/Y79Y.yaml +119 -0
  362. yaml_rs-0.0.1/tests/data/yaml-test-suite/YD5X.yaml +58 -0
  363. yaml_rs-0.0.1/tests/data/yaml-test-suite/YJV2.yaml +11 -0
  364. yaml_rs-0.0.1/tests/data/yaml-test-suite/Z67P.yaml +30 -0
  365. yaml_rs-0.0.1/tests/data/yaml-test-suite/Z9M4.yaml +23 -0
  366. yaml_rs-0.0.1/tests/data/yaml-test-suite/ZCZ6.yaml +12 -0
  367. yaml_rs-0.0.1/tests/data/yaml-test-suite/ZF4X.yaml +49 -0
  368. yaml_rs-0.0.1/tests/data/yaml-test-suite/ZH7C.yaml +23 -0
  369. yaml_rs-0.0.1/tests/data/yaml-test-suite/ZK9H.yaml +37 -0
  370. yaml_rs-0.0.1/tests/data/yaml-test-suite/ZL4Z.yaml +14 -0
  371. yaml_rs-0.0.1/tests/data/yaml-test-suite/ZVH3.yaml +16 -0
  372. yaml_rs-0.0.1/tests/data/yaml-test-suite/ZWK4.yaml +33 -0
  373. yaml_rs-0.0.1/tests/data/yaml-test-suite/ZXT5.yaml +13 -0
  374. yaml_rs-0.0.1/tests/data/yaml-test-suite/ZYU8.yaml +32 -0
  375. yaml_rs-0.0.1/tests/test_loads.py +575 -0
@@ -0,0 +1,9 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ target-branch: main
8
+ cooldown:
9
+ default-days: 4
@@ -0,0 +1,335 @@
1
+ name: CI
2
+
3
+ permissions: { }
4
+
5
+ on:
6
+ push:
7
+ branches:
8
+ - main
9
+ tags:
10
+ - "*"
11
+ paths-ignore:
12
+ - "README.md"
13
+ pull_request:
14
+ paths-ignore:
15
+ - "README.md"
16
+ workflow_dispatch:
17
+
18
+ concurrency:
19
+ group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event.pull_request.number || github.sha }}
20
+ cancel-in-progress: true
21
+
22
+ jobs:
23
+ cargo-fmt:
24
+ name: "cargo fmt"
25
+ runs-on: ubuntu-latest
26
+ timeout-minutes: 5
27
+ steps:
28
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
29
+ with:
30
+ persist-credentials: false
31
+ - uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # v1
32
+ with:
33
+ toolchain: stable
34
+ components: rustfmt
35
+ - uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2.8.1
36
+ with:
37
+ lookup-only: true
38
+ - run: cargo fmt --all --check
39
+
40
+ cargo-clippy:
41
+ name: "cargo clippy"
42
+ runs-on: ubuntu-latest
43
+ timeout-minutes: 5
44
+ steps:
45
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
46
+ with:
47
+ persist-credentials: false
48
+ - uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # v1
49
+ with:
50
+ toolchain: stable
51
+ components: clippy
52
+ - uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2.8.1
53
+ with:
54
+ lookup-only: true
55
+ - run: cargo clippy --all-targets --all-features -- -D warnings -W clippy::style -D clippy::perf
56
+
57
+ tests:
58
+ name: "tests (python ${{ matrix.python-version }})"
59
+ runs-on: ubuntu-latest
60
+ timeout-minutes: 5
61
+ strategy:
62
+ matrix:
63
+ python-version:
64
+ - "3.10"
65
+ - "3.11"
66
+ - "3.12"
67
+ - "3.13"
68
+ - "3.14"
69
+ steps:
70
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
71
+ with:
72
+ persist-credentials: false
73
+ - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
74
+ with:
75
+ python-version: ${{ matrix.python-version }}
76
+ - name: Install uv
77
+ uses: astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41 # v7.1.2
78
+ with:
79
+ enable-cache: "auto" # zizmor: ignore[cache-poisoning]
80
+ - name: "Create and activate .venv"
81
+ shell: bash
82
+ run: |
83
+ uv venv .venv --python ${{ matrix.python-version }}
84
+ echo ".venv/bin" >> $GITHUB_PATH
85
+ - name: "Install dependencies"
86
+ run: |
87
+ uv pip install --group dev
88
+ - name: "Run zizmor"
89
+ run: |
90
+ zizmor .github/
91
+ - name: "Run maturin (--release)"
92
+ run: |
93
+ maturin develop --release
94
+ - name: "Run Ruff"
95
+ run: |
96
+ ruff check
97
+ - name: "Run typos"
98
+ run: |
99
+ typos python/ src/ README.md
100
+ - name: "Run rumdl"
101
+ run: |
102
+ rumdl check .
103
+ - name: "Run pytest"
104
+ run: |
105
+ pytest tests/
106
+
107
+ linux:
108
+ name: "linux (${{ matrix.platform.runner }} / ${{ matrix.platform.target }})"
109
+ needs: [ tests, cargo-fmt, cargo-clippy ]
110
+ runs-on: ${{ matrix.platform.runner }}
111
+ strategy:
112
+ matrix:
113
+ platform:
114
+ - {
115
+ runner: ubuntu-latest,
116
+ target: x86_64,
117
+ interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11",
118
+ maturin-args: "--release --out dist"
119
+ }
120
+ - {
121
+ runner: ubuntu-latest,
122
+ target: x86,
123
+ interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11",
124
+ maturin-args: "--release --out dist"
125
+ }
126
+ - {
127
+ runner: ubuntu-latest,
128
+ target: aarch64,
129
+ interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11",
130
+ maturin-args: "--release --out dist --zig"
131
+ }
132
+ - {
133
+ runner: ubuntu-latest,
134
+ target: armv7,
135
+ interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11",
136
+ maturin-args: "--release --out dist --no-default-features"
137
+ }
138
+ - {
139
+ runner: ubuntu-latest,
140
+ target: s390x,
141
+ interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11",
142
+ maturin-args: "--release --out dist --no-default-features"
143
+ }
144
+ - {
145
+ runner: ubuntu-latest,
146
+ target: ppc64le,
147
+ interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11",
148
+ maturin-args: "--release --out dist --no-default-features"
149
+ }
150
+ steps:
151
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
152
+ with:
153
+ persist-credentials: false
154
+ - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
155
+ with:
156
+ python-version: 3.x
157
+ - name: "Build wheels"
158
+ uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
159
+ with:
160
+ target: ${{ matrix.platform.target }}
161
+ args: ${{ matrix.platform.maturin-args }} --interpreter ${{ matrix.platform.interpreter }}
162
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} # zizmor: ignore[cache-poisoning]
163
+ manylinux: auto
164
+ - name: "Upload wheels"
165
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
166
+ with:
167
+ name: wheels-linux-${{ matrix.platform.target }}
168
+ path: dist
169
+
170
+ musllinux:
171
+ name: "musllinux (${{ matrix.platform.runner }} / ${{ matrix.platform.target }})"
172
+ needs: [ tests, cargo-fmt, cargo-clippy ]
173
+ runs-on: ${{ matrix.platform.runner }}
174
+ strategy:
175
+ matrix:
176
+ platform:
177
+ - {
178
+ runner: ubuntu-latest,
179
+ target: x86_64,
180
+ interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
181
+ }
182
+ - {
183
+ runner: ubuntu-latest,
184
+ target: x86,
185
+ interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
186
+ }
187
+ - {
188
+ runner: ubuntu-latest,
189
+ target: aarch64,
190
+ interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
191
+ }
192
+ - {
193
+ runner: ubuntu-latest,
194
+ target: armv7,
195
+ interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
196
+ }
197
+
198
+ steps:
199
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
200
+ with:
201
+ persist-credentials: false
202
+ - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
203
+ with:
204
+ python-version: 3.x
205
+ - name: "Build wheels"
206
+ uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
207
+ with:
208
+ target: ${{ matrix.platform.target }}
209
+ args: --release --out dist --interpreter ${{ matrix.platform.interpreter }}
210
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} # zizmor: ignore[cache-poisoning]
211
+ manylinux: musllinux_1_2
212
+ - name: "Upload wheels"
213
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
214
+ with:
215
+ name: wheels-musllinux-${{ matrix.platform.target }}
216
+ path: dist
217
+
218
+ windows:
219
+ name: "windows (${{ matrix.platform.runner }} / ${{ matrix.platform.target }})"
220
+ needs: [ tests, cargo-fmt, cargo-clippy ]
221
+ runs-on: ${{ matrix.platform.runner }}
222
+ strategy:
223
+ matrix:
224
+ platform:
225
+ - {
226
+ runner: windows-latest,
227
+ target: x64,
228
+ interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
229
+ }
230
+ - {
231
+ runner: windows-latest,
232
+ target: x86,
233
+ interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t"
234
+ }
235
+ steps:
236
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
237
+ with:
238
+ persist-credentials: false
239
+ - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
240
+ with:
241
+ python-version: 3.x
242
+ architecture: ${{ matrix.platform.target }}
243
+ - name: "Build wheels"
244
+ uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
245
+ with:
246
+ target: ${{ matrix.platform.target }}
247
+ args: --release --out dist --interpreter ${{ matrix.platform.interpreter }}
248
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} # zizmor: ignore[cache-poisoning]
249
+ - name: "Upload wheels"
250
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
251
+ with:
252
+ name: wheels-windows-${{ matrix.platform.target }}
253
+ path: dist
254
+
255
+ macos:
256
+ name: "macos (${{ matrix.platform.runner }} / ${{ matrix.platform.target }})"
257
+ needs: [ tests, cargo-fmt, cargo-clippy ]
258
+ runs-on: ${{ matrix.platform.runner }}
259
+ strategy:
260
+ matrix:
261
+ platform:
262
+ - {
263
+ runner: macos-13,
264
+ target: x86_64,
265
+ interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
266
+ }
267
+ - {
268
+ runner: macos-14,
269
+ target: aarch64,
270
+ interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
271
+ }
272
+ steps:
273
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
274
+ with:
275
+ persist-credentials: false
276
+ - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
277
+ with:
278
+ python-version: 3.x
279
+ - name: "Build wheels"
280
+ uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
281
+ with:
282
+ target: ${{ matrix.platform.target }}
283
+ args: --release --out dist --interpreter ${{ matrix.platform.interpreter }}
284
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} # zizmor: ignore[cache-poisoning]
285
+ - name: "Upload wheels"
286
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
287
+ with:
288
+ name: wheels-macos-${{ matrix.platform.target }}
289
+ path: dist
290
+
291
+ build-sdist:
292
+ name: "build sdist"
293
+ runs-on: ubuntu-latest
294
+ steps:
295
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
296
+ with:
297
+ persist-credentials: false
298
+ - name: "Build sdist"
299
+ uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
300
+ with:
301
+ command: sdist
302
+ args: --out dist
303
+ rust-toolchain: stable
304
+ - name: "Upload sdist"
305
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
306
+ with:
307
+ name: wheels-sdist
308
+ path: dist
309
+
310
+ release:
311
+ name: "Release"
312
+ runs-on: ubuntu-latest
313
+ if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
314
+ needs: [ linux, musllinux, windows, macos, build-sdist, tests, cargo-clippy, cargo-fmt ]
315
+ permissions:
316
+ # Use to sign the release artifacts
317
+ id-token: write
318
+ # Used to upload release artifacts
319
+ contents: write
320
+ # Used to generate artifact attestation
321
+ attestations: write
322
+ steps:
323
+ - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
324
+ - name: "Generate artifact attestation"
325
+ uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
326
+ with:
327
+ subject-path: "wheels-*/*"
328
+ - name: "Publish to PyPI"
329
+ if: ${{ startsWith(github.ref, 'refs/tags/') }}
330
+ uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
331
+ env:
332
+ MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
333
+ with:
334
+ command: upload
335
+ args: --non-interactive --skip-existing wheels-*/*
@@ -0,0 +1,4 @@
1
+ .venv/
2
+ venv/
3
+ target/
4
+ uv.lock
@@ -0,0 +1,329 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "arraydeque"
7
+ version = "0.5.1"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236"
10
+
11
+ [[package]]
12
+ name = "atoi"
13
+ version = "2.0.0"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528"
16
+ dependencies = [
17
+ "num-traits",
18
+ ]
19
+
20
+ [[package]]
21
+ name = "autocfg"
22
+ version = "1.5.0"
23
+ source = "registry+https://github.com/rust-lang/crates.io-index"
24
+ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
25
+
26
+ [[package]]
27
+ name = "cc"
28
+ version = "1.2.45"
29
+ source = "registry+https://github.com/rust-lang/crates.io-index"
30
+ checksum = "35900b6c8d709fb1d854671ae27aeaa9eec2f8b01b364e1619a40da3e6fe2afe"
31
+ dependencies = [
32
+ "find-msvc-tools",
33
+ "shlex",
34
+ ]
35
+
36
+ [[package]]
37
+ name = "cfg-if"
38
+ version = "1.0.4"
39
+ source = "registry+https://github.com/rust-lang/crates.io-index"
40
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
41
+
42
+ [[package]]
43
+ name = "encoding_rs"
44
+ version = "0.8.35"
45
+ source = "registry+https://github.com/rust-lang/crates.io-index"
46
+ checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
47
+ dependencies = [
48
+ "cfg-if",
49
+ ]
50
+
51
+ [[package]]
52
+ name = "find-msvc-tools"
53
+ version = "0.1.4"
54
+ source = "registry+https://github.com/rust-lang/crates.io-index"
55
+ checksum = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127"
56
+
57
+ [[package]]
58
+ name = "foldhash"
59
+ version = "0.1.5"
60
+ source = "registry+https://github.com/rust-lang/crates.io-index"
61
+ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
62
+
63
+ [[package]]
64
+ name = "hashbrown"
65
+ version = "0.15.5"
66
+ source = "registry+https://github.com/rust-lang/crates.io-index"
67
+ checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
68
+ dependencies = [
69
+ "foldhash",
70
+ ]
71
+
72
+ [[package]]
73
+ name = "hashlink"
74
+ version = "0.10.0"
75
+ source = "registry+https://github.com/rust-lang/crates.io-index"
76
+ checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1"
77
+ dependencies = [
78
+ "hashbrown",
79
+ ]
80
+
81
+ [[package]]
82
+ name = "heck"
83
+ version = "0.5.0"
84
+ source = "registry+https://github.com/rust-lang/crates.io-index"
85
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
86
+
87
+ [[package]]
88
+ name = "indoc"
89
+ version = "2.0.7"
90
+ source = "registry+https://github.com/rust-lang/crates.io-index"
91
+ checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
92
+ dependencies = [
93
+ "rustversion",
94
+ ]
95
+
96
+ [[package]]
97
+ name = "itoa"
98
+ version = "1.0.15"
99
+ source = "registry+https://github.com/rust-lang/crates.io-index"
100
+ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
101
+
102
+ [[package]]
103
+ name = "libc"
104
+ version = "0.2.177"
105
+ source = "registry+https://github.com/rust-lang/crates.io-index"
106
+ checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976"
107
+
108
+ [[package]]
109
+ name = "libmimalloc-sys"
110
+ version = "0.1.44"
111
+ source = "registry+https://github.com/rust-lang/crates.io-index"
112
+ checksum = "667f4fec20f29dfc6bc7357c582d91796c169ad7e2fce709468aefeb2c099870"
113
+ dependencies = [
114
+ "cc",
115
+ "libc",
116
+ ]
117
+
118
+ [[package]]
119
+ name = "memoffset"
120
+ version = "0.9.1"
121
+ source = "registry+https://github.com/rust-lang/crates.io-index"
122
+ checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
123
+ dependencies = [
124
+ "autocfg",
125
+ ]
126
+
127
+ [[package]]
128
+ name = "mimalloc"
129
+ version = "0.1.48"
130
+ source = "registry+https://github.com/rust-lang/crates.io-index"
131
+ checksum = "e1ee66a4b64c74f4ef288bcbb9192ad9c3feaad75193129ac8509af543894fd8"
132
+ dependencies = [
133
+ "libmimalloc-sys",
134
+ ]
135
+
136
+ [[package]]
137
+ name = "num-traits"
138
+ version = "0.2.19"
139
+ source = "registry+https://github.com/rust-lang/crates.io-index"
140
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
141
+ dependencies = [
142
+ "autocfg",
143
+ ]
144
+
145
+ [[package]]
146
+ name = "once_cell"
147
+ version = "1.21.3"
148
+ source = "registry+https://github.com/rust-lang/crates.io-index"
149
+ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
150
+
151
+ [[package]]
152
+ name = "ordered-float"
153
+ version = "5.1.0"
154
+ source = "registry+https://github.com/rust-lang/crates.io-index"
155
+ checksum = "7f4779c6901a562440c3786d08192c6fbda7c1c2060edd10006b05ee35d10f2d"
156
+ dependencies = [
157
+ "num-traits",
158
+ ]
159
+
160
+ [[package]]
161
+ name = "portable-atomic"
162
+ version = "1.11.1"
163
+ source = "registry+https://github.com/rust-lang/crates.io-index"
164
+ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
165
+
166
+ [[package]]
167
+ name = "proc-macro2"
168
+ version = "1.0.103"
169
+ source = "registry+https://github.com/rust-lang/crates.io-index"
170
+ checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8"
171
+ dependencies = [
172
+ "unicode-ident",
173
+ ]
174
+
175
+ [[package]]
176
+ name = "pyo3"
177
+ version = "0.27.1"
178
+ source = "registry+https://github.com/rust-lang/crates.io-index"
179
+ checksum = "37a6df7eab65fc7bee654a421404947e10a0f7085b6951bf2ea395f4659fb0cf"
180
+ dependencies = [
181
+ "indoc",
182
+ "libc",
183
+ "memoffset",
184
+ "once_cell",
185
+ "portable-atomic",
186
+ "pyo3-build-config",
187
+ "pyo3-ffi",
188
+ "pyo3-macros",
189
+ "unindent",
190
+ ]
191
+
192
+ [[package]]
193
+ name = "pyo3-build-config"
194
+ version = "0.27.1"
195
+ source = "registry+https://github.com/rust-lang/crates.io-index"
196
+ checksum = "f77d387774f6f6eec64a004eac0ed525aab7fa1966d94b42f743797b3e395afb"
197
+ dependencies = [
198
+ "python3-dll-a",
199
+ "target-lexicon",
200
+ ]
201
+
202
+ [[package]]
203
+ name = "pyo3-ffi"
204
+ version = "0.27.1"
205
+ source = "registry+https://github.com/rust-lang/crates.io-index"
206
+ checksum = "2dd13844a4242793e02df3e2ec093f540d948299a6a77ea9ce7afd8623f542be"
207
+ dependencies = [
208
+ "libc",
209
+ "pyo3-build-config",
210
+ ]
211
+
212
+ [[package]]
213
+ name = "pyo3-macros"
214
+ version = "0.27.1"
215
+ source = "registry+https://github.com/rust-lang/crates.io-index"
216
+ checksum = "eaf8f9f1108270b90d3676b8679586385430e5c0bb78bb5f043f95499c821a71"
217
+ dependencies = [
218
+ "proc-macro2",
219
+ "pyo3-macros-backend",
220
+ "quote",
221
+ "syn",
222
+ ]
223
+
224
+ [[package]]
225
+ name = "pyo3-macros-backend"
226
+ version = "0.27.1"
227
+ source = "registry+https://github.com/rust-lang/crates.io-index"
228
+ checksum = "70a3b2274450ba5288bc9b8c1b69ff569d1d61189d4bff38f8d22e03d17f932b"
229
+ dependencies = [
230
+ "heck",
231
+ "proc-macro2",
232
+ "pyo3-build-config",
233
+ "quote",
234
+ "syn",
235
+ ]
236
+
237
+ [[package]]
238
+ name = "python3-dll-a"
239
+ version = "0.2.14"
240
+ source = "registry+https://github.com/rust-lang/crates.io-index"
241
+ checksum = "d381ef313ae70b4da5f95f8a4de773c6aa5cd28f73adec4b4a31df70b66780d8"
242
+ dependencies = [
243
+ "cc",
244
+ ]
245
+
246
+ [[package]]
247
+ name = "quote"
248
+ version = "1.0.42"
249
+ source = "registry+https://github.com/rust-lang/crates.io-index"
250
+ checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f"
251
+ dependencies = [
252
+ "proc-macro2",
253
+ ]
254
+
255
+ [[package]]
256
+ name = "rustversion"
257
+ version = "1.0.22"
258
+ source = "registry+https://github.com/rust-lang/crates.io-index"
259
+ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
260
+
261
+ [[package]]
262
+ name = "saphyr"
263
+ version = "0.0.6"
264
+ source = "registry+https://github.com/rust-lang/crates.io-index"
265
+ checksum = "f3767dfe8889ebb55a21409df2b6f36e66abfbe1eb92d64ff76ae799d3f91016"
266
+ dependencies = [
267
+ "arraydeque",
268
+ "encoding_rs",
269
+ "hashlink",
270
+ "ordered-float",
271
+ "saphyr-parser",
272
+ ]
273
+
274
+ [[package]]
275
+ name = "saphyr-parser"
276
+ version = "0.0.6"
277
+ source = "registry+https://github.com/rust-lang/crates.io-index"
278
+ checksum = "4fb771b59f6b1985d1406325ec28f97cfb14256abcec4fdfb37b36a1766d6af7"
279
+ dependencies = [
280
+ "arraydeque",
281
+ "hashlink",
282
+ ]
283
+
284
+ [[package]]
285
+ name = "shlex"
286
+ version = "1.3.0"
287
+ source = "registry+https://github.com/rust-lang/crates.io-index"
288
+ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
289
+
290
+ [[package]]
291
+ name = "syn"
292
+ version = "2.0.109"
293
+ source = "registry+https://github.com/rust-lang/crates.io-index"
294
+ checksum = "2f17c7e013e88258aa9543dcbe81aca68a667a9ac37cd69c9fbc07858bfe0e2f"
295
+ dependencies = [
296
+ "proc-macro2",
297
+ "quote",
298
+ "unicode-ident",
299
+ ]
300
+
301
+ [[package]]
302
+ name = "target-lexicon"
303
+ version = "0.13.3"
304
+ source = "registry+https://github.com/rust-lang/crates.io-index"
305
+ checksum = "df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c"
306
+
307
+ [[package]]
308
+ name = "unicode-ident"
309
+ version = "1.0.22"
310
+ source = "registry+https://github.com/rust-lang/crates.io-index"
311
+ checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
312
+
313
+ [[package]]
314
+ name = "unindent"
315
+ version = "0.2.4"
316
+ source = "registry+https://github.com/rust-lang/crates.io-index"
317
+ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
318
+
319
+ [[package]]
320
+ name = "yaml-rs"
321
+ version = "0.0.1"
322
+ dependencies = [
323
+ "atoi",
324
+ "itoa",
325
+ "mimalloc",
326
+ "pyo3",
327
+ "saphyr",
328
+ "saphyr-parser",
329
+ ]