onnxscript 0.6.3.dev20260305__tar.gz → 0.6.3.dev20260306__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 (196) hide show
  1. {onnxscript-0.6.3.dev20260305/onnxscript.egg-info → onnxscript-0.6.3.dev20260306}/PKG-INFO +2 -2
  2. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_internal/builder.py +143 -50
  3. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_types.py +3 -3
  4. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306/onnxscript.egg-info}/PKG-INFO +2 -2
  5. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/LICENSE +0 -0
  6. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/MANIFEST.in +0 -0
  7. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/README.md +0 -0
  8. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/VERSION +0 -0
  9. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/__init__.py +0 -0
  10. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_framework_apis/__init__.py +0 -0
  11. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_framework_apis/torch_2_11.py +0 -0
  12. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_framework_apis/torch_2_5.py +0 -0
  13. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_framework_apis/torch_2_6.py +0 -0
  14. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_framework_apis/torch_2_7.py +0 -0
  15. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_framework_apis/torch_2_8.py +0 -0
  16. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_framework_apis/torch_2_9.py +0 -0
  17. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_internal/__init__.py +0 -0
  18. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_internal/_inference.py +0 -0
  19. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_internal/_inliner.py +0 -0
  20. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_internal/analysis.py +0 -0
  21. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_internal/ast_utils.py +0 -0
  22. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_internal/autocast.py +0 -0
  23. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_internal/converter.py +0 -0
  24. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_internal/deprecation.py +0 -0
  25. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_internal/evaluator.py +0 -0
  26. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_internal/irbuilder.py +0 -0
  27. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_internal/main.py +0 -0
  28. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_internal/param_manipulation.py +0 -0
  29. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_internal/sourceinfo.py +0 -0
  30. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_internal/type_annotation.py +0 -0
  31. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_internal/utils.py +0 -0
  32. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_internal/values.py +0 -0
  33. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/_internal/version_utils.py +0 -0
  34. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/backend/__init__.py +0 -0
  35. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/backend/onnx_backend.py +0 -0
  36. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/backend/onnx_export.py +0 -0
  37. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/evaluator.py +0 -0
  38. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/tools/torch_lib/deduce_type_constraints.py +0 -0
  39. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/tools/torch_lib/generate_aten_signatures.py +0 -0
  40. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/tools/torch_lib/generate_prims_signatures.py +0 -0
  41. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/torch_lib/__init__.py +0 -0
  42. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/torch_lib/_constants.py +0 -0
  43. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/torch_lib/_flags.py +0 -0
  44. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/torch_lib/graph_building/__init__.py +0 -0
  45. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/torch_lib/ops/__init__.py +0 -0
  46. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/torch_lib/ops/common.py +0 -0
  47. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/torch_lib/ops/core.py +0 -0
  48. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/torch_lib/ops/fft.py +0 -0
  49. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/torch_lib/ops/linalg.py +0 -0
  50. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/torch_lib/ops/nested.py +0 -0
  51. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/torch_lib/ops/nn.py +0 -0
  52. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/torch_lib/ops/prims.py +0 -0
  53. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/torch_lib/ops/quantized_decomposed.py +0 -0
  54. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/torch_lib/ops/sparse.py +0 -0
  55. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/torch_lib/ops/special.py +0 -0
  56. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/torch_lib/ops/vision.py +0 -0
  57. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/torch_lib/registration.py +0 -0
  58. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/function_libs/torch_lib/tensor_typing.py +0 -0
  59. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/ir/__init__.py +0 -0
  60. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/ir/_schemas.py +0 -0
  61. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/ir/_tape.py +0 -0
  62. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/ir/convenience.py +0 -0
  63. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/ir/passes/__init__.py +0 -0
  64. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/ir/passes/common/__init__.py +0 -0
  65. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/nn/__init__.py +0 -0
  66. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/nn/_module.py +0 -0
  67. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/nn/_module_list.py +0 -0
  68. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/nn/_parameter.py +0 -0
  69. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/nn/_sequential.py +0 -0
  70. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/__init__.py +0 -0
  71. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset1.py +0 -0
  72. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset10.py +0 -0
  73. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset11.py +0 -0
  74. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset12.py +0 -0
  75. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset13.py +0 -0
  76. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset14.py +0 -0
  77. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset15.py +0 -0
  78. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset16.py +0 -0
  79. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset17.py +0 -0
  80. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset18.py +0 -0
  81. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset19.py +0 -0
  82. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset2.py +0 -0
  83. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset20.py +0 -0
  84. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset21.py +0 -0
  85. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset22.py +0 -0
  86. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset23.py +0 -0
  87. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset24.py +0 -0
  88. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset3.py +0 -0
  89. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset4.py +0 -0
  90. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset5.py +0 -0
  91. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset6.py +0 -0
  92. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset7.py +0 -0
  93. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset8.py +0 -0
  94. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset9.py +0 -0
  95. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset_ai_onnx_ml1.py +0 -0
  96. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset_ai_onnx_ml2.py +0 -0
  97. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset_ai_onnx_ml3.py +0 -0
  98. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset_ai_onnx_ml4.py +0 -0
  99. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/onnx_opset/_impl/opset_ai_onnx_ml5.py +0 -0
  100. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/optimizer/__init__.py +0 -0
  101. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/optimizer/_constant_folding.py +0 -0
  102. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/optimizer/_optimizer.py +0 -0
  103. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/py.typed +0 -0
  104. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/__init__.py +0 -0
  105. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/_basics.py +0 -0
  106. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/_fusion_utils.py +0 -0
  107. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/_ir_utils.py +0 -0
  108. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/_matcher.py +0 -0
  109. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/_pattern_ir.py +0 -0
  110. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/_rewrite_rule.py +0 -0
  111. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/models/_bart_encoder.py +0 -0
  112. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/models/_phi2lm.py +0 -0
  113. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/models/_phi4lm.py +0 -0
  114. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/models/_rotary_embedding_models.py +0 -0
  115. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/models/_smollm_1.py +0 -0
  116. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/models/_smollm_2.py +0 -0
  117. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/models/_test_models.py +0 -0
  118. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/models/_whisper_decoder.py +0 -0
  119. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/models/_whisper_encoder.py +0 -0
  120. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/onnx_fusions/__init__.py +0 -0
  121. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/onnx_fusions/_onnx_fusions.py +0 -0
  122. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/onnxruntime/__init__.py +0 -0
  123. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/onnxruntime/bfloat16_utils/bfloat16_converter.py +0 -0
  124. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/__init__.py +0 -0
  125. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/_core.py +0 -0
  126. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/_test_utils.py +0 -0
  127. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/attention.py +0 -0
  128. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/bias_gelu.py +0 -0
  129. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/cos_sin_cache.py +0 -0
  130. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/erfgelu.py +0 -0
  131. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/fused_matmul_rule_sets.py +0 -0
  132. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/gelu.py +0 -0
  133. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/gqa.py +0 -0
  134. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/gqa_packed_qkv.py +0 -0
  135. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/group_normalization_merge_silu.py +0 -0
  136. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/instance_to_group_normalization.py +0 -0
  137. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/mha.py +0 -0
  138. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/mha_bias.py +0 -0
  139. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/mha_scale.py +0 -0
  140. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/rms_normalization.py +0 -0
  141. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/rotary_embedding.py +0 -0
  142. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/sdpa.py +0 -0
  143. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/sdpa_via_mha.py +0 -0
  144. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/shape_optimization.py +0 -0
  145. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/skip_normalization.py +0 -0
  146. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/ort_fusions/softmax.py +0 -0
  147. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/pattern.py +0 -0
  148. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/__init__.py +0 -0
  149. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/common/__init__.py +0 -0
  150. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/common/_basic_rules.py +0 -0
  151. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/common/_broadcast_to_matmul.py +0 -0
  152. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/common/_cast_constant_of_shape.py +0 -0
  153. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/common/_collapse_slices.py +0 -0
  154. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/common/_fuse_batchnorm.py +0 -0
  155. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/common/_fuse_conv_affine.py +0 -0
  156. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/common/_fuse_hardswish.py +0 -0
  157. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/common/_fuse_pad_into_conv.py +0 -0
  158. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/common/_fuse_relus_clips.py +0 -0
  159. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/common/_gemm_to_matmul_add.py +0 -0
  160. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/common/_matmul_add_to_gemm.py +0 -0
  161. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/common/_min_max_to_clip.py +0 -0
  162. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/common/_no_op.py +0 -0
  163. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/common/_redundant_scatter_nd.py +0 -0
  164. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/common/_remove_optional_bias.py +0 -0
  165. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/fusion/__init__.py +0 -0
  166. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/fusion/_gqa.py +0 -0
  167. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/fusion/_layer_norm.py +0 -0
  168. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/fusion/_rms_normalization.py +0 -0
  169. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/rules/fusion/_rotary_embedding.py +0 -0
  170. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/rewriter/testing.py +0 -0
  171. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/tensor.py +0 -0
  172. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/testing/__init__.py +0 -0
  173. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/tools/__init__.py +0 -0
  174. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/tools/memory_peak.py +0 -0
  175. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/tools/transformers_models/__init__.py +0 -0
  176. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/tools/transformers_models/llama.py +0 -0
  177. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/tools/transformers_models/mistral.py +0 -0
  178. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/tools/transformers_models/phi.py +0 -0
  179. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/tools/transformers_models/phi3.py +0 -0
  180. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/utils/__init__.py +0 -0
  181. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/utils/evaluation_utils.py +0 -0
  182. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/utils/metadata_merger.py +0 -0
  183. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/utils/replace.py +0 -0
  184. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/utils/timing_utils.py +0 -0
  185. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/utils/utils.py +0 -0
  186. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/values.py +0 -0
  187. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/version_converter/__init__.py +0 -0
  188. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/version_converter/_c_api_utils.py +0 -0
  189. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript/version_converter/_version_converter.py +0 -0
  190. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript.egg-info/SOURCES.txt +0 -0
  191. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript.egg-info/dependency_links.txt +0 -0
  192. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript.egg-info/requires.txt +0 -0
  193. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/onnxscript.egg-info/top_level.txt +0 -0
  194. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/pyproject.toml +0 -0
  195. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/setup.cfg +0 -0
  196. {onnxscript-0.6.3.dev20260305 → onnxscript-0.6.3.dev20260306}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: onnxscript
