kirin-toolchain 0.13.0__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- kirin_toolchain-0.13.0/.github/dependabot.yml +7 -0
- kirin_toolchain-0.13.0/.github/workflows/ci.yml +77 -0
- kirin_toolchain-0.13.0/.github/workflows/devdoc.yml +48 -0
- kirin_toolchain-0.13.0/.github/workflows/doc.yml +44 -0
- kirin_toolchain-0.13.0/.github/workflows/isort.yml +18 -0
- kirin_toolchain-0.13.0/.github/workflows/lint.yml +21 -0
- kirin_toolchain-0.13.0/.github/workflows/pub_doc.yml +53 -0
- kirin_toolchain-0.13.0/.github/workflows/release.yml +90 -0
- kirin_toolchain-0.13.0/.gitignore +189 -0
- kirin_toolchain-0.13.0/.pre-commit-config.yaml +24 -0
- kirin_toolchain-0.13.0/LICENSE +234 -0
- kirin_toolchain-0.13.0/PKG-INFO +42 -0
- kirin_toolchain-0.13.0/README.md +30 -0
- kirin_toolchain-0.13.0/docs/101.md +33 -0
- kirin_toolchain-0.13.0/docs/analysis.md +106 -0
- kirin_toolchain-0.13.0/docs/assets/favicon.ico +0 -0
- kirin_toolchain-0.13.0/docs/assets/food-printing.png +0 -0
- kirin_toolchain-0.13.0/docs/assets/logo-black-horizontal.svg +47 -0
- kirin_toolchain-0.13.0/docs/assets/logo-small-black.svg +40 -0
- kirin_toolchain-0.13.0/docs/assets/logo-small-white.svg +47 -0
- kirin_toolchain-0.13.0/docs/assets/logo-white-horizontal.svg +54 -0
- kirin_toolchain-0.13.0/docs/blog/.authors.yml +6 -0
- kirin_toolchain-0.13.0/docs/blog/index.md +1 -0
- kirin_toolchain-0.13.0/docs/blog/posts/2024-nov-11-mission.md +197 -0
- kirin_toolchain-0.13.0/docs/blog/posts/typeinfer-basic.png +0 -0
- kirin_toolchain-0.13.0/docs/codegen.md +4 -0
- kirin_toolchain-0.13.0/docs/comparison.md +4 -0
- kirin_toolchain-0.13.0/docs/contrib.md +60 -0
- kirin_toolchain-0.13.0/docs/cookbook/foodlang/analysis.md +337 -0
- kirin_toolchain-0.13.0/docs/cookbook/foodlang/cf_rewrite.md +138 -0
- kirin_toolchain-0.13.0/docs/cookbook/foodlang/codegen.md +136 -0
- kirin_toolchain-0.13.0/docs/cookbook/index.md +15 -0
- kirin_toolchain-0.13.0/docs/def.md +300 -0
- kirin_toolchain-0.13.0/docs/dialects/cf.md +125 -0
- kirin_toolchain-0.13.0/docs/dialects/func.md +94 -0
- kirin_toolchain-0.13.0/docs/dialects/ilist.md +89 -0
- kirin_toolchain-0.13.0/docs/dialects/python/core.md +95 -0
- kirin_toolchain-0.13.0/docs/dialects/python/data.md +32 -0
- kirin_toolchain-0.13.0/docs/dialects/python/index.md +10 -0
- kirin_toolchain-0.13.0/docs/dialects/python/sfunc.md +61 -0
- kirin_toolchain-0.13.0/docs/dialects/python/sugar.md +30 -0
- kirin_toolchain-0.13.0/docs/dialects/scf.md +125 -0
- kirin_toolchain-0.13.0/docs/index.md +332 -0
- kirin_toolchain-0.13.0/docs/install.md +77 -0
- kirin_toolchain-0.13.0/docs/interp.md +162 -0
- kirin_toolchain-0.13.0/docs/scripts/gen_ref_nav.py +46 -0
- kirin_toolchain-0.13.0/docs/stylesheets/extra.css +22 -0
- kirin_toolchain-0.13.0/example/food/attrs.py +13 -0
- kirin_toolchain-0.13.0/example/food/dialect.py +3 -0
- kirin_toolchain-0.13.0/example/food/emit.py +94 -0
- kirin_toolchain-0.13.0/example/food/group.py +23 -0
- kirin_toolchain-0.13.0/example/food/interp.py +46 -0
- kirin_toolchain-0.13.0/example/food/lattice.py +96 -0
- kirin_toolchain-0.13.0/example/food/recept.py +127 -0
- kirin_toolchain-0.13.0/example/food/rewrite.py +43 -0
- kirin_toolchain-0.13.0/example/food/script.py +112 -0
- kirin_toolchain-0.13.0/example/food/stmts.py +43 -0
- kirin_toolchain-0.13.0/example/simple.py +34 -0
- kirin_toolchain-0.13.0/justfile +22 -0
- kirin_toolchain-0.13.0/mkdocs.yml +172 -0
- kirin_toolchain-0.13.0/pyproject.toml +93 -0
- kirin_toolchain-0.13.0/scripts/griffe_ext.py +258 -0
- kirin_toolchain-0.13.0/scripts/release.py +111 -0
- kirin_toolchain-0.13.0/src/kirin/__init__.py +7 -0
- kirin_toolchain-0.13.0/src/kirin/analysis/__init__.py +24 -0
- kirin_toolchain-0.13.0/src/kirin/analysis/callgraph.py +61 -0
- kirin_toolchain-0.13.0/src/kirin/analysis/cfg.py +112 -0
- kirin_toolchain-0.13.0/src/kirin/analysis/const/__init__.py +20 -0
- kirin_toolchain-0.13.0/src/kirin/analysis/const/_visitor.py +2 -0
- kirin_toolchain-0.13.0/src/kirin/analysis/const/_visitor.pyi +8 -0
- kirin_toolchain-0.13.0/src/kirin/analysis/const/lattice.py +219 -0
- kirin_toolchain-0.13.0/src/kirin/analysis/const/prop.py +116 -0
- kirin_toolchain-0.13.0/src/kirin/analysis/forward.py +100 -0
- kirin_toolchain-0.13.0/src/kirin/analysis/typeinfer/__init__.py +5 -0
- kirin_toolchain-0.13.0/src/kirin/analysis/typeinfer/analysis.py +90 -0
- kirin_toolchain-0.13.0/src/kirin/analysis/typeinfer/solve.py +141 -0
- kirin_toolchain-0.13.0/src/kirin/decl/__init__.py +108 -0
- kirin_toolchain-0.13.0/src/kirin/decl/base.py +65 -0
- kirin_toolchain-0.13.0/src/kirin/decl/camel2snake.py +2 -0
- kirin_toolchain-0.13.0/src/kirin/decl/emit/__init__.py +0 -0
- kirin_toolchain-0.13.0/src/kirin/decl/emit/_create_fn.py +29 -0
- kirin_toolchain-0.13.0/src/kirin/decl/emit/_set_new_attribute.py +22 -0
- kirin_toolchain-0.13.0/src/kirin/decl/emit/dialect.py +8 -0
- kirin_toolchain-0.13.0/src/kirin/decl/emit/init.py +277 -0
- kirin_toolchain-0.13.0/src/kirin/decl/emit/name.py +10 -0
- kirin_toolchain-0.13.0/src/kirin/decl/emit/property.py +182 -0
- kirin_toolchain-0.13.0/src/kirin/decl/emit/repr.py +31 -0
- kirin_toolchain-0.13.0/src/kirin/decl/emit/traits.py +13 -0
- kirin_toolchain-0.13.0/src/kirin/decl/emit/typecheck.py +77 -0
- kirin_toolchain-0.13.0/src/kirin/decl/emit/verify.py +51 -0
- kirin_toolchain-0.13.0/src/kirin/decl/info.py +346 -0
- kirin_toolchain-0.13.0/src/kirin/decl/scan_fields.py +157 -0
- kirin_toolchain-0.13.0/src/kirin/decl/verify.py +69 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/__init__.py +14 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/_pprint_helper.py +53 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/cf/__init__.py +20 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/cf/constprop.py +51 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/cf/dialect.py +3 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/cf/emit.py +58 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/cf/interp.py +24 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/cf/stmts.py +68 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/cf/typeinfer.py +27 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/eltype.py +23 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/func/__init__.py +20 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/func/attrs.py +39 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/func/constprop.py +138 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/func/dialect.py +3 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/func/emit.py +80 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/func/interp.py +68 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/func/stmts.py +233 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/func/typeinfer.py +124 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/ilist/__init__.py +33 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/ilist/_dialect.py +3 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/ilist/_wrapper.py +51 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/ilist/interp.py +85 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/ilist/lowering.py +25 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/ilist/passes.py +32 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/ilist/rewrite/__init__.py +3 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/ilist/rewrite/const.py +45 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/ilist/rewrite/list.py +38 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/ilist/rewrite/unroll.py +131 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/ilist/runtime.py +63 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/ilist/stmts.py +102 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/ilist/typeinfer.py +120 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/lowering/__init__.py +7 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/lowering/call.py +48 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/lowering/cf.py +206 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/lowering/func.py +134 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/math/__init__.py +41 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/math/_gen.py +176 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/math/dialect.py +3 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/math/interp.py +190 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/math/stmts.py +369 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/module.py +139 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/__init__.py +40 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/assertion.py +91 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/assign.py +103 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/attr.py +59 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/base.py +34 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/binop/__init__.py +23 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/binop/_dialect.py +3 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/binop/interp.py +60 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/binop/julia.py +33 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/binop/lowering.py +22 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/binop/stmts.py +79 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/binop/typeinfer.py +108 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/boolop.py +84 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/builtin.py +78 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/cmp/__init__.py +16 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/cmp/_dialect.py +3 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/cmp/interp.py +48 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/cmp/julia.py +33 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/cmp/lowering.py +45 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/cmp/stmts.py +62 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/constant.py +79 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/indexing.py +251 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/iterable.py +90 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/len.py +57 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/list/__init__.py +15 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/list/_dialect.py +3 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/list/interp.py +21 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/list/lowering.py +25 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/list/stmts.py +22 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/list/typeinfer.py +54 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/range.py +76 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/slice.py +120 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/tuple.py +109 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/unary/__init__.py +24 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/unary/_dialect.py +3 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/unary/constprop.py +20 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/unary/interp.py +24 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/unary/julia.py +21 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/unary/lowering.py +22 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/unary/stmts.py +33 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/unary/typeinfer.py +23 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/py/unpack.py +90 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/scf/__init__.py +23 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/scf/_dialect.py +3 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/scf/absint.py +64 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/scf/constprop.py +140 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/scf/interp.py +35 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/scf/lowering.py +123 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/scf/stmts.py +250 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/scf/trim.py +36 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/scf/typeinfer.py +58 -0
- kirin_toolchain-0.13.0/src/kirin/dialects/scf/unroll.py +92 -0
- kirin_toolchain-0.13.0/src/kirin/emit/__init__.py +3 -0
- kirin_toolchain-0.13.0/src/kirin/emit/abc.py +89 -0
- kirin_toolchain-0.13.0/src/kirin/emit/abc.pyi +38 -0
- kirin_toolchain-0.13.0/src/kirin/emit/exceptions.py +5 -0
- kirin_toolchain-0.13.0/src/kirin/emit/julia.py +63 -0
- kirin_toolchain-0.13.0/src/kirin/emit/str.py +51 -0
- kirin_toolchain-0.13.0/src/kirin/exceptions.py +59 -0
- kirin_toolchain-0.13.0/src/kirin/graph.py +34 -0
- kirin_toolchain-0.13.0/src/kirin/idtable.py +57 -0
- kirin_toolchain-0.13.0/src/kirin/interp/__init__.py +39 -0
- kirin_toolchain-0.13.0/src/kirin/interp/abstract.py +253 -0
- kirin_toolchain-0.13.0/src/kirin/interp/base.py +438 -0
- kirin_toolchain-0.13.0/src/kirin/interp/concrete.py +62 -0
- kirin_toolchain-0.13.0/src/kirin/interp/exceptions.py +26 -0
- kirin_toolchain-0.13.0/src/kirin/interp/frame.py +151 -0
- kirin_toolchain-0.13.0/src/kirin/interp/impl.py +197 -0
- kirin_toolchain-0.13.0/src/kirin/interp/result.py +93 -0
- kirin_toolchain-0.13.0/src/kirin/interp/state.py +71 -0
- kirin_toolchain-0.13.0/src/kirin/interp/table.py +40 -0
- kirin_toolchain-0.13.0/src/kirin/interp/value.py +73 -0
- kirin_toolchain-0.13.0/src/kirin/ir/__init__.py +46 -0
- kirin_toolchain-0.13.0/src/kirin/ir/attrs/__init__.py +20 -0
- kirin_toolchain-0.13.0/src/kirin/ir/attrs/_types.py +8 -0
- kirin_toolchain-0.13.0/src/kirin/ir/attrs/_types.pyi +13 -0
- kirin_toolchain-0.13.0/src/kirin/ir/attrs/abc.py +46 -0
- kirin_toolchain-0.13.0/src/kirin/ir/attrs/py.py +45 -0
- kirin_toolchain-0.13.0/src/kirin/ir/attrs/types.py +522 -0
- kirin_toolchain-0.13.0/src/kirin/ir/dialect.py +125 -0
- kirin_toolchain-0.13.0/src/kirin/ir/group.py +249 -0
- kirin_toolchain-0.13.0/src/kirin/ir/method.py +118 -0
- kirin_toolchain-0.13.0/src/kirin/ir/nodes/__init__.py +7 -0
- kirin_toolchain-0.13.0/src/kirin/ir/nodes/base.py +149 -0
- kirin_toolchain-0.13.0/src/kirin/ir/nodes/block.py +458 -0
- kirin_toolchain-0.13.0/src/kirin/ir/nodes/region.py +337 -0
- kirin_toolchain-0.13.0/src/kirin/ir/nodes/stmt.py +713 -0
- kirin_toolchain-0.13.0/src/kirin/ir/nodes/view.py +142 -0
- kirin_toolchain-0.13.0/src/kirin/ir/ssa.py +204 -0
- kirin_toolchain-0.13.0/src/kirin/ir/traits/__init__.py +36 -0
- kirin_toolchain-0.13.0/src/kirin/ir/traits/abc.py +42 -0
- kirin_toolchain-0.13.0/src/kirin/ir/traits/basic.py +78 -0
- kirin_toolchain-0.13.0/src/kirin/ir/traits/callable.py +51 -0
- kirin_toolchain-0.13.0/src/kirin/ir/traits/lowering/__init__.py +2 -0
- kirin_toolchain-0.13.0/src/kirin/ir/traits/lowering/call.py +37 -0
- kirin_toolchain-0.13.0/src/kirin/ir/traits/lowering/context.py +120 -0
- kirin_toolchain-0.13.0/src/kirin/ir/traits/region/__init__.py +2 -0
- kirin_toolchain-0.13.0/src/kirin/ir/traits/region/ssacfg.py +22 -0
- kirin_toolchain-0.13.0/src/kirin/ir/traits/symbol.py +57 -0
- kirin_toolchain-0.13.0/src/kirin/ir/use.py +17 -0
- kirin_toolchain-0.13.0/src/kirin/lattice/__init__.py +13 -0
- kirin_toolchain-0.13.0/src/kirin/lattice/abc.py +128 -0
- kirin_toolchain-0.13.0/src/kirin/lattice/empty.py +25 -0
- kirin_toolchain-0.13.0/src/kirin/lattice/mixin.py +51 -0
- kirin_toolchain-0.13.0/src/kirin/lowering/__init__.py +7 -0
- kirin_toolchain-0.13.0/src/kirin/lowering/binding.py +65 -0
- kirin_toolchain-0.13.0/src/kirin/lowering/core.py +72 -0
- kirin_toolchain-0.13.0/src/kirin/lowering/dialect.py +35 -0
- kirin_toolchain-0.13.0/src/kirin/lowering/dialect.pyi +183 -0
- kirin_toolchain-0.13.0/src/kirin/lowering/frame.py +171 -0
- kirin_toolchain-0.13.0/src/kirin/lowering/result.py +68 -0
- kirin_toolchain-0.13.0/src/kirin/lowering/state.py +441 -0
- kirin_toolchain-0.13.0/src/kirin/lowering/stream.py +53 -0
- kirin_toolchain-0.13.0/src/kirin/passes/__init__.py +3 -0
- kirin_toolchain-0.13.0/src/kirin/passes/abc.py +44 -0
- kirin_toolchain-0.13.0/src/kirin/passes/aggressive/__init__.py +1 -0
- kirin_toolchain-0.13.0/src/kirin/passes/aggressive/fold.py +43 -0
- kirin_toolchain-0.13.0/src/kirin/passes/fold.py +45 -0
- kirin_toolchain-0.13.0/src/kirin/passes/inline.py +25 -0
- kirin_toolchain-0.13.0/src/kirin/passes/typeinfer.py +25 -0
- kirin_toolchain-0.13.0/src/kirin/prelude.py +197 -0
- kirin_toolchain-0.13.0/src/kirin/print/__init__.py +15 -0
- kirin_toolchain-0.13.0/src/kirin/print/printable.py +141 -0
- kirin_toolchain-0.13.0/src/kirin/print/printer.py +415 -0
- kirin_toolchain-0.13.0/src/kirin/py.typed +0 -0
- kirin_toolchain-0.13.0/src/kirin/registry.py +105 -0
- kirin_toolchain-0.13.0/src/kirin/registry.pyi +52 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/__init__.py +14 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/abc.py +43 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/aggressive/__init__.py +1 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/aggressive/fold.py +43 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/alias.py +16 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/apply_type.py +47 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/call2invoke.py +34 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/chain.py +39 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/compactify.py +288 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/cse.py +48 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/dce.py +19 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/fixpoint.py +34 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/fold.py +57 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/getfield.py +21 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/getitem.py +37 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/inline.py +143 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/result.py +15 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/walk.py +83 -0
- kirin_toolchain-0.13.0/src/kirin/rewrite/wrap_const.py +55 -0
- kirin_toolchain-0.13.0/src/kirin/source.py +21 -0
- kirin_toolchain-0.13.0/src/kirin/symbol_table.py +27 -0
- kirin_toolchain-0.13.0/src/kirin/types.py +34 -0
- kirin_toolchain-0.13.0/src/kirin/worklist.py +30 -0
- kirin_toolchain-0.13.0/test/analysis/dataflow/test_cfg.py +36 -0
- kirin_toolchain-0.13.0/test/analysis/dataflow/test_constprop.py +333 -0
- kirin_toolchain-0.13.0/test/analysis/dataflow/test_non_pure_const.py +42 -0
- kirin_toolchain-0.13.0/test/analysis/dataflow/typeinfer/test_inter_method.py +30 -0
- kirin_toolchain-0.13.0/test/analysis/dataflow/typeinfer/test_unstable.py +36 -0
- kirin_toolchain-0.13.0/test/analysis/test_callgraph.py +36 -0
- kirin_toolchain-0.13.0/test/dialects/__init__.py +0 -0
- kirin_toolchain-0.13.0/test/dialects/math/__init__.py +0 -0
- kirin_toolchain-0.13.0/test/dialects/math/test_basic.py +366 -0
- kirin_toolchain-0.13.0/test/dialects/pyrules/__init__.py +0 -0
- kirin_toolchain-0.13.0/test/dialects/pyrules/test_getitem.py +57 -0
- kirin_toolchain-0.13.0/test/dialects/pystmts/__init__.py +0 -0
- kirin_toolchain-0.13.0/test/dialects/pystmts/test_coll_add.py +18 -0
- kirin_toolchain-0.13.0/test/dialects/pystmts/test_getattr.py +22 -0
- kirin_toolchain-0.13.0/test/dialects/pystmts/test_getitem.py +80 -0
- kirin_toolchain-0.13.0/test/dialects/pystmts/test_range.py +38 -0
- kirin_toolchain-0.13.0/test/dialects/pystmts/test_slice.py +46 -0
- kirin_toolchain-0.13.0/test/dialects/scf/__init__.py +0 -0
- kirin_toolchain-0.13.0/test/dialects/scf/test_constprop.py +102 -0
- kirin_toolchain-0.13.0/test/dialects/scf/test_fold.py +19 -0
- kirin_toolchain-0.13.0/test/dialects/scf/test_for.py +62 -0
- kirin_toolchain-0.13.0/test/dialects/scf/test_ifelse.py +45 -0
- kirin_toolchain-0.13.0/test/dialects/scf/test_typeinfer.py +29 -0
- kirin_toolchain-0.13.0/test/dialects/scf/test_unroll.py +27 -0
- kirin_toolchain-0.13.0/test/dialects/test_dummy.py +32 -0
- kirin_toolchain-0.13.0/test/dialects/test_ilist.py +169 -0
- kirin_toolchain-0.13.0/test/dialects/test_ilist2list.py +30 -0
- kirin_toolchain-0.13.0/test/dialects/test_ilist_wrapper.py +77 -0
- kirin_toolchain-0.13.0/test/dialects/test_numpy.py +18 -0
- kirin_toolchain-0.13.0/test/dialects/test_pytypes.py +113 -0
- kirin_toolchain-0.13.0/test/emit/__init__.py +0 -0
- kirin_toolchain-0.13.0/test/emit/test_julia.py +73 -0
- kirin_toolchain-0.13.0/test/interp/test_func.py +90 -0
- kirin_toolchain-0.13.0/test/interp/test_select.py +46 -0
- kirin_toolchain-0.13.0/test/ir/test_duplicated.py +18 -0
- kirin_toolchain-0.13.0/test/ir/test_group.py +47 -0
- kirin_toolchain-0.13.0/test/ir/test_isequal.py +28 -0
- kirin_toolchain-0.13.0/test/ir/test_region.py +15 -0
- kirin_toolchain-0.13.0/test/ir/test_stmt.py +41 -0
- kirin_toolchain-0.13.0/test/lowering/__init__.py +0 -0
- kirin_toolchain-0.13.0/test/lowering/test_binding.py +17 -0
- kirin_toolchain-0.13.0/test/lowering/test_closure.py +61 -0
- kirin_toolchain-0.13.0/test/lowering/test_for.py +90 -0
- kirin_toolchain-0.13.0/test/lowering/test_func.py +106 -0
- kirin_toolchain-0.13.0/test/lowering/test_ifelse.py +115 -0
- kirin_toolchain-0.13.0/test/lowering/test_list.py +23 -0
- kirin_toolchain-0.13.0/test/lowering/test_with.py +38 -0
- kirin_toolchain-0.13.0/test/passes/__init__.py +0 -0
- kirin_toolchain-0.13.0/test/passes/test_inline_pass.py +42 -0
- kirin_toolchain-0.13.0/test/print/__init__.py +0 -0
- kirin_toolchain-0.13.0/test/print/test_basic.py +95 -0
- kirin_toolchain-0.13.0/test/program/py/aha/__init__.py +0 -0
- kirin_toolchain-0.13.0/test/program/py/aha/gaga.py +15 -0
- kirin_toolchain-0.13.0/test/program/py/aha/hoho.py +11 -0
- kirin_toolchain-0.13.0/test/program/py/test_87.py +19 -0
- kirin_toolchain-0.13.0/test/program/py/test_abs.py +18 -0
- kirin_toolchain-0.13.0/test/program/py/test_aggressive.py +55 -0
- kirin_toolchain-0.13.0/test/program/py/test_basic.py +300 -0
- kirin_toolchain-0.13.0/test/program/py/test_closure.py +21 -0
- kirin_toolchain-0.13.0/test/program/py/test_cmp.py +53 -0
- kirin_toolchain-0.13.0/test/program/py/test_const.py +14 -0
- kirin_toolchain-0.13.0/test/program/py/test_doc.py +13 -0
- kirin_toolchain-0.13.0/test/program/py/test_glob_pi.py +14 -0
- kirin_toolchain-0.13.0/test/program/py/test_global_hint.py +11 -0
- kirin_toolchain-0.13.0/test/program/py/test_index.py +18 -0
- kirin_toolchain-0.13.0/test/program/py/test_list_append.py +31 -0
- kirin_toolchain-0.13.0/test/program/py/test_loop.py +38 -0
- kirin_toolchain-0.13.0/test/program/py/test_noreturn.py +23 -0
- kirin_toolchain-0.13.0/test/program/py/test_signature.py +20 -0
- kirin_toolchain-0.13.0/test/program/py/test_tuple_hint.py +11 -0
- kirin_toolchain-0.13.0/test/rules/test_alias.py +41 -0
- kirin_toolchain-0.13.0/test/rules/test_apply_type.py +33 -0
- kirin_toolchain-0.13.0/test/rules/test_cfg_compactify.py +132 -0
- kirin_toolchain-0.13.0/test/rules/test_compactify.py +155 -0
- kirin_toolchain-0.13.0/test/rules/test_cse.py +61 -0
- kirin_toolchain-0.13.0/test/rules/test_dce.py +33 -0
- kirin_toolchain-0.13.0/test/rules/test_fold.py +45 -0
- kirin_toolchain-0.13.0/test/rules/test_fold_br.py +34 -0
- kirin_toolchain-0.13.0/test/rules/test_getitem.py +26 -0
- kirin_toolchain-0.13.0/test/rules/test_inline.py +180 -0
- kirin_toolchain-0.13.0/test/stmt/__init__.py +0 -0
- kirin_toolchain-0.13.0/test/stmt/decl.py +74 -0
- kirin_toolchain-0.13.0/test/stmt/test_from_python_call.py +142 -0
- kirin_toolchain-0.13.0/test/stmt/test_init.py +74 -0
- kirin_toolchain-0.13.0/test/stmt/test_scan_fields.py +97 -0
- kirin_toolchain-0.13.0/test/stmt/test_statement.py +48 -0
- kirin_toolchain-0.13.0/test/verify/__init__.py +0 -0
- kirin_toolchain-0.13.0/test/verify/test_method_verify.py +22 -0
- kirin_toolchain-0.13.0/test/verify/test_typecheck.py +16 -0
- kirin_toolchain-0.13.0/uv.lock +1752 -0
@@ -0,0 +1,77 @@
|
|
1
|
+
name: CI
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
push:
|
6
|
+
branches:
|
7
|
+
- main
|
8
|
+
schedule:
|
9
|
+
- cron: '00 01 * * *'
|
10
|
+
concurrency:
|
11
|
+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
12
|
+
cancel-in-progress: true
|
13
|
+
|
14
|
+
# See: https://github.com/pdm-project/pdm/issues/1879
|
15
|
+
env:
|
16
|
+
PDM_DEPS: 'urllib3<2'
|
17
|
+
|
18
|
+
jobs:
|
19
|
+
build:
|
20
|
+
runs-on: ubuntu-latest
|
21
|
+
strategy:
|
22
|
+
matrix:
|
23
|
+
python-version: ["3.10", "3.11", "3.12"]
|
24
|
+
|
25
|
+
steps:
|
26
|
+
- uses: actions/checkout@v4
|
27
|
+
- name: Install uv
|
28
|
+
uses: astral-sh/setup-uv@v5
|
29
|
+
with:
|
30
|
+
# Install a specific version of uv.
|
31
|
+
version: "0.5.1"
|
32
|
+
enable-cache: true
|
33
|
+
cache-dependency-glob: "uv.lock"
|
34
|
+
- name: Set up Python ${{ matrix.python-version }}
|
35
|
+
run: uv python install ${{ matrix.python-version }}
|
36
|
+
- name: Install the project
|
37
|
+
run: uv sync --all-extras --dev --index="https://${{ secrets.JFROG_USER}}:${{ secrets.JFROG_TOKEN }}@quera.jfrog.io/artifactory/api/pypi/kirin/simple/ https://${{ secrets.JFROG_USER}}:${{ secrets.JFROG_TOKEN }}@quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple/"
|
38
|
+
- name: Run tests
|
39
|
+
# For example, using `pytest`
|
40
|
+
run: uv run just coverage
|
41
|
+
- name: Upload Coverage to Codecov
|
42
|
+
uses: codecov/codecov-action@v5
|
43
|
+
with:
|
44
|
+
files: coverage.xml # optional
|
45
|
+
fail_ci_if_error: true # optional (default = false)
|
46
|
+
verbose: true # optional (default = false)
|
47
|
+
token: ${{ secrets.CODECOV_TOKEN }} # required
|
48
|
+
- name: Archive code coverage results
|
49
|
+
if: matrix.python-version == '3.12'
|
50
|
+
uses: actions/upload-artifact@v4
|
51
|
+
with:
|
52
|
+
name: code-coverage-report
|
53
|
+
path: coverage.xml
|
54
|
+
retention-days: 2
|
55
|
+
post:
|
56
|
+
runs-on: ubuntu-latest
|
57
|
+
needs: build
|
58
|
+
if: github.event.pull_request
|
59
|
+
steps:
|
60
|
+
- uses: actions/checkout@v4
|
61
|
+
- name: download covearge
|
62
|
+
uses: actions/download-artifact@v4
|
63
|
+
with:
|
64
|
+
name: code-coverage-report
|
65
|
+
- name: check coverage
|
66
|
+
run: |
|
67
|
+
if [ -f coverage.xml ]; then
|
68
|
+
echo "Coverage file exists"
|
69
|
+
else
|
70
|
+
echo "Coverage file does not exist"
|
71
|
+
exit 1
|
72
|
+
fi
|
73
|
+
- name: post covearge
|
74
|
+
uses: orgoro/coverage@v3.2
|
75
|
+
with:
|
76
|
+
coverageFile: coverage.xml
|
77
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
name: Deploy Devopment Branch Docs
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
branches:
|
5
|
+
- main
|
6
|
+
|
7
|
+
concurrency:
|
8
|
+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
9
|
+
cancel-in-progress: true
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
documentation:
|
13
|
+
name: Deploy dev documentation
|
14
|
+
runs-on: ubuntu-latest
|
15
|
+
steps:
|
16
|
+
- uses: actions/checkout@v4
|
17
|
+
with:
|
18
|
+
fetch-depth: 0
|
19
|
+
- name: Install uv
|
20
|
+
uses: astral-sh/setup-uv@v5
|
21
|
+
with:
|
22
|
+
# Install a specific version of uv.
|
23
|
+
version: "0.5.1"
|
24
|
+
enable-cache: true
|
25
|
+
cache-dependency-glob: "uv.lock"
|
26
|
+
- name: Install Documentation dependencies
|
27
|
+
run: uv sync --group doc --index="https://${{ secrets.JFROG_USER}}:${{ secrets.JFROG_TOKEN }}@quera.jfrog.io/artifactory/api/pypi/kirin/simple/ https://${{ secrets.JFROG_USER}}:${{ secrets.JFROG_TOKEN }}@quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple/"
|
28
|
+
- name: Set up build cache
|
29
|
+
uses: actions/cache@v4
|
30
|
+
id: cache
|
31
|
+
with:
|
32
|
+
key: mkdocs-material-${{ github.ref }}
|
33
|
+
path: .cache
|
34
|
+
restore-keys: |
|
35
|
+
mkdocs-material-
|
36
|
+
# derived from:
|
37
|
+
# https://github.com/RemoteCloud/public-documentation/blob/dev/.github/workflows/build_docs.yml
|
38
|
+
- name: Configure Git user
|
39
|
+
run: |
|
40
|
+
git config --local user.email "github-actions[bot]@users.noreply.github.com"
|
41
|
+
git config --local user.name "github-actions[bot]"
|
42
|
+
- name: Deploy documentation
|
43
|
+
env:
|
44
|
+
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
45
|
+
GOOGLE_ANALYTICS_KEY: ${{ secrets.GOOGLE_ANALYTICS_KEY }}
|
46
|
+
run: |
|
47
|
+
git fetch origin gh-pages --depth=1
|
48
|
+
uv run mike deploy -p dev
|
@@ -0,0 +1,44 @@
|
|
1
|
+
name: Documentation (preview)
|
2
|
+
on:
|
3
|
+
pull_request:
|
4
|
+
types:
|
5
|
+
- opened
|
6
|
+
- reopened
|
7
|
+
- synchronize
|
8
|
+
- closed
|
9
|
+
concurrency:
|
10
|
+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
11
|
+
cancel-in-progress: true
|
12
|
+
|
13
|
+
jobs:
|
14
|
+
documentation:
|
15
|
+
name: Deploy preview documentation
|
16
|
+
runs-on: ubuntu-latest
|
17
|
+
steps:
|
18
|
+
- uses: actions/checkout@v4
|
19
|
+
- name: Install uv
|
20
|
+
uses: astral-sh/setup-uv@v5
|
21
|
+
with:
|
22
|
+
# Install a specific version of uv.
|
23
|
+
version: "0.5.1"
|
24
|
+
enable-cache: true
|
25
|
+
cache-dependency-glob: "uv.lock"
|
26
|
+
- name: Install Documentation dependencies
|
27
|
+
run: uv sync --group doc --index="https://${{ secrets.JFROG_USER}}:${{ secrets.JFROG_TOKEN }}@quera.jfrog.io/artifactory/api/pypi/kirin/simple/ https://${{ secrets.JFROG_USER}}:${{ secrets.JFROG_TOKEN }}@quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple/"
|
28
|
+
- name: Set up build cache
|
29
|
+
uses: actions/cache@v4
|
30
|
+
id: cache
|
31
|
+
with:
|
32
|
+
key: mkdocs-material-${{ github.ref }}
|
33
|
+
path: .cache
|
34
|
+
restore-keys: |
|
35
|
+
mkdocs-material-
|
36
|
+
- name: Depoly documentation
|
37
|
+
env:
|
38
|
+
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
39
|
+
run: |
|
40
|
+
uv run mkdocs build
|
41
|
+
- name: Deploy preview
|
42
|
+
uses: rossjrw/pr-preview-action@v1
|
43
|
+
with:
|
44
|
+
source-dir: ./site
|
@@ -0,0 +1,18 @@
|
|
1
|
+
name: Run isort
|
2
|
+
on:
|
3
|
+
pull_request:
|
4
|
+
push:
|
5
|
+
branches:
|
6
|
+
- main
|
7
|
+
concurrency:
|
8
|
+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
9
|
+
cancel-in-progress: true
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
build:
|
13
|
+
runs-on: ubuntu-latest
|
14
|
+
steps:
|
15
|
+
- uses: actions/checkout@v4
|
16
|
+
- uses: isort/isort-action@v1
|
17
|
+
with:
|
18
|
+
sortPaths: "src" # only sort files in the src directory
|
@@ -0,0 +1,21 @@
|
|
1
|
+
name: Lint
|
2
|
+
on:
|
3
|
+
pull_request:
|
4
|
+
push:
|
5
|
+
branches:
|
6
|
+
- main
|
7
|
+
concurrency:
|
8
|
+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
9
|
+
cancel-in-progress: true
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
ruff:
|
13
|
+
runs-on: ubuntu-latest
|
14
|
+
steps:
|
15
|
+
- uses: actions/checkout@v4
|
16
|
+
- uses: chartboost/ruff-action@v1
|
17
|
+
black:
|
18
|
+
runs-on: ubuntu-latest
|
19
|
+
steps:
|
20
|
+
- uses: actions/checkout@v4
|
21
|
+
- uses: psf/black@stable
|
@@ -0,0 +1,53 @@
|
|
1
|
+
name: Deploy Release Docs
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
tags:
|
5
|
+
- "v*"
|
6
|
+
|
7
|
+
concurrency:
|
8
|
+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
9
|
+
cancel-in-progress: true
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
documentation:
|
13
|
+
name: Deploy release documentation
|
14
|
+
runs-on: ubuntu-latest
|
15
|
+
steps:
|
16
|
+
- uses: actions/checkout@v4
|
17
|
+
with:
|
18
|
+
fetch-depth: 0
|
19
|
+
- name: Install uv
|
20
|
+
uses: astral-sh/setup-uv@v5
|
21
|
+
with:
|
22
|
+
# Install a specific version of uv.
|
23
|
+
version: "0.5.1"
|
24
|
+
enable-cache: true
|
25
|
+
cache-dependency-glob: "uv.lock"
|
26
|
+
- name: Install Documentation dependencies
|
27
|
+
run: uv sync --group doc --index="https://${{ secrets.JFROG_USER}}:${{ secrets.JFROG_TOKEN }}@quera.jfrog.io/artifactory/api/pypi/kirin/simple/ https://${{ secrets.JFROG_USER}}:${{ secrets.JFROG_TOKEN }}@quera.jfrog.io/artifactory/api/pypi/quera-pypi-algo/simple/"
|
28
|
+
- name: Set up build cache
|
29
|
+
uses: actions/cache@v4
|
30
|
+
id: cache
|
31
|
+
with:
|
32
|
+
key: mkdocs-material-${{ github.ref }}
|
33
|
+
path: .cache
|
34
|
+
restore-keys: |
|
35
|
+
mkdocs-material-
|
36
|
+
# derived from:
|
37
|
+
# https://github.com/RemoteCloud/public-documentation/blob/dev/.github/workflows/build_docs.yml
|
38
|
+
- name: Configure Git user
|
39
|
+
run: |
|
40
|
+
git config --local user.email "github-actions[bot]@users.noreply.github.com"
|
41
|
+
git config --local user.name "github-actions[bot]"
|
42
|
+
- name: Set release notes tag
|
43
|
+
run: |
|
44
|
+
export TAG_PATH=${{ github.ref }}
|
45
|
+
echo ${TAG_PATH}
|
46
|
+
echo "TAG_VERSION=${TAG_PATH##*/}" >> $GITHUB_ENV
|
47
|
+
echo ${TAG_VERSION}
|
48
|
+
- name: Deploy documentation
|
49
|
+
env:
|
50
|
+
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
51
|
+
run: |
|
52
|
+
git fetch origin gh-pages --depth=1
|
53
|
+
uv run mike deploy --update-alias --push ${TAG_VERSION} latest
|
@@ -0,0 +1,90 @@
|
|
1
|
+
name: Publish Python 🐍 distribution 📦 to PyPI and TestPyPI
|
2
|
+
|
3
|
+
on: push
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
name: Build distribution 📦
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
|
10
|
+
steps:
|
11
|
+
- uses: actions/checkout@v4
|
12
|
+
- name: Install uv
|
13
|
+
uses: astral-sh/setup-uv@v4
|
14
|
+
with:
|
15
|
+
# Install a specific version of uv.
|
16
|
+
version: "0.5.5"
|
17
|
+
- name: Install the project
|
18
|
+
run: uv sync --all-extras --dev
|
19
|
+
- name: Build distribution 📦
|
20
|
+
run: uv build
|
21
|
+
- name: Store the distribution packages
|
22
|
+
uses: actions/upload-artifact@v4
|
23
|
+
with:
|
24
|
+
name: python-package-distributions
|
25
|
+
path: dist/
|
26
|
+
|
27
|
+
publish-to-pypi:
|
28
|
+
name: >-
|
29
|
+
Publish Python 🐍 distribution 📦 to PyPI
|
30
|
+
if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
|
31
|
+
needs:
|
32
|
+
- build
|
33
|
+
runs-on: ubuntu-latest
|
34
|
+
environment:
|
35
|
+
name: pypi
|
36
|
+
url: https://pypi.org/p/kirin-toolchain # Replace <package-name> with your PyPI project name
|
37
|
+
permissions:
|
38
|
+
id-token: write # IMPORTANT: mandatory for trusted publishing
|
39
|
+
|
40
|
+
steps:
|
41
|
+
- name: Download all the dists
|
42
|
+
uses: actions/download-artifact@v4
|
43
|
+
with:
|
44
|
+
name: python-package-distributions
|
45
|
+
path: dist/
|
46
|
+
- name: Publish distribution 📦 to PyPI
|
47
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
48
|
+
|
49
|
+
github-release:
|
50
|
+
name: >-
|
51
|
+
Sign the Python 🐍 distribution 📦 with Sigstore
|
52
|
+
and upload them to GitHub Release
|
53
|
+
needs:
|
54
|
+
- publish-to-pypi
|
55
|
+
runs-on: ubuntu-latest
|
56
|
+
|
57
|
+
permissions:
|
58
|
+
contents: write # IMPORTANT: mandatory for making GitHub Releases
|
59
|
+
id-token: write # IMPORTANT: mandatory for sigstore
|
60
|
+
|
61
|
+
steps:
|
62
|
+
- name: Download all the dists
|
63
|
+
uses: actions/download-artifact@v4
|
64
|
+
with:
|
65
|
+
name: python-package-distributions
|
66
|
+
path: dist/
|
67
|
+
- name: Sign the dists with Sigstore
|
68
|
+
uses: sigstore/gh-action-sigstore-python@v3.0.0
|
69
|
+
with:
|
70
|
+
inputs: >-
|
71
|
+
./dist/*.tar.gz
|
72
|
+
./dist/*.whl
|
73
|
+
- name: Create GitHub Release
|
74
|
+
env:
|
75
|
+
GITHUB_TOKEN: ${{ github.token }}
|
76
|
+
run: >-
|
77
|
+
gh release create
|
78
|
+
'${{ github.ref_name }}'
|
79
|
+
--repo '${{ github.repository }}'
|
80
|
+
--notes ""
|
81
|
+
- name: Upload artifact signatures to GitHub Release
|
82
|
+
env:
|
83
|
+
GITHUB_TOKEN: ${{ github.token }}
|
84
|
+
# Upload to GitHub Release using the `gh` CLI.
|
85
|
+
# `dist/` contains the built packages, and the
|
86
|
+
# sigstore-produced signatures and certificates.
|
87
|
+
run: >-
|
88
|
+
gh release upload
|
89
|
+
'${{ github.ref_name }}' dist/**
|
90
|
+
--repo '${{ github.repository }}'
|
@@ -0,0 +1,189 @@
|
|
1
|
+
# random
|
2
|
+
job.json
|
3
|
+
out.txt
|
4
|
+
.DS_Store
|
5
|
+
tests/data/jobs/
|
6
|
+
main.html
|
7
|
+
debug/
|
8
|
+
|
9
|
+
**/flair-python.code-workspace
|
10
|
+
|
11
|
+
# Byte-compiled / optimized / DLL files
|
12
|
+
__pycache__/
|
13
|
+
*.py[cod]
|
14
|
+
*$py.class
|
15
|
+
|
16
|
+
# C extensions
|
17
|
+
*.so
|
18
|
+
|
19
|
+
# Distribution / packaging
|
20
|
+
.Python
|
21
|
+
build/
|
22
|
+
develop-eggs/
|
23
|
+
dist/
|
24
|
+
downloads/
|
25
|
+
eggs/
|
26
|
+
.eggs/
|
27
|
+
lib/
|
28
|
+
lib64/
|
29
|
+
parts/
|
30
|
+
sdist/
|
31
|
+
var/
|
32
|
+
wheels/
|
33
|
+
share/python-wheels/
|
34
|
+
*.egg-info/
|
35
|
+
.installed.cfg
|
36
|
+
*.egg
|
37
|
+
MANIFEST
|
38
|
+
|
39
|
+
# PyInstaller
|
40
|
+
# Usually these files are written by a python script from a template
|
41
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
42
|
+
*.manifest
|
43
|
+
*.spec
|
44
|
+
|
45
|
+
# Installer logs
|
46
|
+
pip-log.txt
|
47
|
+
pip-delete-this-directory.txt
|
48
|
+
|
49
|
+
# Unit test / coverage reports
|
50
|
+
htmlcov/
|
51
|
+
.tox/
|
52
|
+
.nox/
|
53
|
+
.coverage
|
54
|
+
.coverage.*
|
55
|
+
.cache
|
56
|
+
nosetests.xml
|
57
|
+
coverage.xml
|
58
|
+
*.cover
|
59
|
+
*.py,cover
|
60
|
+
.hypothesis/
|
61
|
+
.pytest_cache/
|
62
|
+
cover/
|
63
|
+
|
64
|
+
# Translations
|
65
|
+
*.mo
|
66
|
+
*.pot
|
67
|
+
|
68
|
+
# Django stuff:
|
69
|
+
*.log
|
70
|
+
local_settings.py
|
71
|
+
db.sqlite3
|
72
|
+
db.sqlite3-journal
|
73
|
+
|
74
|
+
# Flask stuff:
|
75
|
+
instance/
|
76
|
+
.webassets-cache
|
77
|
+
|
78
|
+
# Scrapy stuff:
|
79
|
+
.scrapy
|
80
|
+
|
81
|
+
# Sphinx documentation
|
82
|
+
docs/_build/
|
83
|
+
|
84
|
+
# doc slides
|
85
|
+
docs/slides/**/**.pdf
|
86
|
+
docs/slides/build/**/**.png
|
87
|
+
**/**/**.pptx
|
88
|
+
|
89
|
+
# mkdocs
|
90
|
+
site/
|
91
|
+
docs/reference/bloqade/
|
92
|
+
|
93
|
+
# PyBuilder
|
94
|
+
.pybuilder/
|
95
|
+
target/
|
96
|
+
|
97
|
+
# Jupyter Notebook
|
98
|
+
.ipynb_checkpoints
|
99
|
+
|
100
|
+
# IPython
|
101
|
+
profile_default/
|
102
|
+
ipython_config.py
|
103
|
+
|
104
|
+
# pyenv
|
105
|
+
# For a library or package, you might want to ignore these files since the code is
|
106
|
+
# intended to run in multiple environments; otherwise, check them in:
|
107
|
+
# .python-version
|
108
|
+
|
109
|
+
# pipenv
|
110
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
111
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
112
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
113
|
+
# install all needed dependencies.
|
114
|
+
#Pipfile.lock
|
115
|
+
|
116
|
+
# poetry
|
117
|
+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
118
|
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
119
|
+
# commonly ignored for libraries.
|
120
|
+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
121
|
+
#poetry.lock
|
122
|
+
|
123
|
+
# pdm
|
124
|
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
125
|
+
#pdm.lock
|
126
|
+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
127
|
+
# in version control.
|
128
|
+
# https://pdm.fming.dev/#use-with-ide
|
129
|
+
.pdm.toml
|
130
|
+
|
131
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
132
|
+
__pypackages__/
|
133
|
+
|
134
|
+
# Celery stuff
|
135
|
+
celerybeat-schedule
|
136
|
+
celerybeat.pid
|
137
|
+
|
138
|
+
# SageMath parsed files
|
139
|
+
*.sage.py
|
140
|
+
|
141
|
+
# Environments
|
142
|
+
.env
|
143
|
+
.venv*
|
144
|
+
env/
|
145
|
+
venv/
|
146
|
+
ENV/
|
147
|
+
env.bak/
|
148
|
+
venv.bak/
|
149
|
+
|
150
|
+
# Spyder project settings
|
151
|
+
.spyderproject
|
152
|
+
.spyproject
|
153
|
+
|
154
|
+
# Rope project settings
|
155
|
+
.ropeproject
|
156
|
+
|
157
|
+
# mkdocs documentation
|
158
|
+
/site
|
159
|
+
|
160
|
+
# mypy
|
161
|
+
.mypy_cache/
|
162
|
+
.dmypy.json
|
163
|
+
dmypy.json
|
164
|
+
|
165
|
+
# Pyre type checker
|
166
|
+
.pyre/
|
167
|
+
|
168
|
+
# pytype static type analyzer
|
169
|
+
.pytype/
|
170
|
+
|
171
|
+
# Cython debug symbols
|
172
|
+
cython_debug/
|
173
|
+
|
174
|
+
# PyCharm
|
175
|
+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
176
|
+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
177
|
+
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
178
|
+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
179
|
+
#.idea/
|
180
|
+
|
181
|
+
.vscode
|
182
|
+
!.vscode/settings.json
|
183
|
+
.pdm-python
|
184
|
+
main.py
|
185
|
+
*.ipynb
|
186
|
+
*.json
|
187
|
+
.ruff_cache
|
188
|
+
.python-version
|
189
|
+
!package.json
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# See https://pre-commit.com for more information
|
2
|
+
# See https://pre-commit.com/hooks.html for more hooks
|
3
|
+
repos:
|
4
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
5
|
+
rev: v5.0.0
|
6
|
+
hooks:
|
7
|
+
- id: check-yaml
|
8
|
+
args: ['--unsafe']
|
9
|
+
- id: end-of-file-fixer
|
10
|
+
- id: trailing-whitespace
|
11
|
+
- repo: https://github.com/pycqa/isort
|
12
|
+
rev: 5.13.2
|
13
|
+
hooks:
|
14
|
+
- id: isort
|
15
|
+
name: isort (python)
|
16
|
+
- repo: https://github.com/psf/black
|
17
|
+
rev: 24.10.0
|
18
|
+
hooks:
|
19
|
+
- id: black
|
20
|
+
- repo: https://github.com/charliermarsh/ruff-pre-commit
|
21
|
+
# Ruff version.
|
22
|
+
rev: "v0.7.1"
|
23
|
+
hooks:
|
24
|
+
- id: ruff
|