diff --git a/.github/workflows/ci-pyright.yml b/.github/workflows/ci-pyright.yml new file mode 100644 index 00000000..f381b822 --- /dev/null +++ b/.github/workflows/ci-pyright.yml @@ -0,0 +1,28 @@ +# This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions + +name: CI - Pyright + +on: + # Trigger the workflow on push or pull request, + # but only for the master branch + push: + branches: + - main + pull_request: + +jobs: + build: + runs-on: ubuntu-24.04 + + env: + PYRIGHT_VERSION: 1.0 + + steps: + - uses: actions/checkout@v4 + - uses: prefix-dev/setup-pixi@v0.8.1 + with: + cache: true + cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }} + - name: check pyright + run: pixi run pyright diff --git a/pixi.lock b/pixi.lock index 009ddc9e..1be52d39 100644 --- a/pixi.lock +++ b/pixi.lock @@ -42,6 +42,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.0.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/immutables-0.21-py312h66e93f0_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.4.5-pyhd8ed1ab_1.conda @@ -74,14 +75,17 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-14.2.0-hc0a3c3a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-14.2.0-h4852527_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.49.2-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.5-h0d44e9d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.5-h8d12d68_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lld-19.1.1-ha85224e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.2-py312h178313f_1.conda - conda: https://conda.anaconda.org/kuleuven-micas/linux-64/mlir-19.1.1.d401987fe349a87c53fe25829215b80b70c0c1a-hb0f4dca_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-he02047a_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/nodejs-22.12.0-hf235a45_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.4.0-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_2.conda @@ -91,6 +95,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/pulp-2.8.0-py312h7900ff3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.0-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyright-1.1.390-py312h66e93f0_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.8-h9e4cc4f_1_cpython.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.1-pyhd8ed1ab_0.conda @@ -101,6 +106,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/reretry-0.11.8-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.22.3-py312h12e396e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.6.0-pyhff2d567_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.0.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.17.4-pyhdfd78af_0.tar.bz2 @@ -121,6 +127,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.5.5-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.21.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312hef9b889_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.6-ha6fb4c9_0.conda - pypi: https://files.pythonhosted.org/packages/a2/ad/e0d3c824784ff121c03cc031f944bc7e139a8f1870ffd2845cc2dd76f6c4/absl_py-2.1.0-py3-none-any.whl @@ -150,7 +157,6 @@ environments: - pypi: https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e5/f1/93219c44bae4017e6e43391fa4433592de08e05def9d885227d3596f21a5/ml_dtypes-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/73/59/7854fbfb59f8ae35483ce93493708be5942ebb6328cd85b3a609df629736/namex-0.0.8-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/0f/50/de23fde84e45f5c4fda2488c759b69990fd4512387a8632860f3ac9cd225/numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/23/cd/066e86230ae37ed0be70aae89aabf03ca8d9f39c8aea0dec8029455b5540/opt_einsum-3.4.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/98/10/087a684c7b5029e3be1f335d9df422b406cbfd842c77abfa7b17085adce5/optree-0.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl @@ -165,7 +171,6 @@ environments: - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/19/71/39c7c0d87f8d4e6c020a393182060eaefeeae6c01dab6a84ec346f2567df/rich-13.9.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/55/21/47d163f615df1d30c094f6c8bbb353619274edccf0327b185cc2493c2c33/setuptools-75.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3a/d0/b97889ffa769e2d1fdebb632084d5e8b53fc299d43a537acee7ec0c021a3/tensorboard-2.16.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/7a/13/e503968fefabd4c6b2650af21e110aa8466fe21432cd7c43a84577a89438/tensorboard_data_server-0.7.2-py3-none-any.whl @@ -181,8 +186,6 @@ packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726 md5: d7c89558ba9fa0495403155b64376d81 - arch: x86_64 - platform: linux license: None purls: [] size: 2562 @@ -196,8 +199,6 @@ packages: - libgomp >=7.5.0 constrains: - openmp_impl 9999 - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD purls: [] @@ -266,8 +267,6 @@ packages: depends: - ld_impl_linux-64 2.43 h712a8e2_2 - sysroot_linux-64 - arch: x86_64 - platform: linux license: GPL-3.0-only license_family: GPL purls: [] @@ -284,8 +283,6 @@ packages: - python_abi 3.12.* *_cp312 constrains: - libbrotlicommon 1.1.0 hb9d3cd8_2 - arch: x86_64 - platform: linux license: MIT license_family: MIT purls: @@ -298,8 +295,6 @@ packages: depends: - __glibc >=2.17,<3.0.a0 - libgcc-ng >=12 - arch: x86_64 - platform: linux license: bzip2-1.0.6 license_family: BSD purls: [] @@ -308,8 +303,6 @@ packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.12.14-hbcca054_0.conda sha256: 1afd7274cbc9a334d6d0bc62fa760acc7afdaceb0b91a8df370ec01fd75dc7dd md5: 720523eb0d6a9b0f6120c16b2aa4e7de - arch: x86_64 - platform: linux license: ISC purls: [] size: 157088 @@ -334,8 +327,6 @@ packages: - pycparser - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - arch: x86_64 - platform: linux license: MIT license_family: MIT purls: @@ -366,8 +357,6 @@ packages: - clang-19 19.1.1 default_hb5137d0_0 - libgcc-devel_linux-64 - sysroot_linux-64 - arch: x86_64 - platform: linux license: Apache-2.0 WITH LLVM-exception license_family: Apache purls: [] @@ -382,8 +371,6 @@ packages: - libgcc >=13 - libllvm19 >=19.1.1,<19.2.0a0 - libstdcxx >=13 - arch: x86_64 - platform: linux license: Apache-2.0 WITH LLVM-exception license_family: Apache purls: [] @@ -402,8 +389,6 @@ packages: - libstdcxx >=13 constrains: - coincbc * *_metapackage - arch: x86_64 - platform: linux license: EPL-2.0 license_family: OTHER purls: [] @@ -428,8 +413,6 @@ packages: - readline >=8.2,<9.0a0 constrains: - coincbc * *_metapackage - arch: x86_64 - platform: linux license: EPL-2.0 license_family: OTHER purls: [] @@ -455,8 +438,6 @@ packages: - readline >=8.2,<9.0a0 constrains: - coincbc * *_metapackage - arch: x86_64 - platform: linux license: EPL-2.0 license_family: OTHER purls: [] @@ -477,8 +458,6 @@ packages: - libzlib >=1.3.1,<2.0a0 constrains: - coincbc * *_metapackage - arch: x86_64 - platform: linux license: EPL-2.0 license_family: OTHER purls: [] @@ -501,8 +480,6 @@ packages: - libzlib >=1.3.1,<2.0a0 constrains: - coincbc * *_metapackage - arch: x86_64 - platform: linux license: EPL-2.0 license_family: OTHER purls: [] @@ -598,8 +575,6 @@ packages: - libgcc >=13 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - arch: x86_64 - platform: linux license: LGPL-2.1-or-later license_family: LGPL purls: @@ -792,6 +767,18 @@ packages: - pkg:pypi/hyperframe?source=hash-mapping size: 17239 timestamp: 1733298862681 +- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + sha256: 71e750d509f5fa3421087ba88ef9a7b9be11c53174af3aa4d06aff4c18b38e8e + md5: 8b189310083baabfb622af68fd9d3ae3 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + purls: [] + size: 12129203 + timestamp: 1720853576813 - pypi: https://files.pythonhosted.org/packages/c9/f5/09644a3ad803fae9eca8efa17e1f2aef380c7f0b02f7ec4e8d446e51d64a/identify-2.6.3-py2.py3-none-any.whl name: identify version: 2.6.3 @@ -823,8 +810,6 @@ packages: - libgcc >=13 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - arch: x86_64 - platform: linux license: Apache-2.0 license_family: APACHE purls: @@ -941,8 +926,6 @@ packages: - __glibc >=2.17,<3.0.a0 constrains: - binutils_impl_linux-64 2.43 - arch: x86_64 - platform: linux license: GPL-3.0-only license_family: GPL purls: [] @@ -960,8 +943,6 @@ packages: - liblapack 3.9.0 26_linux64_openblas - liblapacke 3.9.0 26_linux64_openblas - blas * openblas - arch: x86_64 - platform: linux license: BSD-3-Clause purls: [] size: 16393 @@ -976,8 +957,6 @@ packages: - liblapack 3.9.0 26_linux64_openblas - liblapacke 3.9.0 26_linux64_openblas - blas * openblas - arch: x86_64 - platform: linux license: BSD-3-Clause purls: [] size: 16336 @@ -994,8 +973,6 @@ packages: - libgcc >=13 - libllvm19 >=19.1.1,<19.2.0a0 - libstdcxx >=13 - arch: x86_64 - platform: linux license: Apache-2.0 WITH LLVM-exception license_family: Apache purls: [] @@ -1009,8 +986,6 @@ packages: - libgcc >=13 constrains: - expat 2.6.4.* - arch: x86_64 - platform: linux license: MIT license_family: MIT purls: [] @@ -1021,8 +996,6 @@ packages: md5: d645c6d2ac96843a2bfaccd2d62b3ac3 depends: - libgcc-ng >=9.4.0 - arch: x86_64 - platform: linux license: MIT license_family: MIT purls: [] @@ -1037,8 +1010,6 @@ packages: constrains: - libgomp 14.2.0 h77fa898_1 - libgcc-ng ==14.2.0=*_1 - arch: x86_64 - platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] @@ -1059,8 +1030,6 @@ packages: md5: e39480b9ca41323497b05492a63bc35b depends: - libgcc 14.2.0 h77fa898_1 - arch: x86_64 - platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] @@ -1073,8 +1042,6 @@ packages: - libgfortran5 14.2.0 hd5240d6_1 constrains: - libgfortran-ng ==14.2.0=*_1 - arch: x86_64 - platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] @@ -1085,8 +1052,6 @@ packages: md5: 0a7f4cd238267c88e5d69f7826a407eb depends: - libgfortran 14.2.0 h69a702a_1 - arch: x86_64 - platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] @@ -1099,8 +1064,6 @@ packages: - libgcc >=14.2.0 constrains: - libgfortran 14.2.0 - arch: x86_64 - platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] @@ -1111,8 +1074,6 @@ packages: md5: cc3573974587f12dda90d96e3e55a702 depends: - _libgcc_mutex 0.1 conda_forge - arch: x86_64 - platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] @@ -1123,8 +1084,6 @@ packages: md5: d66573916ffcf376178462f1b61c941e depends: - libgcc-ng >=12 - arch: x86_64 - platform: linux license: LGPL-2.1-only purls: [] size: 705775 @@ -1139,8 +1098,6 @@ packages: - libcblas 3.9.0 26_linux64_openblas - liblapacke 3.9.0 26_linux64_openblas - blas * openblas - arch: x86_64 - platform: linux license: BSD-3-Clause purls: [] size: 16338 @@ -1155,8 +1112,6 @@ packages: - liblapack 3.9.0 26_linux64_openblas constrains: - blas * openblas - arch: x86_64 - platform: linux license: BSD-3-Clause purls: [] size: 16332 @@ -1171,8 +1126,6 @@ packages: - libxml2 >=2.13.5,<3.0a0 - libzlib >=1.3.1,<2.0a0 - zstd >=1.5.6,<1.6.0a0 - arch: x86_64 - platform: linux license: Apache-2.0 WITH LLVM-exception license_family: Apache purls: [] @@ -1184,8 +1137,6 @@ packages: depends: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - arch: x86_64 - platform: linux license: 0BSD purls: [] size: 111132 @@ -1195,8 +1146,6 @@ packages: md5: 30fd6e37fe21f86f4bd26d6ee73eeec7 depends: - libgcc-ng >=12 - arch: x86_64 - platform: linux license: LGPL-2.1-only license_family: GPL purls: [] @@ -1212,8 +1161,6 @@ packages: - libgfortran5 >=14.2.0 constrains: - openblas >=0.3.28,<0.3.29.0a0 - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD purls: [] @@ -1226,8 +1173,6 @@ packages: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - libzlib >=1.3.1,<2.0a0 - arch: x86_64 - platform: linux license: Unlicense purls: [] size: 873551 @@ -1237,8 +1182,6 @@ packages: md5: 234a5554c53625688d51062645337328 depends: - libgcc 14.2.0 h77fa898_1 - arch: x86_64 - platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] @@ -1249,8 +1192,6 @@ packages: md5: 8371ac6457591af2cf6159439c1fd051 depends: - libstdcxx 14.2.0 hc0a3c3a_1 - arch: x86_64 - platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] @@ -1261,42 +1202,46 @@ packages: md5: 40b61aab5c7ba9ff276c41cfffe6b80b depends: - libgcc-ng >=12 - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD purls: [] size: 33601 timestamp: 1680112270483 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.49.2-hb9d3cd8_0.conda + sha256: a35cd81cd1a9add11024097da83cc06b0aae83186fe4124b77710876f37d8f31 + md5: 070e3c9ddab77e38799d5c30b109c633 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 884647 + timestamp: 1729322566955 - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c md5: 5aa797f8787fe7a17d1b0821485b5adc depends: - libgcc-ng >=12 - arch: x86_64 - platform: linux license: LGPL-2.1-or-later purls: [] size: 100393 timestamp: 1702724383534 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.5-h0d44e9d_1.conda - sha256: 306e18aa647d8208ad2cd0e62d84933222b2fbe93d2d53cd5283d2256b1d54de - md5: f5b05674697ae7d2c5932766695945e1 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.5-h8d12d68_1.conda + sha256: c3b05bdc40d27a9249f0bb60f3f71718f94104b8bcd200163a6c9d4ade7aa052 + md5: 1a21e49e190d1ffe58531a81b6e400e1 depends: - __glibc >=2.17,<3.0.a0 + - icu >=75.1,<76.0a0 - libgcc >=13 - libiconv >=1.17,<2.0a0 - liblzma >=5.6.3,<6.0a0 - libzlib >=1.3.1,<2.0a0 - constrains: - - icu <0.0a0 - arch: x86_64 - platform: linux license: MIT license_family: MIT purls: [] - size: 689993 - timestamp: 1733443678322 + size: 690589 + timestamp: 1733443667823 - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda sha256: d4bfe88d7cb447768e31650f06257995601f89076080e76df55e3112d4e47dc4 md5: edb0dca6bc32e4f4789199455a1dbeb8 @@ -1305,8 +1250,6 @@ packages: - libgcc >=13 constrains: - zlib 1.3.1 *_2 - arch: x86_64 - platform: linux license: Zlib license_family: Other purls: [] @@ -1328,8 +1271,6 @@ packages: - zstd >=1.5.6,<1.6.0a0 constrains: - llvm ==19.1.1 - arch: x86_64 - platform: linux license: Apache-2.0 WITH LLVM-exception license_family: APACHE purls: [] @@ -1392,8 +1333,6 @@ packages: - python_abi 3.12.* *_cp312 constrains: - jinja2 >=3.0.0 - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD purls: @@ -1469,17 +1408,39 @@ packages: depends: - __glibc >=2.17,<3.0.a0 - libgcc-ng >=12 - arch: x86_64 - platform: linux license: X11 AND BSD-3-Clause purls: [] size: 889086 timestamp: 1724658547447 -- pypi: https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl - name: nodeenv - version: 1.9.1 - sha256: ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9 - requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*' +- conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda + sha256: 3636eec0e60466a00069b47ce94b6d88b01419b6577d8e393da44bb5bc8d3468 + md5: 7ba3f09fceae6a120d664217e58fe686 + depends: + - python >=3.9 + - setuptools + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/nodeenv?source=hash-mapping + size: 34574 + timestamp: 1734112236147 +- conda: https://conda.anaconda.org/conda-forge/linux-64/nodejs-22.12.0-hf235a45_0.conda + sha256: 1a519b80bc3d5afddeccb593711df2e60ac48ecf3e903f7bdc279f64f7210fc4 + md5: 30458a23bf5568d2bc0e1fed6a4e2b12 + depends: + - __glibc >=2.28,<3.0.a0 + - icu >=75.1,<76.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libuv >=1.49.2,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.4.0,<4.0a0 + - zlib + license: MIT + license_family: MIT + purls: [] + size: 21796933 + timestamp: 1734113054756 - pypi: https://files.pythonhosted.org/packages/0f/50/de23fde84e45f5c4fda2488c759b69990fd4512387a8632860f3ac9cd225/numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl name: numpy version: 1.26.4 @@ -1492,8 +1453,6 @@ packages: - __glibc >=2.17,<3.0.a0 - ca-certificates - libgcc >=13 - arch: x86_64 - platform: linux license: Apache-2.0 license_family: Apache purls: [] @@ -1755,8 +1714,6 @@ packages: - libgcc >=13 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD purls: @@ -1771,8 +1728,6 @@ packages: - coincbc - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - arch: x86_64 - platform: linux license: MIT license_family: MIT purls: @@ -1808,6 +1763,23 @@ packages: - pkg:pypi/pyparsing?source=hash-mapping size: 92319 timestamp: 1733222687746 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyright-1.1.390-py312h66e93f0_0.conda + sha256: b84cb909a8feab12dd6ca63842edb8f872f6e430f0b9032253ac418195f55e37 + md5: 1247197520c3a57c4e169299b7b36a65 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - nodeenv >=1.6.0 + - nodejs + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - typing_extensions >=4.1 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pyright?source=hash-mapping + size: 41412 + timestamp: 1733360518015 - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda sha256: ba3b032fa52709ce0d9fd388f63d330a026754587a2f461117cac9ab73d8d0d8 md5: 461219d1a5bd61342293efa2c0c90eac @@ -1864,8 +1836,6 @@ packages: - tzdata constrains: - python_abi 3.12.* *_cp312 - arch: x86_64 - platform: linux license: Python-2.0 purls: [] size: 31565686 @@ -1894,8 +1864,6 @@ packages: md5: 0424ae29b104430108f5218a66db7260 constrains: - python 3.12.* *_cpython - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD purls: [] @@ -1914,8 +1882,6 @@ packages: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - yaml >=0.2.5,<0.3.0a0 - arch: x86_64 - platform: linux license: MIT license_family: MIT purls: @@ -1928,8 +1894,6 @@ packages: depends: - libgcc-ng >=12 - ncurses >=6.3,<7.0a0 - arch: x86_64 - platform: linux license: GPL-3.0-only license_family: GPL purls: [] @@ -1996,73 +1960,23 @@ packages: - python_abi 3.12.* *_cp312 constrains: - __glibc >=2.17 - arch: x86_64 - platform: linux license: MIT license_family: MIT purls: - pkg:pypi/rpds-py?source=hash-mapping size: 354410 timestamp: 1733366814237 -- pypi: https://files.pythonhosted.org/packages/55/21/47d163f615df1d30c094f6c8bbb353619274edccf0327b185cc2493c2c33/setuptools-75.6.0-py3-none-any.whl - name: setuptools - version: 75.6.0 - sha256: ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d - requires_dist: - - pytest>=6,!=8.1.* ; extra == 'test' - - virtualenv>=13.0.0 ; extra == 'test' - - wheel>=0.44.0 ; extra == 'test' - - pip>=19.1 ; extra == 'test' - - packaging>=24.2 ; extra == 'test' - - jaraco-envs>=2.2 ; extra == 'test' - - pytest-xdist>=3 ; extra == 'test' - - jaraco-path>=3.2.0 ; extra == 'test' - - build[virtualenv]>=1.0.3 ; extra == 'test' - - filelock>=3.4.0 ; extra == 'test' - - ini2toml[lite]>=0.14 ; extra == 'test' - - tomli-w>=1.0.0 ; extra == 'test' - - pytest-timeout ; extra == 'test' - - pytest-perf ; sys_platform != 'cygwin' and extra == 'test' - - jaraco-develop>=7.21 ; python_full_version >= '3.9' and sys_platform != 'cygwin' and extra == 'test' - - pytest-home>=0.5 ; extra == 'test' - - pytest-subprocess ; extra == 'test' - - pyproject-hooks!=1.1 ; extra == 'test' - - jaraco-test>=5.5 ; extra == 'test' - - sphinx>=3.5 ; extra == 'doc' - - jaraco-packaging>=9.3 ; extra == 'doc' - - rst-linker>=1.9 ; extra == 'doc' - - furo ; extra == 'doc' - - sphinx-lint ; extra == 'doc' - - jaraco-tidelift>=1.4 ; extra == 'doc' - - pygments-github-lexers==0.0.5 ; extra == 'doc' - - sphinx-favicon ; extra == 'doc' - - sphinx-inline-tabs ; extra == 'doc' - - sphinx-reredirects ; extra == 'doc' - - sphinxcontrib-towncrier ; extra == 'doc' - - sphinx-notfound-page>=1,<2 ; extra == 'doc' - - pyproject-hooks!=1.1 ; extra == 'doc' - - towncrier<24.7 ; extra == 'doc' - - packaging>=24.2 ; extra == 'core' - - more-itertools>=8.8 ; extra == 'core' - - jaraco-text>=3.7 ; extra == 'core' - - importlib-metadata>=6 ; python_full_version < '3.10' and extra == 'core' - - tomli>=2.0.1 ; python_full_version < '3.11' and extra == 'core' - - wheel>=0.43.0 ; extra == 'core' - - platformdirs>=4.2.2 ; extra == 'core' - - jaraco-collections ; extra == 'core' - - jaraco-functools>=4 ; extra == 'core' - - packaging ; extra == 'core' - - more-itertools ; extra == 'core' - - pytest-checkdocs>=2.4 ; extra == 'check' - - pytest-ruff>=0.2.1 ; sys_platform != 'cygwin' and extra == 'check' - - ruff>=0.7.0 ; sys_platform != 'cygwin' and extra == 'check' - - pytest-cov ; extra == 'cover' - - pytest-enabler>=2.2 ; extra == 'enabler' - - pytest-mypy ; extra == 'type' - - mypy>=1.12,<1.14 ; extra == 'type' - - importlib-metadata>=7.0.2 ; python_full_version < '3.10' and extra == 'type' - - jaraco-develop>=7.21 ; sys_platform != 'cygwin' and extra == 'type' - requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.6.0-pyhff2d567_1.conda + sha256: abb12e1dd515b13660aacb5d0fd43835bc2186cab472df25b7716cd65e095111 + md5: fc80f7995e396cbaeabd23cf46c413dc + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/setuptools?source=hash-mapping + size: 774252 + timestamp: 1732632769210 - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl name: six version: 1.17.0 @@ -2180,7 +2094,7 @@ packages: - pypi: . name: snax-mlir version: 0.2.2 - sha256: 9c12714fd0bf41540c6d9fd0fd756a22d42feed0925f4d711e74d334f6ea443c + sha256: eca807580d74b55b568fcc2a65c18bd1760d080bb1877d12f8185e6808f99eaf requires_dist: - xdsl @ git+https://github.com/xdslproject/xdsl.git@d72f46d92ec4b03ae05b91e70d75f93735e94393 - pre-commit ; extra == 'dev' @@ -2301,8 +2215,6 @@ packages: depends: - libgcc-ng >=12 - libzlib >=1.2.13,<2.0.0a0 - arch: x86_64 - platform: linux license: TCL license_family: BSD purls: [] @@ -2410,8 +2322,6 @@ packages: - libgcc >=13 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - arch: x86_64 - platform: linux license: BSD-2-Clause license_family: BSD purls: @@ -2456,8 +2366,6 @@ packages: md5: 4cb3ad778ec2d5a7acbdf254eb1c42ae depends: - libgcc-ng >=9.4.0 - arch: x86_64 - platform: linux license: MIT license_family: MIT purls: [] @@ -2488,6 +2396,18 @@ packages: - pkg:pypi/zipp?source=hash-mapping size: 21809 timestamp: 1732827613585 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda + sha256: 5d7c0e5f0005f74112a34a7425179f4eb6e73c92f5d109e6af4ddeca407c92ab + md5: c9f075ab2f33b3bbee9e62d4ad0a6cd8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libzlib 1.3.1 hb9d3cd8_2 + license: Zlib + license_family: Other + purls: [] + size: 92286 + timestamp: 1727963153079 - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312hef9b889_1.conda sha256: b97015e146437283f2213ff0e95abdc8e2480150634d81fbae6b96ee09f5e50b md5: 8b7069e9792ee4e5b4919a7a306d2e67 @@ -2499,8 +2419,6 @@ packages: - python_abi 3.12.* *_cp312 - zstd >=1.5.6,<1.5.7.0a0 - zstd >=1.5.6,<1.6.0a0 - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD purls: @@ -2514,8 +2432,6 @@ packages: - libgcc-ng >=12 - libstdcxx-ng >=12 - libzlib >=1.2.13,<2.0.0a0 - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD purls: [] diff --git a/pyproject.toml b/pyproject.toml index dc1848f3..57a6f893 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -67,6 +67,70 @@ line-length = 120 [tool.ruff.mccabe] max-complexity = 10 + +[tool.pyright] +reportImportCycles = false +reportMissingModuleSource = false +enableTypeIgnoreComments = false +enableExperimentalFeatures = true +typeCheckingMode = "strict" +"include" = [ + "compiler", + "tests", +] +"exclude" = [ + "compiler/accelerators/gemmini.py", + "compiler/accelerators/rocc.py", + "compiler/accelerators/snax.py", + "compiler/accelerators/snax_alu.py", + "compiler/accelerators/snax_gemm.py", + "compiler/accelerators/snax_gemmx.py", + "compiler/accelerators/snax_hwpe_mult.py", + "compiler/dialects/accfg.py", + "compiler/dialects/snax.py", + "compiler/dialects/snax_stream.py", + "compiler/dialects/stream.py", + "compiler/dialects/tsl.py", + "compiler/inference/dataflow.py", + "compiler/inference/helpers.py", + "compiler/inference/scoped_setups.py", + "compiler/inference/trace_acc_state.py", + "compiler/ir/stream/access_pattern.py", + "compiler/ir/stream/scheduler.py", + "compiler/ir/tsl/tiled_strided_layout.py", + "compiler/parser/tsl_parser.py", + "compiler/transforms/accfg_dedup.py", + "compiler/transforms/clear_memory_space.py", + "compiler/transforms/convert_linalg_to_accfg.py", + "compiler/transforms/convert_tosa_to_kernel.py", + "compiler/transforms/dispatch_regions.py", + "compiler/transforms/frontend/preprocess_mlperf_tiny.py", + "compiler/transforms/fuse_streaming_regions.py", + "compiler/transforms/insert_sync_barrier.py", + "compiler/transforms/linalg_to_library_call.py", + "compiler/transforms/memref_to_snax.py", + "compiler/transforms/realize_memref_casts.py", + "compiler/transforms/reuse_memref_allocs.py", + "compiler/transforms/set_memory_layout.py", + "compiler/transforms/set_memory_space.py", + "compiler/transforms/snax_copy_to_dma.py", + "compiler/transforms/snax_lower_mcycle.py", + "compiler/transforms/snax_to_func.py", + "compiler/transforms/test_remove_memref_copy.py", + "compiler/util/dispatching_rules.py", + "compiler/util/memref_descriptor.py", + "tests/benchmark/test_snax_benchmark.py", + "tests/dialects/test_snax.py", + "tests/dialects/test_tsl.py", + "tests/inference/test_accfg_state_tracing.py", + "tests/ir/stream/test_access_pattern.py", + "tests/ir/tsl/test_stride.py", + "tests/ir/tsl/test_tiled_stride.py", + "tests/ir/tsl/test_tiled_strided_layout.py", + "tests/util/", +] + + [tool.pixi.project] channels = ["conda-forge", "bioconda", "kuleuven-micas"] platforms = ["linux-64"] @@ -85,3 +149,4 @@ clang = "==19.1.1" lld = "==19.1.1" snax-cluster = "==0.2.7" snakemake-minimal="*" +pyright = ">=1.1.390,<2"