3
- Version: 0.6.3.dev20260305
3
+ Version: 0.6.3.dev20260306
4
4
  Summary: Naturally author ONNX functions and models using a subset of Python
5
5
  Author-email: Microsoft Corporation <onnx@microsoft.com>
6
6
  License: MIT License
@@ -27,7 +27,7 @@ License: MIT License
27
27
 
28
28
  Project-URL: Homepage, https://microsoft.github.io/onnxscript/
29
29
  Project-URL: Repository, https://github.com/microsoft/onnxscript
30
- Project-URL: Commit, https://github.com/microsoft/onnxscript/tree/3f5a3c317ae8e3932f8a141aca0ad43b03b60340
30
+ Project-URL: Commit, https://github.com/microsoft/onnxscript/tree/bab4f287f69cd423aea822c5ed1bad943bd5cf9c
31
31
  Classifier: Development Status :: 4 - Beta
32
32
  Classifier: Environment :: Console
33
33
  Classifier: Intended Audience :: Developers
@@ -10,7 +10,7 @@ creation. The OpBuilder class provides dynamic op dispatching via attribute acce
10
10
 
11
11
  from __future__ import annotations
12
12
 
13
- from typing import Any, Callable, Sequence, Union
13
+ from typing import Any, Callable, Mapping, Sequence, Union
14
14
 
