From 6f4ed15bc63e8e0f9ffb977cb347800ca290d97b Mon Sep 17 00:00:00 2001 From: paugier Date: Mon, 5 Feb 2024 15:04:56 +0100 Subject: [PATCH] nox test coverage --- .flake8 | 2 + .github/workflows/ci-linux.yml | 7 + noxfile.py | 58 +- pdm.lock | 53 +- pixi.lock | 644 ++++++------------ pixi.toml | 1 - plugins/fluidfft-builder/pyproject.toml | 2 +- plugins/fluidfft-fftw/pyproject.toml | 2 +- plugins/fluidfft-fftwmpi/pyproject.toml | 2 +- plugins/fluidfft-mpi_with_fftw/pyproject.toml | 2 +- pyproject.toml | 42 +- setup.cfg | 25 - tests/test_2d.py | 26 +- tests/test_3d.py | 25 +- 14 files changed, 348 insertions(+), 543 deletions(-) create mode 100644 .flake8 delete mode 100644 setup.cfg diff --git a/.flake8 b/.flake8 new file mode 100644 index 0000000..ef90a1b --- /dev/null +++ b/.flake8 @@ -0,0 +1,2 @@ +[flake8] +ignore = E501,E225,E226,E303,E201,E202,E203,W503 diff --git a/.github/workflows/ci-linux.yml b/.github/workflows/ci-linux.yml index 8f42fda..6807a72 100644 --- a/.github/workflows/ci-linux.yml +++ b/.github/workflows/ci-linux.yml @@ -39,10 +39,12 @@ jobs: - name: Run sequential tests with nox run: | nox --session "tests(with_cov=True, with_mpi=False)" + mv .coverage/coverage.xml coverage_without_mpi.xml - name: Run parallel tests with nox run: | nox --session "tests(with_cov=True, with_mpi=True)" + mv .coverage/coverage.xml coverage_with_mpi.xml - name: Produce coverage xml run: | @@ -51,3 +53,8 @@ jobs: - name: Upload coverage to codecov if: ${{ success() }} uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + fail_ci_if_error: false # optional (default = false) + verbose: true # optional (default = false) + files: coverage_without_mpi.xml,coverage_with_mpi.xml diff --git a/noxfile.py b/noxfile.py index 124a6f0..5d5672f 100644 --- a/noxfile.py +++ b/noxfile.py @@ -19,6 +19,7 @@ import os from pathlib import Path from functools import partial +from shutil import rmtree import nox @@ -49,12 +50,13 @@ def tests(session, with_mpi, with_cov): session.run_always(*command.split(), external=True) session.install( + "-e", ".", "--no-deps", + "--no-build-isolation", "-v", silent=False, ) - session.run("ls", "src/fluidfft/fft3d", silent=False, external=True) session.install("plugins/fluidfft-builder") session.install("-e", "plugins/fluidfft-fftw", "--no-build-isolation", "-v") @@ -64,55 +66,53 @@ def tests(session, with_mpi, with_cov): ) session.install("-e", "plugins/fluidfft-fftwmpi", "--no-build-isolation", "-v") + if with_cov: + path_coverage = Path.cwd() / ".coverage" + rmtree(path_coverage, ignore_errors=True) + path_coverage.mkdir(exist_ok=True) + def run_command(command, **kwargs): + if with_cov: + command += " --cov --cov-config=pyproject.toml --no-cov-on-fail --cov-report=term-missing --cov-append" session.run(*command.split(), **kwargs) - if with_cov: - cov_path = Path.cwd() / ".coverage" - cov_path.mkdir(exist_ok=True) - command = "pytest -v -s tests" - if with_cov: - command += ( - " --cov --cov-config=setup.cfg --no-cov-on-fail --cov-report=term-missing" - ) run_command(command, *session.posargs) run_command(command, *session.posargs, env={"TRANSONIC_NO_REPLACE": "1"}) - run_command("pytest -v plugins/fluidfft-fftw") if with_mpi: - if with_cov: - command = "mpirun -np 2 --oversubscribe coverage run -p -m pytest -v -s --exitfirst tests" - else: - command = "mpirun -np 2 --oversubscribe pytest -v -s tests" + def test_plugin(package_name): + if with_cov: + command = "mpirun -np 2 --oversubscribe coverage run -p -m pytest -v -s --exitfirst" + else: + command = "mpirun -np 2 --oversubscribe pytest -v -s " - run_command(command, external=True) + command += f" plugins/{package_name}" + session.run(*command.split(), external=True) - run_command( - "mpirun -np 2 --oversubscribe pytest -v plugins/fluidfft-mpi_with_fftw", - external=True, - ) - run_command( - "mpirun -np 2 --oversubscribe pytest -v plugins/fluidfft-fftwmpi", - external=True, - ) + test_plugin("fluidfft-mpi_with_fftw") + test_plugin("fluidfft-fftwmpi") if with_cov: if with_mpi: - run_command("coverage combine") - run_command("coverage report") + session.run("coverage", "combine") + session.run("coverage", "report") + session.run("coverage", "xml") + session.run("coverage", "html") @nox.session def doc(session): - session.run_always("pdm", "sync", "--clean", "-G", "doc", "--no-self", external=True) - session.run_always("python", "-c", "from fluidfft_builder import create_fake_modules as c; c()") - session.install( - ".", "--no-deps", "-C", "setup-args=-Dtransonic-backend=python" + session.run_always( + "pdm", "sync", "--clean", "-G", "doc", "--no-self", external=True + ) + session.run_always( + "python", "-c", "from fluidfft_builder import create_fake_modules as c; c()" ) + session.install(".", "--no-deps", "-C", "setup-args=-Dtransonic-backend=python") session.chdir("doc") session.run("make", "cleanall", external=True) session.run("make", external=True) diff --git a/pdm.lock b/pdm.lock index 6c00013..59088f9 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "build", "dask", "dev", "doc", "lint", "mpi", "pyfftw", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.1" -content_hash = "sha256:57e808ead91d9ff56f1c42dbbd7712ab06f3763884657d0c1f3fa21b956e7ff0" +content_hash = "sha256:ed54aa56f5416351d04eef454a40e1d9560965887917f8053e8086757041e8ac" [[package]] name = "alabaster" @@ -955,6 +955,17 @@ files = [ {file = "greenlet-3.0.3.tar.gz", hash = "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491"}, ] +[[package]] +name = "h11" +version = "0.14.0" +requires_python = ">=3.7" +summary = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +groups = ["doc"] +files = [ + {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, + {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, +] + [[package]] name = "h5netcdf" version = "1.3.0" @@ -1002,6 +1013,39 @@ files = [ {file = "h5py-3.10.0.tar.gz", hash = "sha256:d93adc48ceeb33347eb24a634fb787efc7ae4644e6ea4ba733d099605045c049"}, ] +[[package]] +name = "httpcore" +version = "1.0.2" +requires_python = ">=3.8" +summary = "A minimal low-level HTTP client." +groups = ["doc"] +dependencies = [ + "certifi", + "h11<0.15,>=0.13", +] +files = [ + {file = "httpcore-1.0.2-py3-none-any.whl", hash = "sha256:096cc05bca73b8e459a1fc3dcf585148f63e534eae4339559c9b8a8d6399acc7"}, + {file = "httpcore-1.0.2.tar.gz", hash = "sha256:9fc092e4799b26174648e54b74ed5f683132a464e95643b226e00c2ed2fa6535"}, +] + +[[package]] +name = "httpx" +version = "0.26.0" +requires_python = ">=3.8" +summary = "The next generation HTTP client." +groups = ["doc"] +dependencies = [ + "anyio", + "certifi", + "httpcore==1.*", + "idna", + "sniffio", +] +files = [ + {file = "httpx-0.26.0-py3-none-any.whl", hash = "sha256:8915f5a3627c4d47b73e8202457cb28f1266982d1159bd5779d86a80c0eab1cd"}, + {file = "httpx-0.26.0.tar.gz", hash = "sha256:451b55c30d5185ea6b23c2c793abf9bb237d2a7dfb901ced6ff69ad37ec1dfaf"}, +] + [[package]] name = "idna" version = "3.6" @@ -1440,12 +1484,13 @@ files = [ [[package]] name = "jupyterlab" -version = "4.0.12" +version = "4.1.0" requires_python = ">=3.8" summary = "JupyterLab computational environment" groups = ["doc"] dependencies = [ "async-lru>=1.0.0", + "httpx>=0.25.0", "importlib-metadata>=4.8.3; python_version < \"3.10\"", "ipykernel", "jinja2>=3.0.3", @@ -1460,8 +1505,8 @@ dependencies = [ "traitlets", ] files = [ - {file = "jupyterlab-4.0.12-py3-none-any.whl", hash = "sha256:53f132480e5f6564f4e20d1b5ed4e8b7945952a2decd5bdfa43760b1b536c99d"}, - {file = "jupyterlab-4.0.12.tar.gz", hash = "sha256:965d92efa82a538ed70ccb3968d9aabba788840da882e13d7b061780cdedc3b7"}, + {file = "jupyterlab-4.1.0-py3-none-any.whl", hash = "sha256:5380e85fb4f11a227ed2db13103e513cfea274d1011f6210e62d611e92e0369d"}, + {file = "jupyterlab-4.1.0.tar.gz", hash = "sha256:92cdfd86c53e163fb9e91e14497901153536c5a889c9225dade270f6107a077f"}, ] [[package]] diff --git a/pixi.lock b/pixi.lock index 350e525..2c3efc6 100644 --- a/pixi.lock +++ b/pixi.lock @@ -433,25 +433,6 @@ package: timestamp: 1627922710217 purls: - pkg:pypi/beniget -- platform: linux-64 - name: binutils - version: '2.40' - category: main - manager: conda - dependencies: - - binutils_impl_linux-64 >=2.40,<2.41.0a0 - url: https://conda.anaconda.org/conda-forge/linux-64/binutils-2.40-hdd6e379_0.conda - hash: - md5: ccc940fddbc3fcd3d79cd4c654c4b5c4 - sha256: 35f3b042f295fd7387de11cf426ca8ee5257e5c98b88560c6c5ad4ef3c85d38c - build: hdd6e379_0 - arch: x86_64 - subdir: linux-64 - build_number: 0 - license: GPL-3.0-only - license_family: GPL - size: 30469 - timestamp: 1674833987166 - platform: linux-64 name: binutils_impl_linux-64 version: '2.40' @@ -900,47 +881,6 @@ package: license_family: BSD size: 209496 timestamp: 1706187677719 -- platform: linux-64 - name: c-compiler - version: 1.7.0 - category: main - manager: conda - dependencies: - - binutils - - gcc - - gcc_linux-64 12.* - url: https://conda.anaconda.org/conda-forge/linux-64/c-compiler-1.7.0-hd590300_0.conda - hash: - md5: fad1d0a651bf929c6c16fbf1f6ccfa7c - sha256: 19343f6cdefd0a2e36c4f0da81ed9ea964e5b4e82a2304809afd8f151bf2ac8c - build: hd590300_0 - arch: x86_64 - subdir: linux-64 - build_number: 0 - license: BSD - size: 6287 - timestamp: 1701505302633 -- platform: osx-64 - name: c-compiler - version: 1.7.0 - category: main - manager: conda - dependencies: - - cctools >=949.0.1 - - clang_osx-64 16.* - - ld64 >=530 - - llvm-openmp - url: https://conda.anaconda.org/conda-forge/osx-64/c-compiler-1.7.0-h282daa2_0.conda - hash: - md5: 4652f33fe8d895f61177e2783b289377 - sha256: c32fdb29dac5e1a01aa486aba1f7b21cff5c1c7748c0cf9b6c9475888b61eb17 - build: h282daa2_0 - arch: x86_64 - subdir: osx-64 - build_number: 0 - license: BSD - size: 6409 - timestamp: 1701505468495 - platform: linux-64 name: ca-certificates version: 2024.2.2 @@ -1152,27 +1092,6 @@ package: license: LGPL-2.1-only or MPL-1.1 size: 982351 timestamp: 1697028423052 -- platform: osx-64 - name: cctools - version: 973.0.1 - category: main - manager: conda - dependencies: - - cctools_osx-64 973.0.1 ha1c5b94_16 - - ld64 609 ha02d983_16 - - libllvm16 >=16.0.6,<16.1.0a0 - url: https://conda.anaconda.org/conda-forge/osx-64/cctools-973.0.1-h40f6528_16.conda - hash: - md5: b7234c329d4503600b032f168f4b65e7 - sha256: ef3afa0ca2e159360575d5de6cba102494d2dd03c0fda77e858ae9fba73b9e61 - build: h40f6528_16 - arch: x86_64 - subdir: osx-64 - build_number: 16 - license: APSL-2.0 - license_family: Other - size: 22144 - timestamp: 1706798167450 - platform: osx-64 name: cctools_osx-64 version: 973.0.1 @@ -1181,25 +1100,25 @@ package: dependencies: - ld64_osx-64 >=609,<610.0a0 - libcxx - - libllvm16 >=16.0.6,<16.1.0a0 + - libllvm17 >=17.0.6,<17.1.0a0 - libzlib >=1.2.13,<1.3.0a0 - sigtool - url: https://conda.anaconda.org/conda-forge/osx-64/cctools_osx-64-973.0.1-ha1c5b94_16.conda + url: https://conda.anaconda.org/conda-forge/osx-64/cctools_osx-64-973.0.1-h031c385_16.conda hash: - md5: 00eb71204323fa6449b38dd34ab9c65d - sha256: aa69f18388246169ac603148501bdd507bf935e97f384cf8f78ef94e3b296158 - build: ha1c5b94_16 + md5: ab815048866f8844132db12a1b5bc18d + sha256: 91c3d1cfe8a485aeb53767d8a7cf685a4d4ffb603741957175271722916d1ba5 + build: h031c385_16 arch: x86_64 subdir: osx-64 build_number: 16 constrains: - cctools 973.0.1.* - - clang 16.0.* + - clang 17.0.* - ld64 609.* license: APSL-2.0 license_family: Other - size: 1116102 - timestamp: 1706798100072 + size: 1100288 + timestamp: 1706797898287 - platform: linux-64 name: certifi version: 2024.2.2 @@ -1319,28 +1238,28 @@ package: timestamp: 1684263404702 - platform: osx-64 name: clang - version: 16.0.6 + version: 17.0.6 category: main manager: conda dependencies: - - clang-16 16.0.6 default_h7151d67_5 - url: https://conda.anaconda.org/conda-forge/osx-64/clang-16.0.6-hdae98eb_5.conda + - clang-17 17.0.6 default_h6b1ee41_2 + url: https://conda.anaconda.org/conda-forge/osx-64/clang-17.0.6-hac416ee_2.conda hash: - md5: 5f020dce5a00342141d87f952c9c0282 - sha256: df7180f4ee7bed92849cb36e46a9641e71eb6c99b990dedc48f7469c080d5f5f - build: hdae98eb_5 + md5: dc3f1f9873fa7935a95379031a21f7dc + sha256: 69d31c5b49addaeabd33d71f31548a1b502fb5c286a5cdd4bf53f5670c2f9223 + build: hac416ee_2 arch: x86_64 subdir: osx-64 - build_number: 5 + build_number: 2 constrains: - - clang-tools 16.0.6.* - - llvm 16.0.6.* - - llvm-tools 16.0.6.* - - llvmdev 16.0.6.* + - clang-tools 17.0.6.* + - llvm 17.0.6.* + - llvm-tools 17.0.6.* + - llvmdev 17.0.6.* license: Apache-2.0 WITH LLVM-exception license_family: Apache - size: 21576 - timestamp: 1706894282581 + size: 21880 + timestamp: 1704279589807 - platform: win-64 name: clang version: 17.0.6 @@ -1368,31 +1287,31 @@ package: size: 93457639 timestamp: 1704280018632 - platform: osx-64 - name: clang-16 - version: 16.0.6 + name: clang-17 + version: 17.0.6 category: main manager: conda dependencies: - - libclang-cpp16 16.0.6 default_h7151d67_5 + - libclang-cpp17 17.0.6 default_h6b1ee41_2 - libcxx >=16.0.6 - - libllvm16 >=16.0.6,<16.1.0a0 - url: https://conda.anaconda.org/conda-forge/osx-64/clang-16-16.0.6-default_h7151d67_5.conda + - libllvm17 >=17.0.6,<17.1.0a0 + url: https://conda.anaconda.org/conda-forge/osx-64/clang-17-17.0.6-default_h6b1ee41_2.conda hash: - md5: e132cf98d775fd7ec3b43859373bc070 - sha256: 1ddcdef73115b5584f171a0182c1fdbbf168c667d8dcde19178d18f5c837fb43 - build: default_h7151d67_5 + md5: c57c301875444e6207cb1a6ebfe1f914 + sha256: 8079cc7cd02cdb343cdfd23f6691cf95f66593ee945907b657e4b241e4151107 + build: default_h6b1ee41_2 arch: x86_64 subdir: osx-64 - build_number: 5 + build_number: 2 constrains: - - clangxx 16.0.6 - - clangdev 16.0.6 - - llvm-tools 16.0.6 - - clang-tools 16.0.6 + - clangdev 17.0.6 + - clangxx 17.0.6 + - llvm-tools 17.0.6 + - clang-tools 17.0.6 license: Apache-2.0 WITH LLVM-exception license_family: Apache - size: 692571 - timestamp: 1706894157239 + size: 714938 + timestamp: 1704279295294 - platform: win-64 name: clang-17 version: 17.0.6 @@ -1423,65 +1342,65 @@ package: timestamp: 1704279749334 - platform: osx-64 name: clang_impl_osx-64 - version: 16.0.6 + version: 17.0.6 category: main manager: conda dependencies: - cctools_osx-64 - - clang 16.0.6.* - - compiler-rt 16.0.6.* + - clang 17.0.6.* + - compiler-rt 17.0.6.* - ld64_osx-64 - - llvm-tools 16.0.6.* - url: https://conda.anaconda.org/conda-forge/osx-64/clang_impl_osx-64-16.0.6-h8787910_9.conda + - llvm-tools 17.0.6.* + url: https://conda.anaconda.org/conda-forge/osx-64/clang_impl_osx-64-17.0.6-h1af8efd_9.conda hash: - md5: 36dc72f20205cf43f63765334a5f0be7 - sha256: 3aeee43c777d67a334a7917a9a6cc43c67fabbf8acbceca31e2bef0702f0c81e - build: h8787910_9 + md5: 1febfb99dab0295c342ac4106a18c9c5 + sha256: c91f197cd0edb6a8425cf645918d73f197c1504ebbed736a9191f7a614873f6a + build: h1af8efd_9 arch: x86_64 subdir: osx-64 build_number: 9 license: BSD-3-Clause license_family: BSD - size: 17576 - timestamp: 1706817889548 + size: 17645 + timestamp: 1706817778710 - platform: osx-64 name: clang_osx-64 - version: 16.0.6 + version: 17.0.6 category: main manager: conda dependencies: - - clang_impl_osx-64 16.0.6 h8787910_9 - url: https://conda.anaconda.org/conda-forge/osx-64/clang_osx-64-16.0.6-hb91bd55_9.conda + - clang_impl_osx-64 17.0.6 h1af8efd_9 + url: https://conda.anaconda.org/conda-forge/osx-64/clang_osx-64-17.0.6-hb91bd55_9.conda hash: - md5: 3ebda8406efd8c09ebeeba80396ac6bd - sha256: 970a919b17f6c5c04624b6a0269211bd3d7b41b3177e50f5dd7b5d036f4c25c9 + md5: 185266aefb664fdb282ca84ed5fa7656 + sha256: 6d3f8b37ce7f548eb1148c8a2ef6cccb5a1931cf0c6a758840fdb90aaab16729 build: hb91bd55_9 arch: x86_64 subdir: osx-64 build_number: 9 license: BSD-3-Clause license_family: BSD - size: 20647 - timestamp: 1706817901570 + size: 20675 + timestamp: 1706817790659 - platform: osx-64 name: clangxx - version: 16.0.6 + version: 17.0.6 category: main manager: conda dependencies: - - clang 16.0.6 hdae98eb_5 - url: https://conda.anaconda.org/conda-forge/osx-64/clangxx-16.0.6-default_h7151d67_5.conda + - clang 17.0.6 hac416ee_2 + url: https://conda.anaconda.org/conda-forge/osx-64/clangxx-17.0.6-default_h6b1ee41_2.conda hash: - md5: 8c3fb5d2005174683f3958383643e335 - sha256: 9aafb8802adfe804ae38b66b01b00e133f1c14713ed1abed2710ed95ddbaa3e7 - build: default_h7151d67_5 + md5: 2a7363e23422b547ca0daba59753ad37 + sha256: 224f74cb98548615d4ba9642eb5bac0c08b4507fe5368fcf8365ff7946b0eea6 + build: default_h6b1ee41_2 arch: x86_64 subdir: osx-64 - build_number: 5 + build_number: 2 license: Apache-2.0 WITH LLVM-exception license_family: Apache - size: 21699 - timestamp: 1706894307583 + size: 21964 + timestamp: 1704279670568 - platform: win-64 name: clangxx version: 17.0.6 @@ -1505,46 +1424,46 @@ package: timestamp: 1704280338941 - platform: osx-64 name: clangxx_impl_osx-64 - version: 16.0.6 + version: 17.0.6 category: main manager: conda dependencies: - - clang_osx-64 16.0.6 hb91bd55_9 - - clangxx 16.0.6.* + - clang_osx-64 17.0.6 hb91bd55_9 + - clangxx 17.0.6.* - libcxx >=16 - - libllvm16 >=16.0.6,<16.1.0a0 - url: https://conda.anaconda.org/conda-forge/osx-64/clangxx_impl_osx-64-16.0.6-h6d92fbe_9.conda + - libllvm17 >=17.0.6,<17.1.0a0 + url: https://conda.anaconda.org/conda-forge/osx-64/clangxx_impl_osx-64-17.0.6-hc3430b7_9.conda hash: - md5: bfea277f004e2815ebd59294e9c08746 - sha256: d0d712b2ea90fd4e0c7215cb319830496ced15c56ee208f6ebba5e0d0b21f765 - build: h6d92fbe_9 + md5: acc7c4c22a4819595cba70504b64203a + sha256: c03716b83331a6bfe1e716b27ec05a7616e94ec9c6107bd86b9dff3c952aaab9 + build: hc3430b7_9 arch: x86_64 subdir: osx-64 build_number: 9 license: BSD-3-Clause license_family: BSD - size: 17667 - timestamp: 1706817919437 + size: 17761 + timestamp: 1706817808483 - platform: osx-64 name: clangxx_osx-64 - version: 16.0.6 + version: 17.0.6 category: main manager: conda dependencies: - - clang_osx-64 16.0.6 hb91bd55_9 - - clangxx_impl_osx-64 16.0.6 h6d92fbe_9 - url: https://conda.anaconda.org/conda-forge/osx-64/clangxx_osx-64-16.0.6-hb91bd55_9.conda + - clang_osx-64 17.0.6 hb91bd55_9 + - clangxx_impl_osx-64 17.0.6 hc3430b7_9 + url: https://conda.anaconda.org/conda-forge/osx-64/clangxx_osx-64-17.0.6-hb91bd55_9.conda hash: - md5: e7297accf408701c298308eeae807c5e - sha256: 9225222bf1cd611e63f2b68c0838325f2fd5be930f81a7f3563ff5e2818955a5 + md5: 32001a875e9a541de94c4d621de6d353 + sha256: ab43ff4e69c46b8650940e6d9b6970625b1111fab4d4cbf8e74e7d6bec9972d6 build: hb91bd55_9 arch: x86_64 subdir: osx-64 build_number: 9 license: BSD-3-Clause license_family: BSD - size: 19414 - timestamp: 1706817934575 + size: 19458 + timestamp: 1706817822690 - platform: linux-64 name: colorama version: 0.4.6 @@ -1680,48 +1599,48 @@ package: - pkg:pypi/colorlog - platform: osx-64 name: compiler-rt - version: 16.0.6 + version: 17.0.6 category: main manager: conda dependencies: - - clang 16.0.6.* - - clangxx 16.0.6.* - - compiler-rt_osx-64 16.0.6.* - url: https://conda.anaconda.org/conda-forge/osx-64/compiler-rt-16.0.6-ha38d28d_2.conda + - clang 17.0.6.* + - clangxx 17.0.6.* + - compiler-rt_osx-64 17.0.6.* + url: https://conda.anaconda.org/conda-forge/osx-64/compiler-rt-17.0.6-ha38d28d_1.conda hash: - md5: 3b9e8c5c63b8e86234f499490acd85c2 - sha256: de0e2c94d9a04f60ec9aedde863d6c1fad3f261bdb63ec8adc70e2d9ecdb07bb - build: ha38d28d_2 + md5: 6e3e3ef883a79fb537c18cbd8865a01b + sha256: d470250e126559bf8577379b7dd41130316eab464e53bf5480285045523a0b9c + build: ha38d28d_1 arch: x86_64 subdir: osx-64 - build_number: 2 + build_number: 1 license: Apache-2.0 WITH LLVM-exception license_family: APACHE - size: 94198 - timestamp: 1701467261175 + size: 94403 + timestamp: 1701469601074 - platform: osx-64 name: compiler-rt_osx-64 - version: 16.0.6 + version: 17.0.6 category: main manager: conda dependencies: - - clang 16.0.6.* - - clangxx 16.0.6.* - url: https://conda.anaconda.org/conda-forge/noarch/compiler-rt_osx-64-16.0.6-ha38d28d_2.conda + - clang 17.0.6.* + - clangxx 17.0.6.* + url: https://conda.anaconda.org/conda-forge/noarch/compiler-rt_osx-64-17.0.6-ha38d28d_1.conda hash: - md5: 7a46507edc35c6c8818db0adaf8d787f - sha256: 75270bd8e306967f6e1a8c17d14f2dfe76602a5c162088f3ea98034fe3d71e0c - build: ha38d28d_2 + md5: c1ed226b5a4e45dcef22f6717732b77a + sha256: 6d4d20d1f2419eb5765027ec582a60917233d58d4ce50c8abe3d61de8917539f + build: ha38d28d_1 arch: x86_64 subdir: osx-64 - build_number: 2 + build_number: 1 constrains: - - compiler-rt 16.0.6 + - compiler-rt 17.0.6 license: Apache-2.0 WITH LLVM-exception license_family: APACHE noarch: generic - size: 9895261 - timestamp: 1701467223753 + size: 10089166 + timestamp: 1701469568359 - platform: linux-64 name: contourpy version: 1.2.0 @@ -1871,63 +1790,6 @@ package: timestamp: 1706302399623 purls: - pkg:pypi/coverage -- platform: linux-64 - name: cxx-compiler - version: 1.7.0 - category: main - manager: conda - dependencies: - - c-compiler 1.7.0 hd590300_0 - - gxx - - gxx_linux-64 12.* - url: https://conda.anaconda.org/conda-forge/linux-64/cxx-compiler-1.7.0-h00ab1b0_0.conda - hash: - md5: b4537c98cb59f8725b0e1e65816b4a28 - sha256: 9278c12ed455a39a50d908381786540c9fd1627e4489dca9638b3e222c86d3f7 - build: h00ab1b0_0 - arch: x86_64 - subdir: linux-64 - build_number: 0 - license: BSD - size: 6262 - timestamp: 1701505307165 -- platform: osx-64 - name: cxx-compiler - version: 1.7.0 - category: main - manager: conda - dependencies: - - c-compiler 1.7.0 h282daa2_0 - - clangxx_osx-64 16.* - url: https://conda.anaconda.org/conda-forge/osx-64/cxx-compiler-1.7.0-h7728843_0.conda - hash: - md5: 8abaa2694c1fba2b6bd3753d00a60415 - sha256: fe198da9a3ea1f3d1c9f18cceff633594549ef80c20bdb9522beb4b4446be09c - build: h7728843_0 - arch: x86_64 - subdir: osx-64 - build_number: 0 - license: BSD - size: 6428 - timestamp: 1701505479181 -- platform: win-64 - name: cxx-compiler - version: 1.7.0 - category: main - manager: conda - dependencies: - - vs2019_win-64 - url: https://conda.anaconda.org/conda-forge/win-64/cxx-compiler-1.7.0-h91493d7_0.conda - hash: - md5: 3949c652bedb193a39fa637d03f93150 - sha256: f16dc990c284d704c43d28822c6153ccb63ef9716d5d7a47d3125b767f72a6d8 - build: h91493d7_0 - arch: x86_64 - subdir: win-64 - build_number: 0 - license: BSD - size: 6517 - timestamp: 1701505483027 - platform: linux-64 name: cycler version: 0.12.1 @@ -3068,71 +2930,52 @@ package: timestamp: 1688368852991 purls: - pkg:pypi/gast -- platform: linux-64 - name: gcc - version: 12.3.0 - category: main - manager: conda - dependencies: - - gcc_impl_linux-64 12.3.0.* - url: https://conda.anaconda.org/conda-forge/linux-64/gcc-12.3.0-h8d2909c_2.conda - hash: - md5: e2f2f81f367e14ca1f77a870bda2fe59 - sha256: 1bbf077688822993c39518056fb43d83ff0920eb42fef11e8714d2a298cc0f27 - build: h8d2909c_2 - arch: x86_64 - subdir: linux-64 - build_number: 2 - license: BSD-3-Clause - license_family: BSD - size: 27086 - timestamp: 1694604171830 - platform: linux-64 name: gcc_impl_linux-64 - version: 12.3.0 + version: 13.2.0 category: main manager: conda dependencies: - binutils_impl_linux-64 >=2.39 - - libgcc-devel_linux-64 12.3.0 h8bca6fd_105 - - libgcc-ng >=12.3.0 - - libgomp >=12.3.0 - - libsanitizer 12.3.0 h0f45ef3_5 - - libstdcxx-ng >=12.3.0 + - libgcc-devel_linux-64 13.2.0 ha9c7c90_105 + - libgcc-ng >=13.2.0 + - libgomp >=13.2.0 + - libsanitizer 13.2.0 h7e041cc_5 + - libstdcxx-ng >=13.2.0 - sysroot_linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-12.3.0-he2b93b0_5.conda + url: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-13.2.0-h338b0a0_5.conda hash: - md5: e89827619e73df59496c708b94f6f3d5 - sha256: a87826c55e6aa2ed5d17f267e6a583f7951658afaa4bf45cd5ba97f5583608b9 - build: he2b93b0_5 + md5: a6be13181cb66a78544b1d5f7bac97d0 + sha256: baab8f8b9af54959735e629cf6d5ec9378166aa4c68ba8dc98dc0a781d548409 + build: h338b0a0_5 arch: x86_64 subdir: linux-64 build_number: 5 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - size: 51856676 - timestamp: 1706820019081 + size: 53318565 + timestamp: 1706819323755 - platform: linux-64 name: gcc_linux-64 - version: 12.3.0 + version: 13.2.0 category: main manager: conda dependencies: - binutils_linux-64 2.40 hbdbef99_2 - - gcc_impl_linux-64 12.3.0.* + - gcc_impl_linux-64 13.2.0.* - sysroot_linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-12.3.0-h76fc315_2.conda + url: https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-13.2.0-h112eaf3_2.conda hash: - md5: 11517e7b5c910c5b5d6985c0c7eb7f50 - sha256: 86f6db7399ec0362e4c4025939debbfebc8ad9ccef75e3c0e4069f85b149f24d - build: h76fc315_2 + md5: 7f77e02a151daf27b4a0e1b6c12f68b9 + sha256: c9b61357776b311b910bd696623ba435383314e67af6b2b329cde812caf7d369 + build: h112eaf3_2 arch: x86_64 subdir: linux-64 build_number: 2 license: BSD-3-Clause license_family: BSD - size: 30351 - timestamp: 1694604476800 + size: 30329 + timestamp: 1694604327022 - platform: linux-64 name: gettext version: 0.21.1 @@ -3451,69 +3294,49 @@ package: license_family: LGPL size: 1930741 timestamp: 1706155201555 -- platform: linux-64 - name: gxx - version: 12.3.0 - category: main - manager: conda - dependencies: - - gcc 12.3.0.* - - gxx_impl_linux-64 12.3.0.* - url: https://conda.anaconda.org/conda-forge/linux-64/gxx-12.3.0-h8d2909c_2.conda - hash: - md5: 673bac341be6b90ef9e8abae7e52ca46 - sha256: 5fd65768fb602fd21466831c96e7a2355a4df692507abbd481aa65a777151d85 - build: h8d2909c_2 - arch: x86_64 - subdir: linux-64 - build_number: 2 - license: BSD-3-Clause - license_family: BSD - size: 26539 - timestamp: 1694604501713 - platform: linux-64 name: gxx_impl_linux-64 - version: 12.3.0 + version: 13.2.0 category: main manager: conda dependencies: - - gcc_impl_linux-64 12.3.0 he2b93b0_5 - - libstdcxx-devel_linux-64 12.3.0 h8bca6fd_105 + - gcc_impl_linux-64 13.2.0 h338b0a0_5 + - libstdcxx-devel_linux-64 13.2.0 ha9c7c90_105 - sysroot_linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-12.3.0-he2b93b0_5.conda + url: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-13.2.0-h338b0a0_5.conda hash: - md5: cddba8fd94e52012abea1caad722b9c2 - sha256: 69371a1e8ad718b033bc1c58743a395e06ad19d08a2ff97e264ed82fd3ccbd9c - build: he2b93b0_5 + md5: 88d0ccab114eb0e837725bd48cdddae5 + sha256: 9049d84fef7526e1dde8311acd2a592bf1d6f16453e68087c17d1bda01eb7867 + build: h338b0a0_5 arch: x86_64 subdir: linux-64 build_number: 5 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - size: 12742481 - timestamp: 1706820327015 + size: 13582212 + timestamp: 1706819574801 - platform: linux-64 name: gxx_linux-64 - version: 12.3.0 + version: 13.2.0 category: main manager: conda dependencies: - binutils_linux-64 2.40 hbdbef99_2 - - gcc_linux-64 12.3.0 h76fc315_2 - - gxx_impl_linux-64 12.3.0.* + - gcc_linux-64 13.2.0 h112eaf3_2 + - gxx_impl_linux-64 13.2.0.* - sysroot_linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-12.3.0-h8a814eb_2.conda + url: https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-13.2.0-hc53e3bf_2.conda hash: - md5: f517b1525e9783849bd56a5dc45a9960 - sha256: 9878771cf1316230150a795d213a2f1dd7dead07dc0bccafae20533d631d5e69 - build: h8a814eb_2 + md5: 7b8c35963707337e5f363c36f9bb5088 + sha256: a973936c18a9f44f9b04292ed3555dbc27a6802186fa653efb0aecdaac455708 + build: hc53e3bf_2 arch: x86_64 subdir: linux-64 build_number: 2 license: BSD-3-Clause license_family: BSD - size: 28640 - timestamp: 1694604524890 + size: 28665 + timestamp: 1694604366542 - platform: linux-64 name: h5netcdf version: 1.3.0 @@ -5080,29 +4903,6 @@ package: license_family: MIT size: 507632 timestamp: 1701648249706 -- platform: osx-64 - name: ld64 - version: '609' - category: main - manager: conda - dependencies: - - ld64_osx-64 609 ha20a434_16 - - libllvm16 >=16.0.6,<16.1.0a0 - url: https://conda.anaconda.org/conda-forge/osx-64/ld64-609-ha02d983_16.conda - hash: - md5: 6dfb00e6cab263fe598d48df153d3288 - sha256: 63cd1976379a7e0ff8b0e57b0e16b112a0077acce83af364251ab309128a227d - build: ha02d983_16 - arch: x86_64 - subdir: osx-64 - build_number: 16 - constrains: - - cctools_osx-64 973.0.1.* - - cctools 973.0.1.* - license: APSL-2.0 - license_family: Other - size: 19310 - timestamp: 1706798136816 - platform: osx-64 name: ld64_osx-64 version: '609' @@ -5110,26 +4910,26 @@ package: manager: conda dependencies: - libcxx - - libllvm16 >=16.0.6,<16.1.0a0 + - libllvm17 >=17.0.6,<17.1.0a0 - sigtool - tapi >=1100.0.11,<1101.0a0 - url: https://conda.anaconda.org/conda-forge/osx-64/ld64_osx-64-609-ha20a434_16.conda + url: https://conda.anaconda.org/conda-forge/osx-64/ld64_osx-64-609-hd3532be_16.conda hash: - md5: db19844278d11471e5f4eddf50277f4f - sha256: eef540c95a418169617bdda1699d8f5441f819ed673d81f363c5c728a6273749 - build: ha20a434_16 + md5: 96e42c402c291cfd897d99e85163cd01 + sha256: 6c92d1aa6f7aebb2ed5050d2759e2240cd995b0b73086bbb39f5ecdea2914ece + build: hd3532be_16 arch: x86_64 subdir: osx-64 build_number: 16 constrains: - cctools_osx-64 973.0.1.* - - cctools 973.0.1.* - - clang >=16.0.6,<17.0a0 + - clang >=17.0.6,<18.0a0 - ld 609.* + - cctools 973.0.1.* license: APSL-2.0 license_family: Other - size: 1055029 - timestamp: 1706798033425 + size: 1049817 + timestamp: 1706797833035 - platform: linux-64 name: ld_impl_linux-64 version: '2.40' @@ -5730,25 +5530,25 @@ package: size: 148080 timestamp: 1701415503085 - platform: osx-64 - name: libclang-cpp16 - version: 16.0.6 + name: libclang-cpp17 + version: 17.0.6 category: main manager: conda dependencies: - libcxx >=16.0.6 - - libllvm16 >=16.0.6,<16.1.0a0 - url: https://conda.anaconda.org/conda-forge/osx-64/libclang-cpp16-16.0.6-default_h7151d67_5.conda + - libllvm17 >=17.0.6,<17.1.0a0 + url: https://conda.anaconda.org/conda-forge/osx-64/libclang-cpp17-17.0.6-default_h6b1ee41_2.conda hash: - md5: 3189f83f21974fa2a9204f949d2aff18 - sha256: b308b6faee84c4646dca87221d8a0d1e293a8b9a2a1b83a4500abcd4dd6c8eca - build: default_h7151d67_5 + md5: 2df787005c3d38861e863fe54cfde28b + sha256: d3a3a66aa769d206148acb1cbdb9c4be53916c041532c334861f2387dccc56e8 + build: default_h6b1ee41_2 arch: x86_64 subdir: osx-64 - build_number: 5 + build_number: 2 license: Apache-2.0 WITH LLVM-exception license_family: Apache - size: 12713468 - timestamp: 1706894023056 + size: 13178521 + timestamp: 1704279056417 - platform: linux-64 name: libclang13 version: 15.0.7 @@ -6163,23 +5963,23 @@ package: timestamp: 1687765514062 - platform: linux-64 name: libgcc-devel_linux-64 - version: 12.3.0 + version: 13.2.0 category: main manager: conda dependencies: [] - url: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-12.3.0-h8bca6fd_105.conda + url: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-13.2.0-ha9c7c90_105.conda hash: - md5: e12ce6b051085b8f27e239f5e5f5bce5 - sha256: ed2dfc6d959dc27e7668439e1ad31b127b43e99f9a7e77a2d34b958fa797316b - build: h8bca6fd_105 + md5: 3bc29a967fee57e193ce51f51c598bca + sha256: 858029ad4d66869c533bb5a22e95e7c044ca66c61d6f403f10d9ae074a0e360e + build: ha9c7c90_105 arch: x86_64 subdir: linux-64 build_number: 105 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL noarch: generic - size: 2568967 - timestamp: 1706819720613 + size: 2578210 + timestamp: 1706819085946 - platform: linux-64 name: libgcc-ng version: 13.2.0 @@ -6627,8 +6427,8 @@ package: size: 33321457 timestamp: 1701375836233 - platform: osx-64 - name: libllvm16 - version: 16.0.6 + name: libllvm17 + version: 17.0.6 category: main manager: conda dependencies: @@ -6636,18 +6436,18 @@ package: - libxml2 >=2.12.1,<3.0.0a0 - libzlib >=1.2.13,<1.3.0a0 - zstd >=1.5.5,<1.6.0a0 - url: https://conda.anaconda.org/conda-forge/osx-64/libllvm16-16.0.6-hbedff68_3.conda + url: https://conda.anaconda.org/conda-forge/osx-64/libllvm17-17.0.6-hbedff68_1.conda hash: - md5: 8fd56c0adc07a37f93bd44aa61a97c90 - sha256: ad848dc0bb02b1dbe54324ee5700b050a2e5f63c095f5229b2de58249a3e268e - build: hbedff68_3 + md5: fcd38f0553a99fa279fb66a5bfc2fb28 + sha256: 605460ecc4ccc04163d0b06c99693864e5bcba7a9f014a5263c9856195282265 + build: hbedff68_1 arch: x86_64 subdir: osx-64 - build_number: 3 + build_number: 1 license: Apache-2.0 WITH LLVM-exception license_family: Apache - size: 25196932 - timestamp: 1701379796962 + size: 26306756 + timestamp: 1701378823527 - platform: linux-64 name: libnghttp2 version: 1.58.0 @@ -6901,23 +6701,23 @@ package: timestamp: 1702130001416 - platform: linux-64 name: libsanitizer - version: 12.3.0 + version: 13.2.0 category: main manager: conda dependencies: - - libgcc-ng >=12.3.0 - url: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-12.3.0-h0f45ef3_5.conda + - libgcc-ng >=13.2.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-13.2.0-h7e041cc_5.conda hash: - md5: 11d1ceacff40054d5a74b12975d76f20 - sha256: 70329cb8b0604273521cdae63520cb364a8d5477e156e65cdbd810984caeabee - build: h0f45ef3_5 + md5: 3f686300a92604d1bdff9a29dd4a6639 + sha256: 97ecdab7e4e96400d712c2d6ba2b7c30a97278e9f4470ea0ff36bf4f1447b3b9 + build: h7e041cc_5 arch: x86_64 subdir: linux-64 build_number: 5 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - size: 3890717 - timestamp: 1706819904612 + size: 4114208 + timestamp: 1706819228913 - platform: linux-64 name: libsndfile version: 1.2.2 @@ -7067,23 +6867,23 @@ package: timestamp: 1685838242099 - platform: linux-64 name: libstdcxx-devel_linux-64 - version: 12.3.0 + version: 13.2.0 category: main manager: conda dependencies: [] - url: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-12.3.0-h8bca6fd_105.conda + url: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-13.2.0-ha9c7c90_105.conda hash: - md5: b3c6062c84a8e172555ee104ea6a01ab - sha256: efcd4b4cba79cd0fb5a87757c7ca63171cf3b7b06446192364bae7defb50b94c - build: h8bca6fd_105 + md5: 66383205c2e1bdf013df52fa9e3e6763 + sha256: 67e999ee56481844ca4ce2e61132c5c16f3f00a05daa1d0ea4b2c684eea5de5a + build: ha9c7c90_105 arch: x86_64 subdir: linux-64 build_number: 105 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL noarch: generic - size: 11597918 - timestamp: 1706819775415 + size: 13020920 + timestamp: 1706819128553 - platform: linux-64 name: libstdcxx-ng version: 13.2.0 @@ -7649,31 +7449,31 @@ package: timestamp: 1701222810938 - platform: osx-64 name: llvm-tools - version: 16.0.6 + version: 17.0.6 category: main manager: conda dependencies: - - libllvm16 16.0.6 hbedff68_3 + - libllvm17 17.0.6 hbedff68_1 - libxml2 >=2.12.1,<3.0.0a0 - libzlib >=1.2.13,<1.3.0a0 - zstd >=1.5.5,<1.6.0a0 - url: https://conda.anaconda.org/conda-forge/osx-64/llvm-tools-16.0.6-hbedff68_3.conda + url: https://conda.anaconda.org/conda-forge/osx-64/llvm-tools-17.0.6-hbedff68_1.conda hash: - md5: e9356b0807462e8f84c1384a8da539a5 - sha256: dff3ca83c6945f020ee6d3c62ddb3ed175ae8a357be3689a8836bcfe25ad9882 - build: hbedff68_3 + md5: 4260f86b3dd201ad7ea758d783cd5613 + sha256: 2380e9ac72aba8ef351ec13c9d5b1b233057c70bf4b9b3cea0b3f5bfb5a4e211 + build: hbedff68_1 arch: x86_64 subdir: osx-64 - build_number: 3 + build_number: 1 constrains: - - llvmdev 16.0.6 - - clang 16.0.6.* - - clang-tools 16.0.6.* - - llvm 16.0.6.* + - llvm 17.0.6 + - clang 17.0.6 + - clang-tools 17.0.6 + - llvmdev 17.0.6 license: Apache-2.0 WITH LLVM-exception license_family: Apache - size: 22221159 - timestamp: 1701379965425 + size: 23219165 + timestamp: 1701378990823 - platform: linux-64 name: lz4-c version: 1.9.4 @@ -13743,44 +13543,6 @@ package: license_family: BSD size: 16988 timestamp: 1702511261442 -- platform: win-64 - name: vs2019_win-64 - version: 19.29.30139 - category: main - manager: conda - dependencies: - - vswhere - url: https://conda.anaconda.org/conda-forge/win-64/vs2019_win-64-19.29.30139-he1865b1_18.conda - hash: - md5: 6d9d317010ece223fc46a69360d0eb84 - sha256: b8f5128fc767fc04b48ec10df7ac6eea5d07df0efa2d91fff6d872e3dcde9029 - build: he1865b1_18 - arch: x86_64 - subdir: win-64 - build_number: 18 - track_features: vc14 - license: BSD-3-Clause - license_family: BSD - size: 19488 - timestamp: 1702511289992 -- platform: win-64 - name: vswhere - version: 3.1.4 - category: main - manager: conda - dependencies: [] - url: https://conda.anaconda.org/conda-forge/win-64/vswhere-3.1.4-h57928b3_0.conda - hash: - md5: b1d1d6a1f874d8c93a57b5efece52f03 - sha256: 553c41fc1a883415a39444313f8d99236685529776fdd04e8d97288b73496002 - build: h57928b3_0 - arch: x86_64 - subdir: win-64 - build_number: 0 - license: MIT - license_family: MIT - size: 218421 - timestamp: 1682376911339 - platform: linux-64 name: wcwidth version: 0.2.13 diff --git a/pixi.toml b/pixi.toml index 3d03b81..3da865e 100644 --- a/pixi.toml +++ b/pixi.toml @@ -43,7 +43,6 @@ cython = ">=3.0.8,<3.1" fftw = ">=3.3.10,<3.4" pkg-config = ">=0.29.2,<0.30" pyfftw = ">=0.13.1,<0.14" -cxx-compiler = ">=1.7.0,<1.8" [pypi-dependencies] pymech = "*" diff --git a/plugins/fluidfft-builder/pyproject.toml b/plugins/fluidfft-builder/pyproject.toml index 03662f7..fe42b1a 100644 --- a/plugins/fluidfft-builder/pyproject.toml +++ b/plugins/fluidfft-builder/pyproject.toml @@ -3,7 +3,7 @@ requires = ["flit_core >=3.2,<4"] build-backend = "flit_core.buildapi" [project] -name = "fluidfft_builder" +name = "fluidfft-builder" version = "0.0.1" description = "Fluidfft plugin dependencies" authors = [{name = "Pierre Augier", email = "pierre.augier@univ-grenoble-alpes.fr"}] diff --git a/plugins/fluidfft-fftw/pyproject.toml b/plugins/fluidfft-fftw/pyproject.toml index 4f0317b..beb391a 100644 --- a/plugins/fluidfft-fftw/pyproject.toml +++ b/plugins/fluidfft-fftw/pyproject.toml @@ -1,6 +1,6 @@ [build-system] requires = [ - "meson-python", "numpy", "fluidfft_builder>=0.0.1", "cython", "transonic>=0.6.1" + "meson-python", "numpy", "fluidfft-builder>=0.0.1", "cython", "transonic>=0.6.1" ] build-backend = 'mesonpy' diff --git a/plugins/fluidfft-fftwmpi/pyproject.toml b/plugins/fluidfft-fftwmpi/pyproject.toml index 5bddf50..321c320 100644 --- a/plugins/fluidfft-fftwmpi/pyproject.toml +++ b/plugins/fluidfft-fftwmpi/pyproject.toml @@ -1,6 +1,6 @@ [build-system] requires = [ - "meson-python", "numpy", "fluidfft_builder>=0.0.1", "cython", "mpi4py", "transonic>=0.6.1" + "meson-python", "numpy", "fluidfft-builder>=0.0.1", "cython", "mpi4py", "transonic>=0.6.1" ] build-backend = 'mesonpy' diff --git a/plugins/fluidfft-mpi_with_fftw/pyproject.toml b/plugins/fluidfft-mpi_with_fftw/pyproject.toml index 2c9a57f..99a5416 100644 --- a/plugins/fluidfft-mpi_with_fftw/pyproject.toml +++ b/plugins/fluidfft-mpi_with_fftw/pyproject.toml @@ -1,6 +1,6 @@ [build-system] requires = [ - "meson-python", "numpy", "fluidfft_builder>=0.0.1", "cython", "mpi4py", "transonic>=0.6.1" + "meson-python", "numpy", "fluidfft-builder>=0.0.1", "cython", "mpi4py", "transonic>=0.6.1" ] build-backend = 'mesonpy' diff --git a/pyproject.toml b/pyproject.toml index 441f731..b399dd3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -70,7 +70,7 @@ build = ["meson-python", "ninja", "numpy", "transonic>=0.6.0", "pythran>=0.9.7"] test = [ "pytest", - "coverage", + "coverage[toml]", "pytest-cov", "cython", # needed at run time for coverage # needed to build the plugins @@ -97,3 +97,43 @@ black = 'black -l 82 src doc plugins tests --exclude "/(__pythran__|__python__|_ black_check = 'black --check -l 82 src doc plugins tests --exclude "/(__pythran__|__python__|__numba__|build|doc/_build|\.ipynb_checkpoints/*)/"' lint = {shell="pylint -rn --rcfile=pylintrc --jobs=$(nproc) src doc tests plugins --exit-zero"} validate_code = {composite = ["black_check", "lint"]} + + +[tool.coverage.run] +source = [ + "./src/fluidfft", + "./plugins/fluidfft-fftw", + "./plugins/fluidfft-fftwmpi", + "./plugins/fluidfft-mpi_with_fftw", +] +data_file = ".coverage/coverage" +omit = [ + "*/try_*.py", + "*/_old_*.py", + "**/__pythran__/*.py", + "**/__python__/*.py", + "**/__numba__/*.py", + "src/fluidfft/fft2d/fake_mod_fft2d_for_doc.py", + "src/fluidfft/fft3d/fake_mod_fft3d_for_doc.py", +] +plugins = ["Cython.Coverage"] + +[tool.coverage.report] +show_missing = true +exclude_lines = [ + "if __name__ == .__main__.:", + "if \"sphinx\" in sys.modules:", + "raise ValueError", + "raise NotImplementedError", + "raise ImportError", + "except KeyError:", + "except ImportError:", + "except AttributeError:", + "except NotImplementedError:", +] + +[tool.coverage.html] +directory = ".coverage" + +[tool.coverage.xml] +output = ".coverage/coverage.xml" diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 60ca81a..0000000 --- a/setup.cfg +++ /dev/null @@ -1,25 +0,0 @@ -[flake8] -ignore = E501,E225,E226,E303,E201,E202,E203,W503 - -[coverage:run] -source = - ./src/fluidfft -data_file = .coverage/coverage -omit = - */test*.py -plugins = Cython.Coverage - -[coverage:report] -show_missing = True -exclude_lines = - raise ValueError - if __name__ == '__main__': - warnings.warn - raise NotImplementedError - except ValueError: - -[coverage:html] -directory = .coverage - -[coverage:xml] -output = .coverage/coverage.xml diff --git a/tests/test_2d.py b/tests/test_2d.py index d16596b..8fba2ef 100644 --- a/tests/test_2d.py +++ b/tests/test_2d.py @@ -1,5 +1,4 @@ import unittest -import traceback from fluiddyn.util import mpi @@ -7,12 +6,6 @@ from fluidfft.fft2d import get_classes_seq, get_classes_mpi from fluidfft.fft2d.testing import complete_test_class_2d -try: - import fluidfft_fftw.fft2d.with_fftw2d -except ImportError: - # If this one does not work it is a bad sign so we want to know what happened. - traceback.print_exc() - def test_get_classes(): get_classes_seq() @@ -23,7 +16,7 @@ def test_get_classes(): nb_proc = mpi.nb_proc -methods_seq = ["fftw1d", "fftw2d", "pyfftw"] +methods_seq = ["pyfftw"] methods_seq = ["fft2d.with_" + method for method in methods_seq] classes_seq = { method: import_fft_class(method, raise_import_error=False) @@ -41,15 +34,10 @@ class Tests2D(unittest.TestCase): pass -if rank == 0: - if nb_proc == 1 and len(classes_seq) == 0: - raise RuntimeError( - "ImportError for all sequential classes. Nothing is working!" - ) - - for method, cls in classes_seq.items(): - complete_test_class_2d(method, Tests2D, cls=cls) - +if nb_proc == 1 and len(classes_seq) == 0: + raise RuntimeError( + "ImportError for all sequential classes. Nothing is working!" + ) -# TODO: understand what was done here before! -# complete_test_class_2d("None", Tests2D, cls=False) +for method, cls in classes_seq.items(): + complete_test_class_2d(method, Tests2D, cls=cls) diff --git a/tests/test_3d.py b/tests/test_3d.py index 7bd1c47..f541a99 100644 --- a/tests/test_3d.py +++ b/tests/test_3d.py @@ -1,18 +1,9 @@ import unittest -import traceback - -from fluiddyn.util import mpi from fluidfft import import_fft_class from fluidfft.fft3d import get_classes_seq, get_classes_mpi from fluidfft.fft3d.testing import complete_test_class_3d -try: - import fluidfft_fftw.fft3d.with_fftw3d -except ImportError: - # If this one does not work it is a bad sign so we want to know what appends. - traceback.print_exc() - def test_get_classes(): get_classes_seq() @@ -36,14 +27,10 @@ class Tests3D(unittest.TestCase): pass -if mpi.nb_proc == 1: - if len(classes_seq) == 0: - raise RuntimeError( - "ImportError for all sequential classes. Nothing is working!" - ) - - for method, cls in classes_seq.items(): - complete_test_class_3d(method, Tests3D, cls=cls) +if len(classes_seq) == 0: + raise RuntimeError( + "ImportError for all sequential classes. Nothing is working!" + ) - # TODO: understand what was done here before! - # complete_class("None", None) +for method, cls in classes_seq.items(): + complete_test_class_3d(method, Tests3D, cls=cls)