puyapy 0.1.0__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.
- puyapy-0.1.0/PKG-INFO +156 -0
- puyapy-0.1.0/README.md +136 -0
- puyapy-0.1.0/pyproject.toml +186 -0
- puyapy-0.1.0/src/puya/ARCHITECTURE.md +91 -0
- puyapy-0.1.0/src/puya/__init__.py +6 -0
- puyapy-0.1.0/src/puya/__main__.py +101 -0
- puyapy-0.1.0/src/puya/_typeshed/stdlib/VERSIONS +301 -0
- puyapy-0.1.0/src/puya/_typeshed/stdlib/_collections_abc.pyi +94 -0
- puyapy-0.1.0/src/puya/_typeshed/stdlib/_typeshed/README.md +34 -0
- puyapy-0.1.0/src/puya/_typeshed/stdlib/_typeshed/__init__.pyi +318 -0
- puyapy-0.1.0/src/puya/_typeshed/stdlib/_typeshed/dbapi.pyi +37 -0
- puyapy-0.1.0/src/puya/_typeshed/stdlib/_typeshed/wsgi.pyi +44 -0
- puyapy-0.1.0/src/puya/_typeshed/stdlib/_typeshed/xml.pyi +9 -0
- puyapy-0.1.0/src/puya/_typeshed/stdlib/abc.pyi +49 -0
- puyapy-0.1.0/src/puya/_typeshed/stdlib/builtins.pyi +2052 -0
- puyapy-0.1.0/src/puya/_typeshed/stdlib/collections/__init__.pyi +478 -0
- puyapy-0.1.0/src/puya/_typeshed/stdlib/collections/abc.pyi +2 -0
- puyapy-0.1.0/src/puya/_typeshed/stdlib/enum.pyi +317 -0
- puyapy-0.1.0/src/puya/_typeshed/stdlib/sys.pyi +372 -0
- puyapy-0.1.0/src/puya/_typeshed/stdlib/types.pyi +641 -0
- puyapy-0.1.0/src/puya/_typeshed/stdlib/typing.pyi +979 -0
- puyapy-0.1.0/src/puya/_typeshed/stdlib/typing_extensions.pyi +498 -0
- puyapy-0.1.0/src/puya/_typeshed/stubs/mypy-extensions/@tests/stubtest_allowlist.txt +2 -0
- puyapy-0.1.0/src/puya/_typeshed/stubs/mypy-extensions/METADATA.toml +4 -0
- puyapy-0.1.0/src/puya/_typeshed/stubs/mypy-extensions/mypy_extensions.pyi +218 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/.version +1 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/__init__.py +1 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/__main__.py +37 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/api.py +94 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/applytype.py +155 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/argmap.py +268 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/binder.py +538 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/bogus_type.py +27 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/build.py +3557 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/checker.py +8329 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/checkexpr.py +6585 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/checkmember.py +1345 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/checkpattern.py +802 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/checkstrformat.py +1109 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/config_parser.py +657 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/constant_fold.py +187 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/constraints.py +1613 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/copytype.py +133 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/defaults.py +46 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/dmypy/__init__.py +0 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/dmypy/__main__.py +6 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/dmypy/client.py +749 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/dmypy_os.py +42 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/dmypy_server.py +1107 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/dmypy_util.py +58 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/erasetype.py +278 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/errorcodes.py +276 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/errors.py +1279 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/evalexpr.py +204 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/expandtype.py +509 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/exprtotype.py +206 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/fastparse.py +2141 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/find_sources.py +243 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/fixup.py +426 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/freetree.py +23 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/fscache.py +309 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/fswatcher.py +106 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/gclogger.py +47 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/git.py +34 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/graph_utils.py +112 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/indirection.py +121 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/infer.py +75 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/inspections.py +627 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/ipc.py +310 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/join.py +868 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/literals.py +306 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/lookup.py +61 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/main.py +1545 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/maptype.py +106 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/meet.py +1129 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/memprofile.py +121 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/message_registry.py +323 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/messages.py +3158 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/metastore.py +226 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/mixedtraverser.py +112 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/modulefinder.py +895 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/moduleinspect.py +180 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/mro.py +62 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/nodes.py +4105 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/operators.py +126 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/options.py +550 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/parse.py +22 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/partially_defined.py +675 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/patterns.py +148 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/plugin.py +901 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/plugins/__init__.py +0 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/plugins/attrs.py +1116 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/plugins/common.py +439 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/plugins/ctypes.py +245 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/plugins/dataclasses.py +1101 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/plugins/default.py +518 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/plugins/enums.py +258 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/plugins/functools.py +103 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/plugins/proper_plugin.py +175 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/plugins/singledispatch.py +224 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/py.typed +1 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/pyinfo.py +78 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/reachability.py +362 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/refinfo.py +92 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/renaming.py +568 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/report.py +924 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/scope.py +125 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/semanal.py +6998 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/semanal_classprop.py +187 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/semanal_enum.py +250 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/semanal_infer.py +128 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/semanal_main.py +511 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/semanal_namedtuple.py +662 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/semanal_newtype.py +273 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/semanal_pass1.py +156 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/semanal_shared.py +493 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/semanal_typeargs.py +265 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/semanal_typeddict.py +557 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/server/__init__.py +0 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/server/astdiff.py +518 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/server/astmerge.py +562 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/server/aststrip.py +281 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/server/deps.py +1137 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/server/mergecheck.py +83 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/server/objgraph.py +101 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/server/subexpr.py +198 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/server/target.py +11 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/server/trigger.py +26 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/server/update.py +1339 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/sharedparse.py +112 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/solve.py +527 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/split_namespace.py +35 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/state.py +28 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/stats.py +494 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/strconv.py +641 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/stubdoc.py +481 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/stubgen.py +1800 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/stubgenc.py +947 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/stubinfo.py +173 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/stubtest.py +1978 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/stubutil.py +778 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/subtypes.py +1953 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/suggestions.py +1046 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/__init__.py +0 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/config.py +28 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/data.py +823 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/helpers.py +476 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/meta/__init__.py +0 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/meta/_pytest.py +72 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/meta/test_diff_helper.py +47 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/meta/test_parse_data.py +72 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/meta/test_update_data.py +134 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/test_find_sources.py +376 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/test_ref_info.py +45 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testapi.py +45 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testargs.py +76 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testcheck.py +319 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testcmdline.py +152 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testconstraints.py +120 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testdaemon.py +132 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testdeps.py +77 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testdiff.py +67 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testerrorstream.py +45 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testfinegrained.py +438 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testfinegrainedcache.py +18 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testformatter.py +85 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testfscache.py +101 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testgraph.py +83 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testinfer.py +373 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testipc.py +112 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testmerge.py +238 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testmodulefinder.py +278 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testmypyc.py +14 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testparse.py +97 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testpep561.py +211 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testpythoneval.py +116 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testreports.py +54 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testsemanal.py +209 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testsolve.py +285 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/teststubgen.py +1409 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/teststubinfo.py +12 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/teststubtest.py +2223 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testsubtypes.py +303 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testtransform.py +64 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testtypegen.py +83 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testtypes.py +1551 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/testutil.py +22 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/typefixture.py +415 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/update_data.py +87 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/test/visitors.py +63 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/traverser.py +961 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/treetransform.py +800 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/tvar_scope.py +147 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/type_visitor.py +564 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeanal.py +2361 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeops.py +1069 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/types.py +3683 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/types_utils.py +166 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/LICENSE +237 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/VERSIONS +301 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/__future__.pyi +36 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/__main__.pyi +3 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_ast.pyi +608 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_bisect.pyi +84 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_bootlocale.pyi +1 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_codecs.pyi +138 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_collections_abc.pyi +94 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_compat_pickle.pyi +8 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_compression.pyi +25 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_csv.pyi +90 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_ctypes.pyi +207 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_curses.pyi +557 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_decimal.pyi +281 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_dummy_thread.pyi +27 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_dummy_threading.pyi +169 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_heapq.pyi +12 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_imp.pyi +28 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_json.pyi +50 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_locale.pyi +100 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_markupbase.pyi +16 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_msi.pyi +91 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_operator.pyi +156 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_osx_support.pyi +41 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_posixsubprocess.pyi +32 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_py_abc.pyi +14 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_pydecimal.pyi +43 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_random.pyi +12 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_sitebuiltins.pyi +17 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_socket.pyi +719 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_stat.pyi +103 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_thread.pyi +48 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_threading_local.pyi +17 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_tkinter.pyi +135 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_tracemalloc.pyi +17 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_typeshed/README.md +34 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_typeshed/__init__.pyi +318 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_typeshed/dbapi.pyi +37 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_typeshed/wsgi.pyi +44 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_typeshed/xml.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_warnings.pyi +32 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_weakref.pyi +41 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_weakrefset.pyi +51 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/_winapi.pyi +258 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/abc.pyi +49 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/aifc.pyi +91 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/antigravity.pyi +3 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/argparse.pyi +570 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/array.pyi +92 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/ast.pyi +302 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asynchat.pyi +21 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/__init__.pyi +43 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/base_events.pyi +473 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/base_futures.pyi +20 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/base_subprocess.pyi +62 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/base_tasks.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/constants.pyi +20 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/coroutines.pyi +28 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/events.pyi +623 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/exceptions.pyi +38 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/format_helpers.pyi +20 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/futures.pyi +66 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/locks.pyi +116 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/log.pyi +3 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/mixins.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/proactor_events.pyi +74 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/protocols.pyi +34 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/queues.pyi +40 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/runners.pyi +35 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/selector_events.pyi +8 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/sslproto.pyi +161 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/staggered.pyi +10 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/streams.pyi +179 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/subprocess.pyi +235 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/taskgroups.pyi +25 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/tasks.pyi +479 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/threads.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/timeouts.pyi +18 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/transports.pyi +47 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/trsock.pyi +98 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/unix_events.pyi +127 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/windows_events.pyi +84 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncio/windows_utils.pyi +57 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/asyncore.pyi +89 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/atexit.pyi +12 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/audioop.pyi +42 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/base64.pyi +59 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/bdb.pyi +102 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/binascii.pyi +44 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/binhex.pyi +45 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/bisect.pyi +4 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/builtins.pyi +2052 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/bz2.pyi +146 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/cProfile.pyi +37 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/calendar.pyi +206 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/cgi.pyi +129 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/cgitb.pyi +33 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/chunk.pyi +20 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/cmath.pyi +43 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/cmd.pyi +46 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/code.pyi +33 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/codecs.pyi +294 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/codeop.pyi +13 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/collections/__init__.pyi +478 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/collections/abc.pyi +2 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/colorsys.pyi +13 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/compileall.pyi +111 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/concurrent/__init__.pyi +0 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/concurrent/futures/__init__.pyi +36 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/concurrent/futures/_base.pyi +102 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/concurrent/futures/process.pyi +192 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/concurrent/futures/thread.pyi +59 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/configparser.pyi +313 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/contextlib.pyi +207 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/contextvars.pyi +70 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/copy.pyi +16 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/copyreg.pyi +21 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/crypt.pyi +12 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/csv.pyi +155 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/ctypes/__init__.pyi +189 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/ctypes/util.pyi +6 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/ctypes/wintypes.pyi +240 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/curses/__init__.pyi +21 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/curses/ascii.pyi +63 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/curses/has_key.pyi +4 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/curses/panel.pyi +25 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/curses/textpad.pyi +13 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/dataclasses.pyi +322 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/datetime.pyi +331 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/dbm/__init__.pyi +94 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/dbm/dumb.pyi +31 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/dbm/gnu.pyi +40 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/dbm/ndbm.pyi +36 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/decimal.pyi +2 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/difflib.pyi +140 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/dis.pyi +141 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/__init__.pyi +5 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/archive_util.pyi +20 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/bcppcompiler.pyi +3 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/ccompiler.pyi +152 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/cmd.pyi +66 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/__init__.pyi +0 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/bdist.pyi +25 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/bdist_dumb.pyi +21 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/bdist_msi.pyi +45 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/bdist_packager.pyi +0 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/bdist_rpm.pyi +52 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/bdist_wininst.pyi +16 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/build.pyi +31 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/build_clib.pyi +27 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/build_ext.pyi +50 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/build_py.pyi +44 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/build_scripts.pyi +24 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/check.pyi +39 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/clean.pyi +17 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/config.pyi +83 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/install.pyi +63 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/install_data.pyi +19 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/install_egg_info.pyi +18 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/install_headers.pyi +16 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/install_lib.pyi +25 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/install_scripts.pyi +18 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/register.pyi +18 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/sdist.pyi +42 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/command/upload.pyi +17 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/config.pyi +17 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/core.pyi +57 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/cygwinccompiler.pyi +20 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/debug.pyi +1 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/dep_util.pyi +3 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/dir_util.pyi +13 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/dist.pyi +146 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/errors.pyi +19 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/extension.pyi +36 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/fancy_getopt.pyi +34 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/file_util.pyi +14 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/filelist.pyi +51 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/log.pyi +25 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/msvccompiler.pyi +3 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/spawn.pyi +2 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/sysconfig.pyi +22 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/text_file.pyi +21 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/unixccompiler.pyi +3 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/util.pyi +50 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/distutils/version.pyi +36 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/doctest.pyi +248 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/dummy_threading.pyi +2 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/__init__.pyi +29 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/_header_value_parser.pyi +398 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/base64mime.pyi +13 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/charset.pyi +34 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/contentmanager.pyi +11 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/encoders.pyi +8 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/errors.pyi +39 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/feedparser.pyi +24 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/generator.pyi +40 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/header.pyi +31 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/headerregistry.pyi +181 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/iterators.pyi +12 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/message.pyi +124 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/mime/__init__.pyi +0 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/mime/application.pyi +17 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/mime/audio.pyi +17 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/mime/base.pyi +8 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/mime/image.pyi +17 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/mime/message.pyi +8 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/mime/multipart.pyi +18 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/mime/nonmultipart.pyi +5 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/mime/text.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/parser.pyi +26 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/policy.pyi +82 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/quoprimime.pyi +28 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/email/utils.pyi +66 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/encodings/__init__.pyi +10 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/encodings/utf_8.pyi +21 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/encodings/utf_8_sig.pyi +22 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/ensurepip/__init__.pyi +12 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/enum.pyi +317 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/errno.pyi +222 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/faulthandler.pyi +13 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/fcntl.pyi +128 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/filecmp.pyi +58 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/fileinput.pyi +320 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/fnmatch.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/formatter.pyi +88 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/fractions.pyi +162 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/ftplib.pyi +178 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/functools.pyi +210 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/gc.pyi +43 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/genericpath.pyi +52 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/getopt.pyi +11 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/getpass.pyi +8 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/gettext.pyi +173 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/glob.pyi +42 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/graphlib.pyi +28 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/grp.pyi +22 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/gzip.pyi +169 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/hashlib.pyi +181 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/heapq.pyi +18 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/hmac.pyi +49 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/html/__init__.pyi +6 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/html/entities.pyi +6 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/html/parser.pyi +34 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/http/__init__.pyi +106 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/http/client.pyi +241 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/http/cookiejar.pyi +183 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/http/cookies.pyi +60 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/http/server.pyi +83 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/imaplib.pyi +168 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/imghdr.pyi +17 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/imp.pyi +62 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/importlib/__init__.pyi +24 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/importlib/abc.pyi +219 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/importlib/machinery.pyi +160 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/importlib/metadata/__init__.pyi +221 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/importlib/metadata/_meta.pyi +40 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/importlib/resources/__init__.pyi +46 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/importlib/resources/abc.pyi +12 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/importlib/util.pyi +43 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/inspect.pyi +652 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/io.pyi +196 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/ipaddress.pyi +208 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/itertools.pyi +278 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/json/__init__.pyi +61 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/json/decoder.pyi +32 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/json/encoder.pyi +38 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/json/tool.pyi +1 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/keyword.pyi +21 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/__init__.pyi +0 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/btm_matcher.pyi +28 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixer_base.pyi +43 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/__init__.pyi +0 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi +11 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi +17 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_except.pyi +15 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi +14 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi +10 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_future.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi +16 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_import.pyi +17 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi +22 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi +6 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_input.pyi +12 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi +10 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi +10 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi +8 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_long.pyi +8 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_map.pyi +10 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi +18 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi +11 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_next.pyi +20 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi +13 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_print.pyi +13 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi +10 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi +18 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi +8 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi +10 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi +18 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_types.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi +13 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi +15 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi +13 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi +21 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi +10 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/main.pyi +43 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/pgen2/__init__.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/pgen2/driver.pyi +27 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/pgen2/grammar.pyi +24 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/pgen2/literals.pyi +7 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/pgen2/parse.pyi +30 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/pgen2/pgen.pyi +50 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/pgen2/token.pyi +67 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi +96 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/pygram.pyi +117 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/pytree.pyi +116 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lib2to3/refactor.pyi +83 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/linecache.pyi +23 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/locale.pyi +152 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/logging/__init__.pyi +879 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/logging/config.pyi +143 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/logging/handlers.pyi +275 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/lzma.pyi +197 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/macpath.pyi +104 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/mailbox.pyi +256 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/mailcap.pyi +11 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/marshal.pyi +33 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/math.pyi +151 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/mimetypes.pyi +56 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/mmap.pyi +117 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/modulefinder.pyi +76 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/msilib/__init__.pyi +177 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/msilib/schema.pyi +94 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/msilib/sequence.pyi +13 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/msilib/text.pyi +7 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/msvcrt.pyi +32 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/__init__.pyi +92 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/connection.pyi +74 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/context.pyi +194 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/dummy/__init__.pyi +78 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/dummy/connection.pyi +39 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/forkserver.pyi +31 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/heap.pyi +36 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/managers.pyi +218 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/pool.pyi +130 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/popen_fork.pyi +23 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/popen_forkserver.pyi +16 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi +20 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi +30 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/process.pyi +45 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/queues.pyi +41 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/reduction.pyi +94 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/resource_sharer.pyi +20 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/resource_tracker.pyi +18 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/shared_memory.pyi +39 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/sharedctypes.pyi +102 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/spawn.pyi +32 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/synchronize.pyi +54 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/multiprocessing/util.pyi +79 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/netrc.pyi +23 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/nis.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/nntplib.pyi +125 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/ntpath.pyi +119 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/nturl2path.pyi +2 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/numbers.pyi +129 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/opcode.pyi +63 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/operator.pyi +110 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/optparse.pyi +252 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/os/__init__.pyi +1117 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/os/path.pyi +8 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/ossaudiodev.pyi +132 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/parser.pyi +25 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/pathlib.pyi +240 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/pdb.pyi +181 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/pickle.pyi +286 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/pickletools.pyi +167 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/pipes.pyi +16 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/pkgutil.pyi +50 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/platform.pyi +69 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/plistlib.pyi +109 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/poplib.pyi +71 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/posix.pyi +364 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/posixpath.pyi +161 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/pprint.pyi +139 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/profile.pyi +31 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/pstats.pyi +79 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/pty.pyi +18 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/pwd.pyi +28 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/py_compile.pyi +46 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/pyclbr.pyi +66 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/pydoc.pyi +261 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/pydoc_data/__init__.pyi +0 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/pydoc_data/topics.pyi +1 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/pyexpat/__init__.pyi +80 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/pyexpat/errors.pyi +49 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/pyexpat/model.pyi +11 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/queue.pyi +58 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/quopri.pyi +11 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/random.pyi +138 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/re.pyi +290 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/readline.pyi +36 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/reprlib.pyi +65 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/resource.pyi +92 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/rlcompleter.pyi +9 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/runpy.pyi +24 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/sched.pyi +42 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/secrets.pyi +15 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/select.pyi +151 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/selectors.pyi +79 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/shelve.pyi +45 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/shlex.pyi +50 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/shutil.pyi +218 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/signal.pyi +191 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/site.pyi +27 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/smtpd.pyi +91 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/smtplib.pyi +204 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/sndhdr.pyi +14 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/socket.pyi +833 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/socketserver.pyi +168 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/spwd.pyi +41 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/sqlite3/__init__.pyi +1 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/sqlite3/dbapi2.pyi +486 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/sre_compile.pyi +11 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/sre_constants.pyi +130 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/sre_parse.pyi +125 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/ssl.pyi +538 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/stat.pyi +1 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/statistics.pyi +139 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/string.pyi +83 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/stringprep.pyi +27 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/struct.pyi +26 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/subprocess.pyi +2623 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/sunau.pyi +84 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/symbol.pyi +97 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/symtable.pyi +63 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/sys.pyi +372 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/sysconfig.pyi +44 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/syslog.pyi +47 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tabnanny.pyi +16 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tarfile.pyi +456 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/telnetlib.pyi +121 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tempfile.pyi +649 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/termios.pyi +267 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/textwrap.pyi +103 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/this.pyi +2 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/threading.pyi +199 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/time.pyi +111 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/timeit.pyi +32 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tkinter/__init__.pyi +3578 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tkinter/colorchooser.pyi +20 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tkinter/commondialog.pyi +14 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tkinter/constants.pyi +80 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tkinter/dialog.pyi +16 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tkinter/dnd.pyi +19 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tkinter/filedialog.pyi +152 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tkinter/font.pyi +112 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tkinter/messagebox.pyi +44 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tkinter/scrolledtext.pyi +10 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tkinter/simpledialog.pyi +54 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tkinter/tix.pyi +300 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tkinter/ttk.pyi +1196 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/token.pyi +159 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tokenize.pyi +178 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tomllib.pyi +10 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/trace.pyi +59 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/traceback.pyi +261 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tracemalloc.pyi +124 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/tty.pyi +30 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/turtle.pyi +713 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/types.pyi +641 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/typing.pyi +979 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/typing_extensions.pyi +498 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/unicodedata.pyi +76 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/unittest/__init__.pyi +71 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/unittest/_log.pyi +28 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/unittest/async_case.pyi +19 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/unittest/case.pyi +328 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/unittest/loader.pyi +51 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/unittest/main.pyi +69 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/unittest/mock.pyi +481 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/unittest/result.pyi +46 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/unittest/runner.pyi +72 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/unittest/signals.pyi +15 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/unittest/suite.pyi +22 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/unittest/util.pyi +23 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/urllib/__init__.pyi +0 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/urllib/error.pyi +23 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/urllib/parse.pyi +210 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/urllib/request.pyi +397 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/urllib/response.pyi +59 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/urllib/robotparser.pyi +22 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/uu.pyi +13 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/uuid.pyi +100 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/venv/__init__.pyi +79 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/warnings.pyi +112 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/wave.pyi +78 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/weakref.pyi +150 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/webbrowser.pyi +74 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/winreg.pyi +103 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/winsound.pyi +29 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/wsgiref/__init__.pyi +0 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/wsgiref/handlers.pyi +91 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/wsgiref/headers.pyi +26 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/wsgiref/simple_server.pyi +37 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/wsgiref/types.pyi +32 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/wsgiref/util.pyi +24 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/wsgiref/validate.pyi +50 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xdrlib.pyi +57 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/__init__.pyi +1 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/dom/NodeFilter.pyi +19 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/dom/__init__.pyi +69 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/dom/domreg.pyi +8 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/dom/expatbuilder.pyi +100 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/dom/minicompat.pyi +23 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/dom/minidom.pyi +404 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/dom/pulldom.pyi +93 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/dom/xmlbuilder.pyi +108 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/etree/ElementInclude.pyi +28 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/etree/ElementPath.pyi +34 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/etree/ElementTree.pyi +361 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/etree/__init__.pyi +0 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/etree/cElementTree.pyi +1 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/parsers/__init__.pyi +1 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/parsers/expat/__init__.pyi +1 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/parsers/expat/errors.pyi +1 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/parsers/expat/model.pyi +1 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/sax/__init__.pyi +46 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/sax/handler.pyi +55 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/sax/saxutils.pyi +60 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xml/sax/xmlreader.pyi +87 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xmlrpc/__init__.pyi +0 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xmlrpc/client.pyi +322 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xmlrpc/server.pyi +143 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/xxlimited.pyi +23 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/zipapp.pyi +20 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/zipfile.pyi +314 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/zipimport.pyi +33 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/zlib.pyi +56 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stdlib/zoneinfo/__init__.pyi +38 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stubs/mypy-extensions/@tests/stubtest_allowlist.txt +2 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stubs/mypy-extensions/METADATA.toml +4 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi +218 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typestate.py +323 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typetraverser.py +142 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typevars.py +93 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/typevartuples.py +32 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/util.py +828 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/version.py +19 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/visitor.py +621 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/xml/mypy-html.css +104 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/xml/mypy-html.xslt +81 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/xml/mypy-txt.xslt +100 -0
- puyapy-0.1.0/src/puya/_vendor/mypy/xml/mypy.xsd +50 -0
- puyapy-0.1.0/src/puya/algo_constants.py +7 -0
- puyapy-0.1.0/src/puya/arc32.py +198 -0
- puyapy-0.1.0/src/puya/avm_type.py +8 -0
- puyapy-0.1.0/src/puya/awst/__init__.py +0 -0
- puyapy-0.1.0/src/puya/awst/function_traverser.py +218 -0
- puyapy-0.1.0/src/puya/awst/nodes.py +1295 -0
- puyapy-0.1.0/src/puya/awst/to_code_visitor.py +479 -0
- puyapy-0.1.0/src/puya/awst/visitors.py +254 -0
- puyapy-0.1.0/src/puya/awst/wtypes.py +466 -0
- puyapy-0.1.0/src/puya/awst_build/__init__.py +0 -0
- puyapy-0.1.0/src/puya/awst_build/base_mypy_visitor.py +308 -0
- puyapy-0.1.0/src/puya/awst_build/constants.py +118 -0
- puyapy-0.1.0/src/puya/awst_build/context.py +180 -0
- puyapy-0.1.0/src/puya/awst_build/contract.py +621 -0
- puyapy-0.1.0/src/puya/awst_build/eb/__init__.py +0 -0
- puyapy-0.1.0/src/puya/awst_build/eb/arc4/__init__.py +7 -0
- puyapy-0.1.0/src/puya/awst_build/eb/arc4/arrays.py +307 -0
- puyapy-0.1.0/src/puya/awst_build/eb/arc4/base.py +170 -0
- puyapy-0.1.0/src/puya/awst_build/eb/arc4/bool.py +80 -0
- puyapy-0.1.0/src/puya/awst_build/eb/arc4/numeric.py +178 -0
- puyapy-0.1.0/src/puya/awst_build/eb/arc4/string.py +59 -0
- puyapy-0.1.0/src/puya/awst_build/eb/arc4/struct.py +104 -0
- puyapy-0.1.0/src/puya/awst_build/eb/arc4/tuple.py +172 -0
- puyapy-0.1.0/src/puya/awst_build/eb/array.py +123 -0
- puyapy-0.1.0/src/puya/awst_build/eb/base.py +356 -0
- puyapy-0.1.0/src/puya/awst_build/eb/biguint.py +196 -0
- puyapy-0.1.0/src/puya/awst_build/eb/bool.py +80 -0
- puyapy-0.1.0/src/puya/awst_build/eb/bytes.py +365 -0
- puyapy-0.1.0/src/puya/awst_build/eb/bytes_backed.py +52 -0
- puyapy-0.1.0/src/puya/awst_build/eb/contracts.py +363 -0
- puyapy-0.1.0/src/puya/awst_build/eb/ensure_budget.py +103 -0
- puyapy-0.1.0/src/puya/awst_build/eb/intrinsics.py +297 -0
- puyapy-0.1.0/src/puya/awst_build/eb/named_int_constants.py +31 -0
- puyapy-0.1.0/src/puya/awst_build/eb/reference_types/__init__.py +0 -0
- puyapy-0.1.0/src/puya/awst_build/eb/reference_types/account.py +113 -0
- puyapy-0.1.0/src/puya/awst_build/eb/reference_types/application.py +62 -0
- puyapy-0.1.0/src/puya/awst_build/eb/reference_types/asset.py +118 -0
- puyapy-0.1.0/src/puya/awst_build/eb/reference_types/base.py +94 -0
- puyapy-0.1.0/src/puya/awst_build/eb/struct.py +57 -0
- puyapy-0.1.0/src/puya/awst_build/eb/subroutine.py +81 -0
- puyapy-0.1.0/src/puya/awst_build/eb/temporary_assignment.py +59 -0
- puyapy-0.1.0/src/puya/awst_build/eb/transaction.py +337 -0
- puyapy-0.1.0/src/puya/awst_build/eb/tuple.py +165 -0
- puyapy-0.1.0/src/puya/awst_build/eb/type_registry.py +117 -0
- puyapy-0.1.0/src/puya/awst_build/eb/uint64.py +174 -0
- puyapy-0.1.0/src/puya/awst_build/eb/unsigned_builtins.py +113 -0
- puyapy-0.1.0/src/puya/awst_build/eb/var_factory.py +8 -0
- puyapy-0.1.0/src/puya/awst_build/eb/void.py +19 -0
- puyapy-0.1.0/src/puya/awst_build/exceptions.py +11 -0
- puyapy-0.1.0/src/puya/awst_build/intrinsic_data.py +10202 -0
- puyapy-0.1.0/src/puya/awst_build/intrinsic_models.py +41 -0
- puyapy-0.1.0/src/puya/awst_build/main.py +76 -0
- puyapy-0.1.0/src/puya/awst_build/module.py +564 -0
- puyapy-0.1.0/src/puya/awst_build/subroutine.py +1209 -0
- puyapy-0.1.0/src/puya/awst_build/utils.py +321 -0
- puyapy-0.1.0/src/puya/codegen/__init__.py +0 -0
- puyapy-0.1.0/src/puya/codegen/builder.py +439 -0
- puyapy-0.1.0/src/puya/codegen/callgraph.py +35 -0
- puyapy-0.1.0/src/puya/codegen/context.py +12 -0
- puyapy-0.1.0/src/puya/codegen/emitprogram.py +21 -0
- puyapy-0.1.0/src/puya/codegen/ops.py +404 -0
- puyapy-0.1.0/src/puya/codegen/source_meta_retriever.py +41 -0
- puyapy-0.1.0/src/puya/codegen/stack.py +415 -0
- puyapy-0.1.0/src/puya/codegen/stack_assignment.py +22 -0
- puyapy-0.1.0/src/puya/codegen/stack_baileys.py +362 -0
- puyapy-0.1.0/src/puya/codegen/stack_frame_allocation.py +122 -0
- puyapy-0.1.0/src/puya/codegen/stack_koopmans.py +402 -0
- puyapy-0.1.0/src/puya/codegen/stack_simplify_teal.py +445 -0
- puyapy-0.1.0/src/puya/codegen/teal.py +177 -0
- puyapy-0.1.0/src/puya/codegen/teal_annotaters.py +261 -0
- puyapy-0.1.0/src/puya/codegen/teal_writer.py +96 -0
- puyapy-0.1.0/src/puya/codegen/utils.py +50 -0
- puyapy-0.1.0/src/puya/codegen/visitor.py +99 -0
- puyapy-0.1.0/src/puya/codegen/vla.py +99 -0
- puyapy-0.1.0/src/puya/compile.py +234 -0
- puyapy-0.1.0/src/puya/context.py +15 -0
- puyapy-0.1.0/src/puya/errors.py +99 -0
- puyapy-0.1.0/src/puya/ir/__init__.py +5 -0
- puyapy-0.1.0/src/puya/ir/arc4_router.py +683 -0
- puyapy-0.1.0/src/puya/ir/arc4_util.py +95 -0
- puyapy-0.1.0/src/puya/ir/avm_ops.py +2424 -0
- puyapy-0.1.0/src/puya/ir/avm_ops_models.py +47 -0
- puyapy-0.1.0/src/puya/ir/blocks_builder.py +152 -0
- puyapy-0.1.0/src/puya/ir/builder.py +2440 -0
- puyapy-0.1.0/src/puya/ir/context.py +113 -0
- puyapy-0.1.0/src/puya/ir/destructure/__init__.py +0 -0
- puyapy-0.1.0/src/puya/ir/destructure/coalesce_locals.py +155 -0
- puyapy-0.1.0/src/puya/ir/destructure/main.py +35 -0
- puyapy-0.1.0/src/puya/ir/destructure/parcopy.py +145 -0
- puyapy-0.1.0/src/puya/ir/destructure/remove_phi.py +121 -0
- puyapy-0.1.0/src/puya/ir/main.py +274 -0
- puyapy-0.1.0/src/puya/ir/models.py +682 -0
- puyapy-0.1.0/src/puya/ir/optimize/__init__.py +0 -0
- puyapy-0.1.0/src/puya/ir/optimize/arithmetic.py +372 -0
- puyapy-0.1.0/src/puya/ir/optimize/assignments.py +90 -0
- puyapy-0.1.0/src/puya/ir/optimize/collapse_blocks.py +166 -0
- puyapy-0.1.0/src/puya/ir/optimize/constant_propagation.py +205 -0
- puyapy-0.1.0/src/puya/ir/optimize/dead_code_elimination.py +126 -0
- puyapy-0.1.0/src/puya/ir/optimize/main.py +125 -0
- puyapy-0.1.0/src/puya/ir/ssa.py +223 -0
- puyapy-0.1.0/src/puya/ir/to_text_visitor.py +170 -0
- puyapy-0.1.0/src/puya/ir/types_.py +73 -0
- puyapy-0.1.0/src/puya/ir/visitor.py +169 -0
- puyapy-0.1.0/src/puya/ir/visitor_mem_replacer.py +34 -0
- puyapy-0.1.0/src/puya/ir/visitor_mutator.py +140 -0
- puyapy-0.1.0/src/puya/ir/vla.py +114 -0
- puyapy-0.1.0/src/puya/lib_embedded/_puyapy_.py +46 -0
- puyapy-0.1.0/src/puya/logging_config.py +204 -0
- puyapy-0.1.0/src/puya/metadata.py +103 -0
- puyapy-0.1.0/src/puya/options.py +24 -0
- puyapy-0.1.0/src/puya/parse.py +245 -0
- puyapy-0.1.0/src/puya/py.typed +0 -0
- puyapy-0.1.0/src/puya/utils.py +159 -0
- puyapy-0.1.0/src/puyapy-stubs/__init__.pyi +19 -0
- puyapy-0.1.0/src/puyapy-stubs/_array.pyi +58 -0
- puyapy-0.1.0/src/puyapy-stubs/_constants.pyi +38 -0
- puyapy-0.1.0/src/puyapy-stubs/_contract.pyi +10 -0
- puyapy-0.1.0/src/puyapy-stubs/_gen.pyi +5616 -0
- puyapy-0.1.0/src/puyapy-stubs/_hints.pyi +13 -0
- puyapy-0.1.0/src/puyapy-stubs/_primitives.pyi +173 -0
- puyapy-0.1.0/src/puyapy-stubs/_reference.pyi +143 -0
- puyapy-0.1.0/src/puyapy-stubs/_storage.pyi +16 -0
- puyapy-0.1.0/src/puyapy-stubs/_struct.pyi +22 -0
- puyapy-0.1.0/src/puyapy-stubs/_transactions.pyi +169 -0
- puyapy-0.1.0/src/puyapy-stubs/_unsigned_builtins.pyi +22 -0
- puyapy-0.1.0/src/puyapy-stubs/_util.pyi +20 -0
- puyapy-0.1.0/src/puyapy-stubs/arc4.pyi +253 -0
puyapy-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: puyapy
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary:
|
|
5
|
+
Author: Adam Chidlow
|
|
6
|
+
Author-email: achidlow@users.noreply.github.com
|
|
7
|
+
Requires-Python: >=3.12,<4.0
|
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
10
|
+
Requires-Dist: attrs (>=23.1.0,<24.0.0)
|
|
11
|
+
Requires-Dist: docstring-parser (>=0.15,<0.16)
|
|
12
|
+
Requires-Dist: immutabledict (>=4.0.0,<5.0.0)
|
|
13
|
+
Requires-Dist: mypy_extensions (>=1.0.0,<2.0.0)
|
|
14
|
+
Requires-Dist: networkx (>=3.1,<4.0)
|
|
15
|
+
Requires-Dist: pycryptodomex (>=3.6.0,<4)
|
|
16
|
+
Requires-Dist: structlog (>=23.2.0,<24.0.0)
|
|
17
|
+
Requires-Dist: typing-extensions (>=4.8.0,<5.0.0)
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
|
|
20
|
+
# PuyaPy - Python to TEAL compiler
|
|
21
|
+
|
|
22
|
+
> [!WARNING]
|
|
23
|
+
> PuyaPy is currently in alpha / developer preview. It is not recommended for production usage yet.
|
|
24
|
+
|
|
25
|
+
PuyaPy is an optimising TEAL compiler that allows you to write code to execute on the Algorand
|
|
26
|
+
Virtual Machine (AVM) with Python syntax.
|
|
27
|
+
|
|
28
|
+
[Project background and guiding principles](docs/principles.md).
|
|
29
|
+
|
|
30
|
+
PuyaPy supports a statically-typed subset of valid Python syntax. Importantly, that subset has
|
|
31
|
+
identical semantics when comparing Python behaviour and behaviour of the executed TEAL.
|
|
32
|
+
For example, `foo = spam() or eggs()` will only execute `eggs()` if `bool(spam())` is `False`.
|
|
33
|
+
|
|
34
|
+
## Installation
|
|
35
|
+
|
|
36
|
+
The minimum supported Python version for running PuyaPy itself is 3.12.
|
|
37
|
+
|
|
38
|
+
You can install the developer preview of PuyaPy directly from this repo into your project virtualenv:
|
|
39
|
+
```shell
|
|
40
|
+
pip install git+https://github.com/algorandfoundation/puya.git
|
|
41
|
+
```
|
|
42
|
+
If you're using poetry for dependency and virutalenv management, the above URL should work with
|
|
43
|
+
`poetry add`.
|
|
44
|
+
|
|
45
|
+
Or if you just want to play with some examples, you can clone the repo and have a poke around.
|
|
46
|
+
|
|
47
|
+
```shell
|
|
48
|
+
git clone https://github.com/algorandfoundation/puya.git
|
|
49
|
+
cd puya
|
|
50
|
+
poetry install
|
|
51
|
+
poetry shell
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Note that with this method you'll need to activate the virtual environment created by poetry
|
|
55
|
+
before using the puyapy command in each new shell that you open - you can do this by running
|
|
56
|
+
`poetry shell` in the `puya` directory.
|
|
57
|
+
|
|
58
|
+
## Compiler usage
|
|
59
|
+
|
|
60
|
+
To check that you can run the `puyapy` command successfully after that, you can run the help command:
|
|
61
|
+
|
|
62
|
+
`puyapy -h`
|
|
63
|
+
|
|
64
|
+
To compile a contract or contracts, just supply the path(s) - either to the .py files themselves,
|
|
65
|
+
or the containing directories. In the case of containing directories, any contracts discovered
|
|
66
|
+
therein will be compiled, allowing you to compile multiple contracts at once. You can also supply
|
|
67
|
+
more than one path at a time to the compiler.
|
|
68
|
+
|
|
69
|
+
e.g. `puyapy my_project/` or `puyapy my_project/contract.py` will work to compile a single contract.
|
|
70
|
+
|
|
71
|
+
## Language fundamentals
|
|
72
|
+
|
|
73
|
+
> [!NOTE]
|
|
74
|
+
> A more comprehensive guide is coming soon!
|
|
75
|
+
|
|
76
|
+
### Contracts
|
|
77
|
+
|
|
78
|
+
A smart contract is defined within a single class. You can extend other contracts (through inheritance),
|
|
79
|
+
and also define standalone functions and reference them. This also works across different Python
|
|
80
|
+
packages - in other words, you can have a Python library with common functions and re-use that
|
|
81
|
+
library across multiple projects!
|
|
82
|
+
|
|
83
|
+
All contracts must inherit from the base class `puyapy.Contract` - either directly or indirectly,
|
|
84
|
+
which can include inheriting from `puyapy.ARC4Contract`. For a non-ARC4 contract, a contract class
|
|
85
|
+
must implement an `approval_program` and a `clear_state_program` method. For ARC4 contracts, these
|
|
86
|
+
methods will be implemented for you, although you can optionally provide a `clear_state_program`
|
|
87
|
+
(the default implementation just always approves).
|
|
88
|
+
|
|
89
|
+
As an example, this is a valid contract that always approves:
|
|
90
|
+
|
|
91
|
+
```python
|
|
92
|
+
import puyapy
|
|
93
|
+
|
|
94
|
+
class Contract(puyapy.Contract):
|
|
95
|
+
def approval_program(self) -> bool:
|
|
96
|
+
return True
|
|
97
|
+
|
|
98
|
+
def clear_state_program(self) -> bool:
|
|
99
|
+
return True
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
The return value of these methods can be either a `bool` that indicates whether the transaction
|
|
103
|
+
should approve or not, or a `puyapy.UInt64` value, where `UInt64(0)` indicates that the transaction
|
|
104
|
+
should be rejected and any other value indicates that it should be approved.
|
|
105
|
+
|
|
106
|
+
And here is a valid ARC4 contract:
|
|
107
|
+
|
|
108
|
+
```python
|
|
109
|
+
import puyapy
|
|
110
|
+
|
|
111
|
+
class ABIContract(puyapy.ARC4Contract):
|
|
112
|
+
"""This contract can be created, but otherwise does nothing"""
|
|
113
|
+
pass
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Primitive types
|
|
117
|
+
|
|
118
|
+
The primitive types of the AVM, `uint64` and `bytes[]` are represented by `puyapy.UInt64` and
|
|
119
|
+
`puyapy.Bytes` respectively. `puyapy.BigUInt` is also available for AVM supported wide-math
|
|
120
|
+
(up to 512 bits).
|
|
121
|
+
|
|
122
|
+
Note that Python builtin types such as `int` cannot be used as variables, for semantic compatibility
|
|
123
|
+
reasons - however you can define module level constants of this type.
|
|
124
|
+
|
|
125
|
+
```python
|
|
126
|
+
from puyapy import UInt64, subroutine
|
|
127
|
+
|
|
128
|
+
SCALE = 100000
|
|
129
|
+
SCALED_PI = 314159
|
|
130
|
+
|
|
131
|
+
@subroutine
|
|
132
|
+
def circle_area(radius: UInt64) -> UInt64:
|
|
133
|
+
scaled_result = SCALED_PI * radius**2
|
|
134
|
+
result = scaled_result // SCALE
|
|
135
|
+
return result
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
...
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
## Examples
|
|
144
|
+
|
|
145
|
+
There are many examples in this repo, here are some of the more useful ones that showcase what
|
|
146
|
+
is possible.
|
|
147
|
+
|
|
148
|
+
- [voting](examples/voting/voting.py)
|
|
149
|
+
- [AMM](examples/amm/contract.py)
|
|
150
|
+
- [auction](examples/TEALScript/auction/contract.py)
|
|
151
|
+
- [non-ABI calculator](examples/calculator/contract.py)
|
|
152
|
+
- [local storage](examples/local_storage)
|
|
153
|
+
|
|
154
|
+
The compiled output is available under the `out/` directory alongside these, e.g. the approval
|
|
155
|
+
TEAL for `voting` is available at [examples/voting/out/voting.approval.teal](examples/voting/out/voting.approval.teal).
|
|
156
|
+
|
puyapy-0.1.0/README.md
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# PuyaPy - Python to TEAL compiler
|
|
2
|
+
|
|
3
|
+
> [!WARNING]
|
|
4
|
+
> PuyaPy is currently in alpha / developer preview. It is not recommended for production usage yet.
|
|
5
|
+
|
|
6
|
+
PuyaPy is an optimising TEAL compiler that allows you to write code to execute on the Algorand
|
|
7
|
+
Virtual Machine (AVM) with Python syntax.
|
|
8
|
+
|
|
9
|
+
[Project background and guiding principles](docs/principles.md).
|
|
10
|
+
|
|
11
|
+
PuyaPy supports a statically-typed subset of valid Python syntax. Importantly, that subset has
|
|
12
|
+
identical semantics when comparing Python behaviour and behaviour of the executed TEAL.
|
|
13
|
+
For example, `foo = spam() or eggs()` will only execute `eggs()` if `bool(spam())` is `False`.
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
The minimum supported Python version for running PuyaPy itself is 3.12.
|
|
18
|
+
|
|
19
|
+
You can install the developer preview of PuyaPy directly from this repo into your project virtualenv:
|
|
20
|
+
```shell
|
|
21
|
+
pip install git+https://github.com/algorandfoundation/puya.git
|
|
22
|
+
```
|
|
23
|
+
If you're using poetry for dependency and virutalenv management, the above URL should work with
|
|
24
|
+
`poetry add`.
|
|
25
|
+
|
|
26
|
+
Or if you just want to play with some examples, you can clone the repo and have a poke around.
|
|
27
|
+
|
|
28
|
+
```shell
|
|
29
|
+
git clone https://github.com/algorandfoundation/puya.git
|
|
30
|
+
cd puya
|
|
31
|
+
poetry install
|
|
32
|
+
poetry shell
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Note that with this method you'll need to activate the virtual environment created by poetry
|
|
36
|
+
before using the puyapy command in each new shell that you open - you can do this by running
|
|
37
|
+
`poetry shell` in the `puya` directory.
|
|
38
|
+
|
|
39
|
+
## Compiler usage
|
|
40
|
+
|
|
41
|
+
To check that you can run the `puyapy` command successfully after that, you can run the help command:
|
|
42
|
+
|
|
43
|
+
`puyapy -h`
|
|
44
|
+
|
|
45
|
+
To compile a contract or contracts, just supply the path(s) - either to the .py files themselves,
|
|
46
|
+
or the containing directories. In the case of containing directories, any contracts discovered
|
|
47
|
+
therein will be compiled, allowing you to compile multiple contracts at once. You can also supply
|
|
48
|
+
more than one path at a time to the compiler.
|
|
49
|
+
|
|
50
|
+
e.g. `puyapy my_project/` or `puyapy my_project/contract.py` will work to compile a single contract.
|
|
51
|
+
|
|
52
|
+
## Language fundamentals
|
|
53
|
+
|
|
54
|
+
> [!NOTE]
|
|
55
|
+
> A more comprehensive guide is coming soon!
|
|
56
|
+
|
|
57
|
+
### Contracts
|
|
58
|
+
|
|
59
|
+
A smart contract is defined within a single class. You can extend other contracts (through inheritance),
|
|
60
|
+
and also define standalone functions and reference them. This also works across different Python
|
|
61
|
+
packages - in other words, you can have a Python library with common functions and re-use that
|
|
62
|
+
library across multiple projects!
|
|
63
|
+
|
|
64
|
+
All contracts must inherit from the base class `puyapy.Contract` - either directly or indirectly,
|
|
65
|
+
which can include inheriting from `puyapy.ARC4Contract`. For a non-ARC4 contract, a contract class
|
|
66
|
+
must implement an `approval_program` and a `clear_state_program` method. For ARC4 contracts, these
|
|
67
|
+
methods will be implemented for you, although you can optionally provide a `clear_state_program`
|
|
68
|
+
(the default implementation just always approves).
|
|
69
|
+
|
|
70
|
+
As an example, this is a valid contract that always approves:
|
|
71
|
+
|
|
72
|
+
```python
|
|
73
|
+
import puyapy
|
|
74
|
+
|
|
75
|
+
class Contract(puyapy.Contract):
|
|
76
|
+
def approval_program(self) -> bool:
|
|
77
|
+
return True
|
|
78
|
+
|
|
79
|
+
def clear_state_program(self) -> bool:
|
|
80
|
+
return True
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
The return value of these methods can be either a `bool` that indicates whether the transaction
|
|
84
|
+
should approve or not, or a `puyapy.UInt64` value, where `UInt64(0)` indicates that the transaction
|
|
85
|
+
should be rejected and any other value indicates that it should be approved.
|
|
86
|
+
|
|
87
|
+
And here is a valid ARC4 contract:
|
|
88
|
+
|
|
89
|
+
```python
|
|
90
|
+
import puyapy
|
|
91
|
+
|
|
92
|
+
class ABIContract(puyapy.ARC4Contract):
|
|
93
|
+
"""This contract can be created, but otherwise does nothing"""
|
|
94
|
+
pass
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Primitive types
|
|
98
|
+
|
|
99
|
+
The primitive types of the AVM, `uint64` and `bytes[]` are represented by `puyapy.UInt64` and
|
|
100
|
+
`puyapy.Bytes` respectively. `puyapy.BigUInt` is also available for AVM supported wide-math
|
|
101
|
+
(up to 512 bits).
|
|
102
|
+
|
|
103
|
+
Note that Python builtin types such as `int` cannot be used as variables, for semantic compatibility
|
|
104
|
+
reasons - however you can define module level constants of this type.
|
|
105
|
+
|
|
106
|
+
```python
|
|
107
|
+
from puyapy import UInt64, subroutine
|
|
108
|
+
|
|
109
|
+
SCALE = 100000
|
|
110
|
+
SCALED_PI = 314159
|
|
111
|
+
|
|
112
|
+
@subroutine
|
|
113
|
+
def circle_area(radius: UInt64) -> UInt64:
|
|
114
|
+
scaled_result = SCALED_PI * radius**2
|
|
115
|
+
result = scaled_result // SCALE
|
|
116
|
+
return result
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
...
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
## Examples
|
|
125
|
+
|
|
126
|
+
There are many examples in this repo, here are some of the more useful ones that showcase what
|
|
127
|
+
is possible.
|
|
128
|
+
|
|
129
|
+
- [voting](examples/voting/voting.py)
|
|
130
|
+
- [AMM](examples/amm/contract.py)
|
|
131
|
+
- [auction](examples/TEALScript/auction/contract.py)
|
|
132
|
+
- [non-ABI calculator](examples/calculator/contract.py)
|
|
133
|
+
- [local storage](examples/local_storage)
|
|
134
|
+
|
|
135
|
+
The compiled output is available under the `out/` directory alongside these, e.g. the approval
|
|
136
|
+
TEAL for `voting` is available at [examples/voting/out/voting.approval.teal](examples/voting/out/voting.approval.teal).
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
[tool.poetry]
|
|
2
|
+
name = "puyapy"
|
|
3
|
+
version = "0.1.0"
|
|
4
|
+
description = ""
|
|
5
|
+
authors = ["Adam Chidlow <achidlow@users.noreply.github.com>"]
|
|
6
|
+
readme = "README.md"
|
|
7
|
+
packages = [
|
|
8
|
+
{ include = "puya", from = "src" },
|
|
9
|
+
{ include = "puyapy-stubs", from = "src" },
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
[tool.poetry.dependencies]
|
|
13
|
+
python = "^3.12"
|
|
14
|
+
typing-extensions = "^4.8.0"
|
|
15
|
+
attrs = "^23.1.0"
|
|
16
|
+
structlog = "^23.2.0"
|
|
17
|
+
networkx = "^3.1"
|
|
18
|
+
docstring-parser = "^0.15"
|
|
19
|
+
pycryptodomex = ">=3.6.0,<4"
|
|
20
|
+
immutabledict = "^4.0.0"
|
|
21
|
+
# vendored mypy dependencies
|
|
22
|
+
mypy_extensions = "^1.0.0"
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
[tool.poetry.group.dev.dependencies]
|
|
26
|
+
black = {extras = ["d"], version = "^23.10.1"}
|
|
27
|
+
mypy = "1.7.0"
|
|
28
|
+
ruff = "^0.1.3"
|
|
29
|
+
pre-commit = "^3.3.3"
|
|
30
|
+
pytest = "^7.4.0"
|
|
31
|
+
pytest-xdist = {extras = ["psutil"], version = "^3.3.1"}
|
|
32
|
+
cattrs = "^23.1.2"
|
|
33
|
+
py-algorand-sdk = "^2.4.0"
|
|
34
|
+
ruff-lsp = "^0.0.45"
|
|
35
|
+
pytest-cov = "^4.1.0"
|
|
36
|
+
pip-audit = "^2.6.1"
|
|
37
|
+
algokit-utils = "^1.3.1"
|
|
38
|
+
|
|
39
|
+
[build-system]
|
|
40
|
+
requires = ["poetry-core"]
|
|
41
|
+
build-backend = "poetry.core.masonry.api"
|
|
42
|
+
|
|
43
|
+
[tool.poetry.scripts]
|
|
44
|
+
puyapy = "puya.__main__:main"
|
|
45
|
+
|
|
46
|
+
[tool.pytest.ini_options]
|
|
47
|
+
addopts = "-n auto --cov-config=.coveragerc"
|
|
48
|
+
testpaths = [
|
|
49
|
+
"tests"
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
[tool.black]
|
|
53
|
+
line-length = 99
|
|
54
|
+
force-exclude = "src/puya/(_typeshed|_vendor)"
|
|
55
|
+
|
|
56
|
+
[tool.mypy]
|
|
57
|
+
python_version = "3.12"
|
|
58
|
+
strict = true
|
|
59
|
+
untyped_calls_exclude = [
|
|
60
|
+
"algosdk",
|
|
61
|
+
]
|
|
62
|
+
exclude = [
|
|
63
|
+
"src/puya/_typeshed",
|
|
64
|
+
"src/puya/_vendor",
|
|
65
|
+
]
|
|
66
|
+
|
|
67
|
+
[[tool.mypy.overrides]]
|
|
68
|
+
module = ["puyapy", "puyapy.*"]
|
|
69
|
+
disallow_any_unimported = true
|
|
70
|
+
disallow_any_expr = true
|
|
71
|
+
disallow_any_decorated = true
|
|
72
|
+
disallow_any_explicit = true
|
|
73
|
+
|
|
74
|
+
[[tool.mypy.overrides]]
|
|
75
|
+
module = ["algosdk", "algosdk.*"]
|
|
76
|
+
disallow_untyped_calls = false
|
|
77
|
+
|
|
78
|
+
[tool.ruff]
|
|
79
|
+
line-length = 99
|
|
80
|
+
select = [
|
|
81
|
+
# all possible codes as of this ruff version are listed here,
|
|
82
|
+
# ones we don't want/need are commented out to make it clear
|
|
83
|
+
# which have been omitted on purpose vs which ones get added
|
|
84
|
+
# in new ruff releases and should be considered for enabling
|
|
85
|
+
"F", # pyflakes
|
|
86
|
+
"E", "W", # pycodestyle
|
|
87
|
+
"C90", # mccabe
|
|
88
|
+
"I", # isort
|
|
89
|
+
"N", # PEP8 naming
|
|
90
|
+
"UP", # pyupgrade
|
|
91
|
+
"YTT", # flake8-2020
|
|
92
|
+
"ANN", # flake8-annotations
|
|
93
|
+
# "S", # flake8-bandit
|
|
94
|
+
# "BLE", # flake8-blind-except
|
|
95
|
+
"FBT", # flake8-boolean-trap
|
|
96
|
+
"B", # flake8-bugbear
|
|
97
|
+
"A", # flake8-builtins
|
|
98
|
+
# "COM", # flake8-commas
|
|
99
|
+
"C4", # flake8-comprehensions
|
|
100
|
+
"DTZ", # flake8-datetimez
|
|
101
|
+
"T10", # flake8-debugger
|
|
102
|
+
# "DJ", # flake8-django
|
|
103
|
+
# "EM", # flake8-errmsg
|
|
104
|
+
# "EXE", # flake8-executable
|
|
105
|
+
"ISC", # flake8-implicit-str-concat
|
|
106
|
+
"ICN", # flake8-import-conventions
|
|
107
|
+
# "G", # flake8-logging-format
|
|
108
|
+
# "INP", # flake8-no-pep420
|
|
109
|
+
"PIE", # flake8-pie
|
|
110
|
+
"T20", # flake8-print
|
|
111
|
+
"PYI", # flake8-pyi
|
|
112
|
+
"PT", # flake8-pytest-style
|
|
113
|
+
"Q", # flake8-quotes
|
|
114
|
+
"RSE", # flake8-raise
|
|
115
|
+
# "RET", # flake8-return
|
|
116
|
+
"SLF", # flake8-self
|
|
117
|
+
"SIM", # flake8-simplify
|
|
118
|
+
"TID", # flake8-tidy-imports
|
|
119
|
+
"TCH", # flake8-type-checking
|
|
120
|
+
"ARG", # flake8-unused-arguments
|
|
121
|
+
"PTH", # flake8-use-pathlib
|
|
122
|
+
"ERA", # eradicate
|
|
123
|
+
# "PD", # pandas-vet
|
|
124
|
+
"PGH", # pygrep-hooks
|
|
125
|
+
"PL", # pylint
|
|
126
|
+
# "TRY", # tryceratops
|
|
127
|
+
# "NPY", # NumPy-specific rules
|
|
128
|
+
"RUF", # Ruff-specific rules
|
|
129
|
+
]
|
|
130
|
+
ignore = [
|
|
131
|
+
"ANN101", # no type for self
|
|
132
|
+
"ANN102", # no type for cls
|
|
133
|
+
"SIM108", # allow if-else in place of ternary
|
|
134
|
+
"PLR2004", # magic values... can't configure to ignore simple low value ints like 2
|
|
135
|
+
"PLW2901", # allow updating loop value...
|
|
136
|
+
"PYI025", # I can tell the difference between set and Set thank you very much
|
|
137
|
+
# TODO: REMOVE ALL THE BELOW vvv
|
|
138
|
+
"ERA001", # don't automatically remove commented out code
|
|
139
|
+
"T201", # allow prints (FOR NOW)
|
|
140
|
+
# TODO: REMOVE ALL THE BELOW AFTER REFACTORING BUILDING CODE vvv
|
|
141
|
+
"C901", # is too complex (> 10)
|
|
142
|
+
"PLR0911", # Too many return statements (> 6)
|
|
143
|
+
"PLR0912", # Too many branches (> 12)
|
|
144
|
+
"PLR0913", # Too many arguments to function call (> 5)
|
|
145
|
+
"PLR0915", # Too many statements (> 50)
|
|
146
|
+
|
|
147
|
+
]
|
|
148
|
+
unfixable = [
|
|
149
|
+
# TODO: REMOVE THE BELOW
|
|
150
|
+
# "ERA001", # don't automatically remove commented out code
|
|
151
|
+
"F841", # don't delete unused local variables automatically
|
|
152
|
+
"B011", # don't automatically convert assert False -> raise AssertionError - we want the former
|
|
153
|
+
# in any smart contracts in this repo
|
|
154
|
+
]
|
|
155
|
+
extend-exclude = [
|
|
156
|
+
"src/puya/_typeshed",
|
|
157
|
+
"src/puya/_vendor",
|
|
158
|
+
]
|
|
159
|
+
[tool.ruff.per-file-ignores]
|
|
160
|
+
"src/**" = [
|
|
161
|
+
"PT", # no pytest rules
|
|
162
|
+
]
|
|
163
|
+
"src/puyapy-stubs/**" = [
|
|
164
|
+
"PYI021", # allow docstrings in stubs
|
|
165
|
+
"PYI053", # allow "docstrings" in overloads
|
|
166
|
+
]
|
|
167
|
+
"examples/**" = [
|
|
168
|
+
"PT", # no pytest rules
|
|
169
|
+
"B011", # allow assert False, "msg"
|
|
170
|
+
]
|
|
171
|
+
"src/puya/awst_build/eb/**" = [
|
|
172
|
+
# TODO: remove the below
|
|
173
|
+
"ARG002",
|
|
174
|
+
]
|
|
175
|
+
|
|
176
|
+
[tool.ruff.flake8-annotations]
|
|
177
|
+
allow-star-arg-any = true
|
|
178
|
+
suppress-none-returning = true
|
|
179
|
+
mypy-init-return = true
|
|
180
|
+
|
|
181
|
+
[tool.ruff.isort]
|
|
182
|
+
combine-as-imports = true
|
|
183
|
+
force-wrap-aliases = true
|
|
184
|
+
|
|
185
|
+
[tool.ruff.flake8-builtins]
|
|
186
|
+
builtins-ignorelist = ["id"]
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# FAQ
|
|
2
|
+
|
|
3
|
+
### There are too many things named "context"!
|
|
4
|
+
Yes
|
|
5
|
+
|
|
6
|
+
# Other
|
|
7
|
+
|
|
8
|
+
## Layers
|
|
9
|
+
|
|
10
|
+
In top-down order:
|
|
11
|
+
|
|
12
|
+
- puya/
|
|
13
|
+
- compile.py
|
|
14
|
+
- codegen/
|
|
15
|
+
- ir/
|
|
16
|
+
- awst/
|
|
17
|
+
- metadata.py
|
|
18
|
+
- parse.py
|
|
19
|
+
- errors.py
|
|
20
|
+
- puyapy/
|
|
21
|
+
|
|
22
|
+
Nothing should ever import from something higher in the list.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## IR Ops
|
|
26
|
+
|
|
27
|
+
TEAL spec doesn't have "types" for immediate args
|
|
28
|
+
(ie literal values that end up in the TEAL source)
|
|
29
|
+
This diverges from mypyc Value, which has an rtype always on the Value
|
|
30
|
+
class, even if that rtype is void.
|
|
31
|
+
|
|
32
|
+
We might not even be able to resolve the type of an int literal in the Python source,
|
|
33
|
+
until it's used in context with an actual AVM Type, eg:
|
|
34
|
+
|
|
35
|
+
UInt64(1) + 2
|
|
36
|
+
vs
|
|
37
|
+
|
|
38
|
+
UInt512(1) + 2
|
|
39
|
+
|
|
40
|
+
we don't know the "runtime type" of "2" until we expand the binary operation,
|
|
41
|
+
(we probably don't even know the type of "1" unless we handle the compound CallExpr and
|
|
42
|
+
IntLiteral together, which has some downsides).
|
|
43
|
+
|
|
44
|
+
Option 1: parallel hierarchies
|
|
45
|
+
|
|
46
|
+
ImmediateValue(ctx: mypy.nodes.Context)
|
|
47
|
+
-> IntLiteral
|
|
48
|
+
-> BytesLiteral
|
|
49
|
+
AVMValue(ctx: mypy.nodes.Context, rtype: RType)
|
|
50
|
+
-> Ops
|
|
51
|
+
-> ...
|
|
52
|
+
|
|
53
|
+
Option 2: one hierarchy, rtype not defined on Value
|
|
54
|
+
|
|
55
|
+
Value(ctx: mypy.nodes.Context)
|
|
56
|
+
-> ImmediateValue
|
|
57
|
+
-> IntLiteral
|
|
58
|
+
-> BytesLiteral
|
|
59
|
+
-> AVMValue(rtype: RType)
|
|
60
|
+
-> Ops
|
|
61
|
+
-> ...
|
|
62
|
+
|
|
63
|
+
Option 3: one hierarchy, rtype defined on Value but is optional
|
|
64
|
+
|
|
65
|
+
Value(ctx: mypy.nodes.Context, rtype: RType | None)
|
|
66
|
+
-> IntLiteral
|
|
67
|
+
-> BytesLiteral
|
|
68
|
+
-> Ops
|
|
69
|
+
-> ...
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
Option 1 is annoying dealing with unions everywhere, too much typing.
|
|
73
|
+
|
|
74
|
+
Out of Option 2 and Option 3, mishandling is probably more obvious in 2.
|
|
75
|
+
|
|
76
|
+
Selecting Option 2.
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
## Puya AST
|
|
80
|
+
|
|
81
|
+
- no dependency on mypy past this point. We are insulated from either changes in mypy or changing to another parser
|
|
82
|
+
- Validate as much as possible during conversion - most source information at this point & early validation means less error compounding causing confusion.
|
|
83
|
+
- This means fully normalised, and only what is required remains. Much easier to reason about this new ast when converting to ir
|
|
84
|
+
- No python peculiarities eg a < b < c (which is the same as ((a < b) and (b < c)) _except_ that b is only evaluated once)
|
|
85
|
+
- e.g. a < func_with_side_effects() < c would be equivalent to (tmp = func_with_side_effects(); a < tmp and tmp < c)
|
|
86
|
+
- e.g., a and b and c *_returns_* the first one of (a, b, c) that is falsy or if all are truthy returns c, whilst only evaluating each of a, b, and c at most once (ie still short circuiting)
|
|
87
|
+
- Still high level though eg if else, not branch + go to
|
|
88
|
+
- All stubs fully resolved, ie no further dependence on “puyapy” component. This further insulates from python specifics. Maybe this ast can be target for other languages? Note: this includes any necessary ast code generation eg approval program for arc4
|
|
89
|
+
- All types fully resolved & checked
|
|
90
|
+
|
|
91
|
+
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import argparse
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
|
|
4
|
+
from puya.compile import compile_to_teal
|
|
5
|
+
from puya.logging_config import LogLevel, configure_logging
|
|
6
|
+
from puya.options import PuyaOptions
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def main() -> None:
|
|
10
|
+
parser = argparse.ArgumentParser(
|
|
11
|
+
prog="puya",
|
|
12
|
+
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
|
13
|
+
)
|
|
14
|
+
parser.add_argument(
|
|
15
|
+
"-g", # -g chosen because it is the same option for debug in gcc
|
|
16
|
+
"--debug-level",
|
|
17
|
+
type=int,
|
|
18
|
+
choices=[0, 1, 2],
|
|
19
|
+
default=0,
|
|
20
|
+
help="debug information level",
|
|
21
|
+
)
|
|
22
|
+
parser.add_argument(
|
|
23
|
+
"-O",
|
|
24
|
+
"--optimization-level",
|
|
25
|
+
type=int,
|
|
26
|
+
choices=[0, 1, 2],
|
|
27
|
+
default=1,
|
|
28
|
+
help="set optimization level",
|
|
29
|
+
)
|
|
30
|
+
parser.add_argument(
|
|
31
|
+
"--output-teal",
|
|
32
|
+
action=argparse.BooleanOptionalAction,
|
|
33
|
+
default=True,
|
|
34
|
+
help="Output TEAL",
|
|
35
|
+
)
|
|
36
|
+
parser.add_argument(
|
|
37
|
+
"--output-arc32",
|
|
38
|
+
action=argparse.BooleanOptionalAction,
|
|
39
|
+
default=True,
|
|
40
|
+
help="Output ARC32 application.json",
|
|
41
|
+
)
|
|
42
|
+
parser.add_argument(
|
|
43
|
+
"--output-awst",
|
|
44
|
+
action=argparse.BooleanOptionalAction,
|
|
45
|
+
default=False,
|
|
46
|
+
help="output parsed result of AST",
|
|
47
|
+
)
|
|
48
|
+
parser.add_argument(
|
|
49
|
+
"--output-ssa-ir",
|
|
50
|
+
action=argparse.BooleanOptionalAction,
|
|
51
|
+
default=False,
|
|
52
|
+
help="output IR in SSA form",
|
|
53
|
+
)
|
|
54
|
+
parser.add_argument(
|
|
55
|
+
"--output-optimization-ir",
|
|
56
|
+
action=argparse.BooleanOptionalAction,
|
|
57
|
+
default=False,
|
|
58
|
+
help="output IR after each optimization",
|
|
59
|
+
)
|
|
60
|
+
parser.add_argument(
|
|
61
|
+
"--output-final-ir",
|
|
62
|
+
action=argparse.BooleanOptionalAction,
|
|
63
|
+
default=False,
|
|
64
|
+
help="output IR before codegen",
|
|
65
|
+
)
|
|
66
|
+
parser.add_argument(
|
|
67
|
+
"--output-cssa-ir",
|
|
68
|
+
action=argparse.BooleanOptionalAction,
|
|
69
|
+
default=False,
|
|
70
|
+
help="output IR in cssa form",
|
|
71
|
+
)
|
|
72
|
+
parser.add_argument(
|
|
73
|
+
"--output-post-ssa-ir",
|
|
74
|
+
action=argparse.BooleanOptionalAction,
|
|
75
|
+
default=False,
|
|
76
|
+
help="output IR post ssa form",
|
|
77
|
+
)
|
|
78
|
+
parser.add_argument(
|
|
79
|
+
"--output-parallel-copies-ir",
|
|
80
|
+
action=argparse.BooleanOptionalAction,
|
|
81
|
+
default=False,
|
|
82
|
+
help="output IR after parallel copy sequentialization",
|
|
83
|
+
)
|
|
84
|
+
parser.add_argument(
|
|
85
|
+
"--out-dir", type=Path, help="path for outputting artefacts", default=False
|
|
86
|
+
)
|
|
87
|
+
parser.add_argument(
|
|
88
|
+
"--log-level",
|
|
89
|
+
type=LogLevel.from_string,
|
|
90
|
+
choices=list(LogLevel),
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
parser.add_argument("paths", type=Path, nargs="+", metavar="PATH")
|
|
94
|
+
options = PuyaOptions()
|
|
95
|
+
parser.parse_args(namespace=options)
|
|
96
|
+
configure_logging(min_log_level=options.log_level)
|
|
97
|
+
compile_to_teal(options)
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
if __name__ == "__main__":
|
|
101
|
+
main()
|