15
15
  import onnx
16
16
  import onnx_ir as ir
@@ -74,31 +74,135 @@ def _constant_name(
74
74
  return f"const_1d_{num}"
75
75
 
76
76
 
77
- # Type accepted as an element of *input_types* / *output_types* by
77
+ # Type accepted as an element of *inputs* / *outputs* by
78
78
  # :meth:`GraphBuilder.subgraph`. Can be an already-resolved
79
79
  # :class:`ir.TypeAndShape`, or a
80
80
  # :class:`~onnxscript.onnx_types.TensorType` subclass such as ``FLOAT[1024]``.
81
81
  TypeSpec = Union[ir.TypeAndShape, Any]
82
82
 
83
+ # Acceptable collection forms for *inputs* / *outputs* in
84
+ # :meth:`GraphBuilder.subgraph`. A :class:`Sequence` of :data:`TypeSpec`
85
+ # auto-names entries (``input_0``, ``input_1``, …), while a :class:`Mapping`
86
+ # from :class:`str` to :data:`TypeSpec` uses the keys as explicit names.
87
+ InputOutputSpec = Union[Sequence[TypeSpec], Mapping[str, TypeSpec]]
88
+
83
89
 
84
90
  def _resolve_type_spec(spec: TypeSpec) -> ir.TypeAndShape:
85
91
  """Convert a *TypeSpec* to an :class:`ir.TypeAndShape`.
86
92
 
87
- Accepts either an :class:`ir.TypeAndShape` directly, or a
88
- :class:`~onnxscript.onnx_types.TensorType` subclass (e.g. ``FLOAT[1024]``
89
- or ``FLOAT['M', 'N']``).
93
+ Accepts an :class:`ir.TypeAndShape` directly, or any object with a
94
+ ``to_ir_type_and_shape()`` method (e.g. a
95
+ :class:`~onnxscript.onnx_types.TensorType` subclass such as
96
+ ``FLOAT[1024]`` or ``FLOAT['M', 'N']``).
90
97
  """
91
- # Lazy import to avoid a circular dependency: onnxscript.__init__ imports
92
- # onnx_types (line ~106) before builder (line ~132), so by the time any
93
- # call reaches here the module is fully initialised — but a top-level
94
- # import in builder.py could break if builder is ever imported first.
95
- from onnxscript.onnx_types import TensorType # pylint: disable=import-outside-toplevel
96
-
97
98
  if isinstance(spec, ir.TypeAndShape):
98
99
  return spec
99
- if isinstance(spec, type) and issubclass(spec, TensorType):
100
- return spec.to_ir()
101
- raise TypeError(f"Expected ir.TypeAndShape or a TensorType subclass, got {type(spec)!r}.")
100
+ if hasattr(spec, "to_ir_type_and_shape"):
101
+ result = spec.to_ir_type_and_shape()
102
+ if not isinstance(result, ir.TypeAndShape):
103
+ raise TypeError(
104
+ f"{type(spec)!r}.to_ir_type_and_shape() returned {type(result)!r}, "
105
+ f"expected ir.TypeAndShape."
106
+ )
107
+ return result
108
+ raise TypeError(
109
+ f"Expected ir.TypeAndShape or an object with a to_ir_type_and_shape() method, "
110
+ f"got {type(spec)!r}."
111
+ )
112
+
113
+
114
+ def _normalize_io_spec(
115
+ spec: InputOutputSpec, default_prefix: str
116
+ ) -> list[tuple[str, ir.TypeAndShape]]:
117
+ """Normalize an *InputOutputSpec* into a list of ``(name, TypeAndShape)`` pairs.
118
+
119
+ When *spec* is a :class:`Mapping`, the keys are used as names. When it is
120
+ a plain :class:`Sequence`, names are generated as
121
+ ``{default_prefix}_0``, ``{default_prefix}_1``, etc.
122
+ """
123
+ if isinstance(spec, Mapping):
124
+ return [(name, _resolve_type_spec(ts)) for name, ts in spec.items()]
125
+ return [(f"{default_prefix}_{i}", _resolve_type_spec(ts)) for i, ts in enumerate(spec)]
126
+
127
+
128
+ def build_graph(
129
+ trace_function: Callable,
130
+ inputs: InputOutputSpec,
131
+ outputs: InputOutputSpec,
132
+ *,
133
+ opset_imports: dict[str, int] | None = None,
134
+ name: str = "subgraph",
135
+ ) -> ir.Graph:
136
+ """Build an :class:`ir.Graph` suitable for use as a graph-valued attribute.
137
+
138
+ This is a module-level utility that constructs a subgraph by tracing
139
+ *trace_function*. It is useful for building body graphs of control-flow ops
140
+ such as ``Scan``, ``Loop``, and ``If``.
141
+
142
+ Example - building a Scan body that adds two sequences element-wise::
143
+
144
+ body = build_graph(
145
+ lambda op, x, y: op.Add(x, y),
146
+ inputs={"x": FLOAT[...], "y": FLOAT[...]},
147
+ outputs={"sum": FLOAT[...]},
148
+ )
149
+
150
+ Args:
151
+ trace_function: A callable with signature
152
+ ``(op: OpBuilder, *inputs: ir.Value) -> ir.Value | Sequence[ir.Value]``.
153
+ It is called once with freshly created placeholder inputs to record the
154
+ graph topology.
155
+ inputs: Types (and optionally names) for each graph input. May be a
156
+ :class:`Sequence` of :data:`TypeSpec` values (names are auto-generated
157
+ as ``input_0``, ``input_1``, …) **or** a :class:`Mapping` from
158
+ :class:`str` names to :data:`TypeSpec` values. Each :data:`TypeSpec`
159
+ can be an :class:`ir.TypeAndShape` or a
160
+ :class:`~onnxscript.onnx_types.TensorType` subclass (e.g.
161
+ ``FLOAT[1024]`` or ``FLOAT['M', 'N']``).
162
+ outputs: Types (and optionally names) for each graph output, in the
163
+ same format as *inputs*.
164
+ opset_imports: Opset version map for the subgraph (e.g.
165
+ ``{"": 23}``). Defaults to ``{"": 23}`` when *None*.
166
+ name: Name of the resulting :class:`ir.Graph`.
167
+
168
+ Returns:
169
+ An :class:`ir.Graph` whose inputs and outputs are populated and whose
170
+ nodes record the operations traced by *trace_function*. This graph can be
171
+ passed directly as a graph-valued attribute (e.g. the ``body`` attribute of
172
+ a ``Scan`` or ``Loop`` node).
173
+ """
174
+ if opset_imports is None:
175
+ opset_imports = {"": 23}
176
+ resolved_inputs = _normalize_io_spec(inputs, "input")
177
+ resolved_outputs = _normalize_io_spec(outputs, "output")
178
+
179
+ subgraph = ir.Graph(
180
+ name=name,
181
+ inputs=[],
182
+ outputs=[],
183
+ nodes=[],
184
+ opset_imports=opset_imports,
185
+ )
186
+
187
+ for input_name, ts in resolved_inputs:
188
+ subgraph.inputs.append(ir.Value(name=input_name, type=ts.type, shape=ts.shape))
189
+
190
+ sub_builder = GraphBuilder(subgraph)
191
+ trace_outputs = trace_function(sub_builder.op, *subgraph.inputs)
192
+ if not isinstance(trace_outputs, Sequence):
193
+ trace_outputs = [trace_outputs]
194
+ if len(trace_outputs) != len(resolved_outputs):
195
+ raise ValueError(
196
+ f"trace_function returned {len(trace_outputs)} output(s), "
197
+ f"but {len(resolved_outputs)} were declared in outputs."
198
+ )
199
+ for output, (output_name, ts) in zip(trace_outputs, resolved_outputs):
200
+ output.name = output_name
201
+ output.type = ts.type
202
+ output.merge_shapes(ts.shape)
203
+
204
+ subgraph.outputs.extend(trace_outputs)
205
+ return subgraph
102
206
 
103
207
 
104
208
  class GraphBuilder:
@@ -332,8 +436,8 @@ class GraphBuilder:
332
436
  def subgraph(
333
437
  self,
334
438
  trace_function: Callable,
335
- input_types: Sequence[TypeSpec],
336
- output_types: Sequence[TypeSpec],
439
+ inputs: InputOutputSpec,
440
+ outputs: InputOutputSpec,
337
441
  *,
338
442
  name: str = "subgraph",
339
443
  ) -> ir.Graph:
@@ -347,8 +451,17 @@ class GraphBuilder:
347
451
 
348
452
  body = graph_builder.subgraph(
349
453
  lambda op, x, y: op.Add(x, y),
350
- input_types=[FLOAT[...], FLOAT[...]],
351
- output_types=[FLOAT[...]],
454
+ inputs=[FLOAT[...], FLOAT[...]],
455
+ outputs=[FLOAT[...]],
456
+ )
457
+
458
+ Inputs and outputs can also be given as a :class:`dict` to assign
459
+ explicit names::
460
+
461
+ body = graph_builder.subgraph(
462
+ lambda op, x, y: op.Add(x, y),
463
+ inputs={"x": FLOAT[...], "y": FLOAT[...]},
464
+ outputs={"sum": FLOAT[...]},
352
465
  )
353
466
 
354
467
  Args:
@@ -356,12 +469,15 @@ class GraphBuilder:
356
469
  ``(op: OpBuilder, *inputs: ir.Value) -> ir.Value | Sequence[ir.Value]``.
357
470
  It is called once with freshly created placeholder inputs to record the
358
471
  graph topology.
359
- input_types: Types for each graph input. Each element may be an
360
- :class:`ir.TypeAndShape` **or** a
472
+ inputs: Types (and optionally names) for each graph input. May be a
473
+ :class:`Sequence` of :data:`TypeSpec` values (names are auto-generated
474
+ as ``input_0``, ``input_1``, …) **or** a :class:`Mapping` from
475
+ :class:`str` names to :data:`TypeSpec` values. Each :data:`TypeSpec`
476
+ can be an :class:`ir.TypeAndShape` or a
361
477
  :class:`~onnxscript.onnx_types.TensorType` subclass (e.g.
362
478
  ``FLOAT[1024]`` or ``FLOAT['M', 'N']``).
363
- output_types: Types for each graph output, in the same format as
364
- *input_types*.
479
+ outputs: Types (and optionally names) for each graph output, in the
480
+ same format as *inputs*.
365
481
  name: Name of the resulting :class:`ir.Graph`.
366
482
 
367
483
  Returns:
@@ -370,37 +486,14 @@ class GraphBuilder:
370
486
  passed directly as a graph-valued attribute (e.g. the ``body`` attribute of
371
487
  a ``Scan`` or ``Loop`` node).
372
488
  """
373
- opset_version = self._graph.opset_imports[""]
374
- resolved_inputs = [_resolve_type_spec(t) for t in input_types]
375
- resolved_outputs = [_resolve_type_spec(t) for t in output_types]
376
-
377
- subgraph = ir.Graph(
489
+ return build_graph(
490
+ trace_function,
491
+ inputs,
492
+ outputs,
493
+ opset_imports=dict(self._graph.opset_imports),
378
494
  name=name,
379
- inputs=[],
380
- outputs=[],
381
- nodes=[],
382
- opset_imports={"": opset_version},
383
495
  )
384
496
 
385
- for i, ts in enumerate(resolved_inputs):
386
- subgraph.inputs.append(ir.Value(name=f"input_{i}", type=ts.type, shape=ts.shape))
387
-
388
- sub_builder = GraphBuilder(subgraph)
389
- outputs = trace_function(sub_builder.op, *subgraph.inputs)
390
- if not isinstance(outputs, Sequence):
391
- outputs = [outputs]
392
- if len(outputs) != len(resolved_outputs):
393
- raise ValueError(
394
- f"trace_function returned {len(outputs)} output(s), "
395
- f"but {len(resolved_outputs)} were declared in output_types."
396
- )
397
- for output, ts in zip(outputs, resolved_outputs):
398
- output.type = ts.type
399
- output.merge_shapes(ts.shape)
400
-
401
- subgraph.outputs.extend(outputs)
402
- return subgraph
403
-
404
497
  def call_op(
405
498
  self,
406
499
  op_type: str,
@@ -100,13 +100,13 @@ class TensorType(abc.ABC):
100
100
  return onnx.helper.make_tensor_type_proto(cls.dtype, shape) # noqa: TID251
101
101
 
102
102
  @classmethod
103
- def to_ir(cls) -> ir.TypeAndShape:
103
+ def to_ir_type_and_shape(cls) -> ir.TypeAndShape:
104
104
  """Return an :class:`ir.TypeAndShape` representing this tensor type and shape.
105
105
 
106
106
  This enables using ONNX Script tensor-type notation (e.g. ``FLOAT[1024]``
107
107
  or ``FLOAT['M', 'N']``) wherever an :class:`ir.TypeAndShape` is expected,
108
- such as the *input_types* / *output_types* arguments of
109
- :func:`onnxscript._internal.builder.build_subgraph`.
108
+ such as the *inputs* / *outputs* arguments of
109
+ :func:`onnxscript._internal.builder.build_graph`.
110
110
  """
111
111
  ir_type = ir.TensorType(cls.dtype)
112
112
  if cls.shape is None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: onnxscript
3
- Version: 0.6.3.dev20260305
3
+ Version: 0.6.3.dev20260306
4
4
  Summary: Naturally author ONNX functions and models using a subset of Python
5
5
  Author-email: Microsoft Corporation <onnx@microsoft.com>
6
6
  License: MIT License
@@ -27,7 +27,7 @@ License: MIT License
27
27
 
28
28
  Project-URL: Homepage, https://microsoft.github.io/onnxscript/
29
29
  Project-URL: Repository, https://github.com/microsoft/onnxscript
30
- Project-URL: Commit, https://github.com/microsoft/onnxscript/tree/3f5a3c317ae8e3932f8a141aca0ad43b03b60340
30
+ Project-URL: Commit, https://github.com/microsoft/onnxscript/tree/bab4f287f69cd423aea822c5ed1bad943bd5cf9c
31
31
  Classifier: Development Status :: 4 - Beta
32
32
  Classifier: Environment :: Console
33
33
  Classifier: Intended Audience :: Developers