diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..ae18a3c0f --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,10 @@ +version: 2 +updates: + - package-ecosystem: github-actions + directory: / + schedule: + interval: monthly # or daily, weekly + groups: + dependencies: + patterns: + - '*' \ No newline at end of file diff --git a/.github/workflows/ci-code-profiling.yml b/.github/workflows/ci-code-profiling.yml index 26699925a..3a8e8946c 100644 --- a/.github/workflows/ci-code-profiling.yml +++ b/.github/workflows/ci-code-profiling.yml @@ -22,6 +22,14 @@ jobs: shell: bash -el {0} steps: - uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha || github.ref }} + + - name: Set up swap space + uses: pierotofy/set-swap-space@v1.0 + with: + swap-size-gb: 10 + - uses: mamba-org/setup-micromamba@v1 # https://github.com/mamba-org/setup-micromamba with: cache-environment: false @@ -33,8 +41,24 @@ jobs: ada-py python=3.12 pytest + pytest-benchmark pytest-codspeed + - name: Install latest version + run: | + pip install -e . + +# - name: Run pytest-benchmark +# run: pytest ./tests --ignore=./tests/fem/ --ignore=./tests/full/ --benchmark-json output.json +# +# - name: Store benchmark result +# uses: benchmark-action/github-action-benchmark@v1 +# with: +# tool: 'pytest' +# output-file-path: output.json +# # Enable Job Summary for PRs +# summary-always: true + - name: Run benchmarks uses: CodSpeedHQ/action@v3 with: diff --git a/.github/workflows/pr-tests.yml b/.github/workflows/pr-tests.yml index 86d3f1739..d06ef009c 100644 --- a/.github/workflows/pr-tests.yml +++ b/.github/workflows/pr-tests.yml @@ -1,15 +1,13 @@ name: Pull Request Tests on: - pull_request_target: - types: [ opened, synchronize, edited, unlabeled ] + pull_request: branches: - main - - develop # Use concurrency to ensure that only one instance of this workflow is running at a time concurrency: - group: pr-tests--${{ github.sha }} + group: pr-tests-${{ github.ref_name }} cancel-in-progress: true # installs mamba-org/setup-micromamba@v1 on all 3 platforms using matrix and runs pytest: @@ -18,8 +16,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha || github.ref }} - - uses: prefix-dev/setup-pixi@v0.8.0 + - uses: prefix-dev/setup-pixi@v0.8.1 # https://github.com/prefix-dev/setup-pixi with: pixi-version: v0.28.2 cache: true @@ -37,6 +37,8 @@ jobs: os: [ubuntu-latest, windows-latest, macos-13] steps: - uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha || github.ref }} - uses: mamba-org/setup-micromamba@v1 # https://github.com/mamba-org/setup-micromamba with: @@ -54,4 +56,4 @@ jobs: pip install -e . - name: Runs Tests - run: pytest ./tests --ignore=./tests/fem/ --ignore=./tests/full/ --ignore=./tests/profiling/ \ No newline at end of file + run: pytest ./tests --ignore=./tests/fem/ --ignore=./tests/full/ --ignore=./tests/profiling/ --durations=0 \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 64c12576e..bc045a554 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,7 +15,10 @@ jobs: run: shell: bash -l {0} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha || github.ref }} + - uses: mamba-org/setup-micromamba@v1 # https://github.com/mamba-org/setup-micromamba with: cache-environment: false @@ -64,4 +67,4 @@ jobs: pip install -e . - name: Run Tests - run: pytest ./tests --ignore=./tests/fem/ --ignore=./tests/profiling/ \ No newline at end of file + run: pytest ./tests --ignore=./tests/fem/ --ignore=./tests/profiling/ --durations=0 \ No newline at end of file diff --git a/README.md b/README.md index 3b49e2a68..ed54836c9 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # ADA - Assembly for Design & Analysis -[![Anaconda-Server Badge](https://anaconda.org/krande/ada-py/badges/version.svg)](https://anaconda.org/krande/ada-py) -[![Anaconda-Server Badge](https://anaconda.org/krande/ada-py/badges/latest_release_date.svg)](https://anaconda.org/krande/ada-py) -[![Anaconda-Server Badge](https://anaconda.org/krande/ada-py/badges/platforms.svg)](https://anaconda.org/krande/ada-py) -[![Anaconda-Server Badge](https://anaconda.org/krande/ada-py/badges/downloads.svg)](https://anaconda.org/krande/ada-py) +[![Anaconda-Server Badge](https://anaconda.org/conda-forge/ada-py/badges/version.svg)](https://anaconda.org/conda-forge/ada-py) +[![Anaconda-Server Badge](https://anaconda.org/conda-forge/ada-py/badges/latest_release_date.svg)](https://anaconda.org/krande/ada-py) +[![Anaconda-Server Badge](https://anaconda.org/conda-forge/ada-py/badges/platforms.svg)](https://anaconda.org/conda-forge/ada-py) +[![Anaconda-Server Badge](https://anaconda.org/conda-forge/ada-py/badges/downloads.svg)](https://anaconda.org/conda-forge/ada-py) [![PyPi Badge](https://img.shields.io/pypi/v/ada-py)](https://pypi.org/project/ada-py/) A python library for working with structural analysis and design. This library should be considered as experimental. @@ -156,9 +156,6 @@ For installation files of open source FEM software such as Calculix and Code Ast * https://prepomax.fs.um.si/downloads/ (PreProMax -> Calculix preprocessor) -**Note!** pip is not a recommended installation method due to an unstable behaviour often -manifested as DLL import errors related to the vtk package. - ## Acknowledgements This project would never have been possible without the existing open source python and c++ libraries. diff --git a/action_config.toml b/action_config.toml index 673cfd32a..25a9ca6b0 100644 --- a/action_config.toml +++ b/action_config.toml @@ -16,7 +16,7 @@ recipe_dir = "./conda" extra_conda_dep_channels = ["krande"] platforms = "ubuntu-latest,windows-latest,macos-latest" # Anaconda Related -use_anaconda_server = true +use_anaconda_server = false owner = "Krande" label = "main" # diff --git a/pixi.lock b/pixi.lock index c4968813d..0cfcd7f4a 100644 --- a/pixi.lock +++ b/pixi.lock @@ -17,7 +17,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-14.1.0-h69a702a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-14.1.0-h77fa898_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.46.0-hde9e2c9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.46.1-hadc24fc_0.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/libxcrypt-4.4.36-hd590300_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-h4ab18f5_1.conda @@ -34,7 +34,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/ca-certificates-2024.8.30-h56e8100_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.6.2-h63175ca_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.4.2-h8ffe710_5.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.46.0-h2466b09_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.46.1-h2466b09_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.1-h2466b09_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.3.1-h2466b09_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pixi-pycharm-0.0.6-win_1234567_0.conda @@ -58,7 +58,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.16-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-21.2.0-py312h98912ed_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-21.2.0-py312h66e93f0_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/arpack-3.9.1-nompi_h77f6705_101.conda - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-2.4.1-pyhd8ed1ab_0.conda @@ -68,15 +68,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-hef167b5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h30efb56_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h2ec8cdc_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.33.1-heb4867d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.8.30-hbcca054_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.0-hebfffa5_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/calculix-2.21-hdf8a589_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.7.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/calculix-2.22-h4915f9d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.0-py312h06ac9bb_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.4-py312h085067d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cgal-cpp-5.6.1-h096c278_1.conda @@ -84,14 +84,14 @@ environments: - conda: https://repo.prefix.dev/code-aster/linux-64/code-aster-17.1.0-py312_nompi_release_h78dbaba_300.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.5-py312hca68cad_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.5-py312h2ec8cdc_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/eigen-3.4.0-h00ab1b0_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/expat-2.6.2-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fltk-1.3.9-h9305793_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 @@ -133,7 +133,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.9.25-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py312h7900ff3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py312h7900ff3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.23.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2023.12.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.23.0-hd8ed1ab_0.conda @@ -157,10 +157,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.3-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-23_linux64_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.84.0-h0ccab89_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-devel-1.84.0-h00ab1b0_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-headers-1.84.0-ha770c72_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-python-1.84.0-py312hf74af30_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.84.0-hb8260a3_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-devel-1.84.0-h1a2810e_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-headers-1.84.0-ha770c72_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-python-1.84.0-py312hc39e661_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-23_linux64_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.9.1-hdb1bdb2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.21-h4bc722e_0.conda @@ -188,7 +188,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libraw-0.21.1-h2a13503_2.conda - conda: https://repo.prefix.dev/code-aster/linux-64/libscotch-7.0.4-aster_nompi_release_h49d36e5_302.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.18-h36c2ea0_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.46.0-hde9e2c9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.46.1-hadc24fc_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.0-h0841786_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-14.1.0-hc0a3c3a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-14.1.0-h4852527_1.conda @@ -274,11 +274,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.7.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.20.0-py312hf008fa9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.20.0-py312h12e396e_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.14.1-py312h7d485d2_0.conda - conda: https://repo.prefix.dev/code-aster/linux-64/scotch-7.0.4-aster_nompi_release_he9e196c_302.conda - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh0d859eb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-72.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-73.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.1-ha2e4443_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda @@ -292,7 +292,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.46.0-h6d4b2fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.46.1-h9eae976_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/svgwrite-1.4.3-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.0.0-pyhd8ed1ab_0.conda @@ -316,7 +316,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-24.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-13.0.1-py312h66e93f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-13.0.1-py312h66e93f0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wgpu-native-0.19.4.1-h2b8f863_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wgpu-py-0.16.0-pyha804496_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-4.0.13-pyhd8ed1ab_0.conda @@ -342,14 +342,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h75354e8_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-h4ab18f5_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312h3483029_0.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 win-64: - conda: https://conda.anaconda.org/conda-forge/noarch/ada-py-0.2.16-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.16-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/argon2-cffi-bindings-21.2.0-py312he70551f_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/argon2-cffi-bindings-21.2.0-py312h4389bb4_5.conda - conda: https://conda.anaconda.org/conda-forge/win-64/arpack-3.9.1-nompi_h034da5f_101.conda - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-2.4.1-pyhd8ed1ab_0.conda @@ -360,14 +360,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/blis-0.9.0-h2466b09_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/blosc-1.21.6-h85f69ea_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.1.0-py312h53d5487_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.1.0-py312h275cf98_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h2466b09_7.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ca-certificates-2024.8.30-h56e8100_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.0-h32b962e_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/calculix-2.21-h27aae45_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.7.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/calculix-2.22-h27aae45_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-1.17.0-py312h4389bb4_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cftime-1.6.4-py312h1a27103_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cgal-cpp-5.6.1-hb7ee40c_1.conda @@ -375,14 +375,14 @@ environments: - conda: https://repo.prefix.dev/code-aster/win-64/code-aster-17.1.0-py312_nompi_release_hfe9bba6_300.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.5-py312h275cf98_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.5-py312h275cf98_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/eigen-3.4.0-h91493d7_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/expat-2.6.2-h63175ca_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/fltk-1.3.9-h27fc217_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 @@ -427,7 +427,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.9.25-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/jsonpointer-3.0.0-py312h2e8e312_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/jsonpointer-3.0.0-py312h2e8e312_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.23.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2023.12.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.23.0-hd8ed1ab_0.conda @@ -450,10 +450,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.0.0-h63175ca_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/libaec-1.1.3-h63175ca_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.9.0-23_win64_blis.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.84.0-h444863b_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-devel-1.84.0-h91493d7_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-headers-1.84.0-h57928b3_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-python-1.84.0-py312hbaa7e33_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.84.0-h444863b_6.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-devel-1.84.0-h91493d7_6.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-headers-1.84.0-h57928b3_6.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-python-1.84.0-py312hbaa7e33_6.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.9.0-23_win64_blis.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.9.1-h18fefc2_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.21-h2466b09_0.conda @@ -472,7 +472,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libraw-0.21.1-h5557f11_2.conda - conda: https://repo.prefix.dev/code-aster/win-64/libscotch-7.0.4-aster_nompi_release_h565e894_302.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.18-h8d14728_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.46.0-h2466b09_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.46.1-h2466b09_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.0-h7dfc565_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.6.0-hb151862_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.4.0-hcfcfb64_0.conda @@ -558,11 +558,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.7.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-0.20.0-py312h2615798_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-0.20.0-py312h2615798_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.14.1-py312h1f4e10d_0.conda - conda: https://repo.prefix.dev/code-aster/win-64/scotch-7.0.4-aster_nompi_release_hfa1337c_302.conda - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh5737063_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-72.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-73.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/snappy-1.2.1-h23299a8_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda @@ -603,7 +603,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-24.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/websockets-13.0.1-py312h4389bb4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/websockets-13.0.1-py312h4389bb4_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/wgpu-native-0.19.4.1-h7ea99a0_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wgpu-py-0.16.0-pyh7428d3b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-4.0.13-pyhd8ed1ab_0.conda @@ -627,7 +627,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-he1f189c_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.1-h2466b09_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.23.0-py312h7606c53_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.23.0-py312h7606c53_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.6-h0ea2cb4_0.conda frontend: channels: @@ -671,7 +671,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-14.1.0-h69a702a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-14.1.0-h77fa898_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.46.0-hde9e2c9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.46.1-hadc24fc_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-14.1.0-hc0a3c3a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-14.1.0-h4852527_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda @@ -687,7 +687,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.12-5_cp312.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.4.10-py312h5715c7c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-72.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-73.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024a-h8827d51_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2 @@ -700,7 +700,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/isort-5.13.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.6.2-h63175ca_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.4.2-h8ffe710_5.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.46.0-h2466b09_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.46.1-h2466b09_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.1-h2466b09_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.3.1-h2466b09_3.conda @@ -710,7 +710,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.5-h889d299_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/win-64/python_abi-3.12-5_cp312.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ruff-0.4.10-py312h7a6832a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-72.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-73.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h5226925_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024a-h8827d51_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.22621.0-h57928b3_0.tar.bz2 @@ -729,7 +729,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/ada-py-0.2.16-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-21.2.0-py312h98912ed_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-21.2.0-py312h66e93f0_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/arpack-3.9.1-nompi_h77f6705_101.conda - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-2.4.1-pyhd8ed1ab_0.conda @@ -739,28 +739,28 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-hef167b5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h30efb56_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h2ec8cdc_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.33.1-heb4867d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.8.30-hbcca054_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.0-hebfffa5_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/calculix-2.21-hdf8a589_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.7.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/calculix-2.22-h4915f9d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.0-py312h06ac9bb_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.4-py312h085067d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cgal-cpp-5.6.1-h096c278_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.3.2-pyhd8ed1ab_0.conda - conda: https://repo.prefix.dev/code-aster/linux-64/code-aster-17.1.0-py312_nompi_release_h78dbaba_300.conda - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.5-py312hca68cad_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.5-py312h2ec8cdc_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/eigen-3.4.0-h00ab1b0_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/expat-2.6.2-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fltk-1.3.9-h9305793_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 @@ -800,7 +800,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.9.25-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py312h7900ff3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py312h7900ff3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.23.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2023.12.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.23.0-hd8ed1ab_0.conda @@ -824,10 +824,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.3-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-23_linux64_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.84.0-h0ccab89_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-devel-1.84.0-h00ab1b0_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-headers-1.84.0-ha770c72_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-python-1.84.0-py312hf74af30_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.84.0-hb8260a3_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-devel-1.84.0-h1a2810e_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-headers-1.84.0-ha770c72_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-python-1.84.0-py312hc39e661_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-23_linux64_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.9.1-hdb1bdb2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.21-h4bc722e_0.conda @@ -855,7 +855,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libraw-0.21.1-h2a13503_2.conda - conda: https://repo.prefix.dev/code-aster/linux-64/libscotch-7.0.4-aster_nompi_release_h49d36e5_302.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.18-h36c2ea0_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.46.0-hde9e2c9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.46.1-hadc24fc_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.0-h0841786_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-14.1.0-hc0a3c3a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-14.1.0-h4852527_1.conda @@ -939,15 +939,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.7.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.20.0-py312hf008fa9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.20.0-py312h12e396e_1.conda - conda: https://repo.prefix.dev/code-aster/linux-64/scotch-7.0.4-aster_nompi_release_he9e196c_302.conda - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh0d859eb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-72.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-73.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.1-ha2e4443_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.5-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.46.0-h6d4b2fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.46.1-h9eae976_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/svgwrite-1.4.3-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.0.0-pyhd8ed1ab_0.conda @@ -971,7 +971,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-24.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-13.0.1-py312h66e93f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-13.0.1-py312h66e93f0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wgpu-native-0.19.4.1-h2b8f863_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wgpu-py-0.16.0-pyha804496_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-4.0.13-pyhd8ed1ab_0.conda @@ -997,13 +997,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h75354e8_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-h4ab18f5_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312h3483029_0.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 win-64: - conda: https://conda.anaconda.org/conda-forge/noarch/ada-py-0.2.16-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/argon2-cffi-bindings-21.2.0-py312he70551f_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/argon2-cffi-bindings-21.2.0-py312h4389bb4_5.conda - conda: https://conda.anaconda.org/conda-forge/win-64/arpack-3.9.1-nompi_h034da5f_101.conda - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-2.4.1-pyhd8ed1ab_0.conda @@ -1014,14 +1014,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/blis-0.9.0-h2466b09_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/blosc-1.21.6-h85f69ea_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.1.0-py312h53d5487_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.1.0-py312h275cf98_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h2466b09_7.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ca-certificates-2024.8.30-h56e8100_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.0-h32b962e_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/calculix-2.21-h27aae45_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.7.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/calculix-2.22-h27aae45_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-1.17.0-py312h4389bb4_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cftime-1.6.4-py312h1a27103_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cgal-cpp-5.6.1-hb7ee40c_1.conda @@ -1029,13 +1029,13 @@ environments: - conda: https://repo.prefix.dev/code-aster/win-64/code-aster-17.1.0-py312_nompi_release_hfe9bba6_300.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.5-py312h275cf98_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.5-py312h275cf98_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/eigen-3.4.0-h91493d7_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/expat-2.6.2-h63175ca_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/fltk-1.3.9-h27fc217_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 @@ -1078,7 +1078,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.9.25-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/jsonpointer-3.0.0-py312h2e8e312_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/jsonpointer-3.0.0-py312h2e8e312_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.23.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2023.12.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.23.0-hd8ed1ab_0.conda @@ -1101,10 +1101,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.0.0-h63175ca_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/libaec-1.1.3-h63175ca_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.9.0-23_win64_blis.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.84.0-h444863b_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-devel-1.84.0-h91493d7_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-headers-1.84.0-h57928b3_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-python-1.84.0-py312hbaa7e33_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.84.0-h444863b_6.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-devel-1.84.0-h91493d7_6.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-headers-1.84.0-h57928b3_6.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-python-1.84.0-py312hbaa7e33_6.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.9.0-23_win64_blis.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.9.1-h18fefc2_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.21-h2466b09_0.conda @@ -1123,7 +1123,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libraw-0.21.1-h5557f11_2.conda - conda: https://repo.prefix.dev/code-aster/win-64/libscotch-7.0.4-aster_nompi_release_h565e894_302.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.18-h8d14728_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.46.0-h2466b09_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.46.1-h2466b09_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.0-h7dfc565_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.6.0-hb151862_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.4.0-hcfcfb64_0.conda @@ -1207,10 +1207,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.7.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-0.20.0-py312h2615798_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-0.20.0-py312h2615798_1.conda - conda: https://repo.prefix.dev/code-aster/win-64/scotch-7.0.4-aster_nompi_release_hfa1337c_302.conda - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh5737063_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-72.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-73.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/snappy-1.2.1-h23299a8_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda @@ -1242,7 +1242,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-24.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/websockets-13.0.1-py312h4389bb4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/websockets-13.0.1-py312h4389bb4_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/wgpu-native-0.19.4.1-h7ea99a0_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wgpu-py-0.16.0-pyh7428d3b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-4.0.13-pyhd8ed1ab_0.conda @@ -1266,7 +1266,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-he1f189c_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.1-h2466b09_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.23.0-py312h7606c53_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.23.0-py312h7606c53_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.6-h0ea2cb4_0.conda tests: channels: @@ -1279,7 +1279,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/ada-py-0.2.16-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-21.2.0-py312h98912ed_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-21.2.0-py312h66e93f0_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/arpack-3.9.1-nompi_h77f6705_101.conda - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-2.4.1-pyhd8ed1ab_0.conda @@ -1289,15 +1289,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-hef167b5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h30efb56_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h2ec8cdc_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.33.1-heb4867d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.8.30-hbcca054_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.0-hebfffa5_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/calculix-2.21-hdf8a589_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.7.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/calculix-2.22-h4915f9d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.0-py312h06ac9bb_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.4-py312h085067d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cgal-cpp-5.6.1-h096c278_1.conda @@ -1306,7 +1306,7 @@ environments: - conda: https://repo.prefix.dev/code-aster/linux-64/code-aster-17.1.0-py312_nompi_release_h78dbaba_300.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.5-py312hca68cad_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.5-py312h2ec8cdc_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/docxcompose-1.4.0-pyhd8ed1ab_0.conda @@ -1314,7 +1314,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/et_xmlfile-1.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/expat-2.6.2-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fltk-1.3.9-h9305793_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 @@ -1355,7 +1355,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.9.25-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py312h7900ff3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py312h7900ff3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.23.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2023.12.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.23.0-hd8ed1ab_0.conda @@ -1379,10 +1379,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.3-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-23_linux64_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.84.0-h0ccab89_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-devel-1.84.0-h00ab1b0_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-headers-1.84.0-ha770c72_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-python-1.84.0-py312hf74af30_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.84.0-hb8260a3_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-devel-1.84.0-h1a2810e_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-headers-1.84.0-ha770c72_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-python-1.84.0-py312hc39e661_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-23_linux64_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.9.1-hdb1bdb2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.21-h4bc722e_0.conda @@ -1410,7 +1410,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libraw-0.21.1-h2a13503_2.conda - conda: https://repo.prefix.dev/code-aster/linux-64/libscotch-7.0.4-aster_nompi_release_h49d36e5_302.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.18-h36c2ea0_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.46.0-hde9e2c9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.46.1-hadc24fc_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.0-h0841786_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-14.1.0-hc0a3c3a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-14.1.0-h4852527_1.conda @@ -1508,16 +1508,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.7.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.20.0-py312hf008fa9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.20.0-py312h12e396e_1.conda - conda: https://repo.prefix.dev/code-aster/linux-64/scotch-7.0.4-aster_nompi_release_he9e196c_302.conda - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh0d859eb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-72.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-73.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.1-ha2e4443_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.5-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.46.0-h6d4b2fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.46.1-h9eae976_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/svgwrite-1.4.3-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.9.0-pyhd8ed1ab_1.tar.bz2 @@ -1540,13 +1540,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/uharfbuzz-0.39.5-py312h68727a3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.2-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/watchdog-5.0.0-py312h7900ff3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/watchdog-5.0.1-py312h7900ff3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.23.1-h3e06ad9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-24.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-13.0.1-py312h66e93f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-13.0.1-py312h66e93f0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wgpu-native-0.19.4.1-h2b8f863_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wgpu-py-0.16.0-pyha804496_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-4.0.13-pyhd8ed1ab_0.conda @@ -1572,13 +1572,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h75354e8_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-h4ab18f5_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312h3483029_0.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 win-64: - conda: https://conda.anaconda.org/conda-forge/noarch/ada-py-0.2.16-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/argon2-cffi-bindings-21.2.0-py312he70551f_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/argon2-cffi-bindings-21.2.0-py312h4389bb4_5.conda - conda: https://conda.anaconda.org/conda-forge/win-64/arpack-3.9.1-nompi_h034da5f_101.conda - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-2.4.1-pyhd8ed1ab_0.conda @@ -1589,14 +1589,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/blis-0.9.0-h2466b09_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/blosc-1.21.6-h85f69ea_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.1.0-py312h53d5487_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.1.0-py312h275cf98_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h2466b09_7.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ca-certificates-2024.8.30-h56e8100_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.0-h32b962e_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/calculix-2.21-h27aae45_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.7.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/calculix-2.22-h27aae45_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-1.17.0-py312h4389bb4_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cftime-1.6.4-py312h1a27103_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cgal-cpp-5.6.1-hb7ee40c_1.conda @@ -1605,7 +1605,7 @@ environments: - conda: https://repo.prefix.dev/code-aster/win-64/code-aster-17.1.0-py312_nompi_release_hfe9bba6_300.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.5-py312h275cf98_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.5-py312h275cf98_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/docxcompose-1.4.0-pyhd8ed1ab_0.conda @@ -1613,7 +1613,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/et_xmlfile-1.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/expat-2.6.2-h63175ca_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/fltk-1.3.9-h27fc217_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 @@ -1657,7 +1657,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.9.25-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/jsonpointer-3.0.0-py312h2e8e312_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/jsonpointer-3.0.0-py312h2e8e312_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.23.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2023.12.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.23.0-hd8ed1ab_0.conda @@ -1680,10 +1680,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.0.0-h63175ca_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/libaec-1.1.3-h63175ca_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.9.0-23_win64_blis.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.84.0-h444863b_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-devel-1.84.0-h91493d7_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-headers-1.84.0-h57928b3_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-python-1.84.0-py312hbaa7e33_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.84.0-h444863b_6.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-devel-1.84.0-h91493d7_6.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-headers-1.84.0-h57928b3_6.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-python-1.84.0-py312hbaa7e33_6.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.9.0-23_win64_blis.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.9.1-h18fefc2_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.21-h2466b09_0.conda @@ -1702,7 +1702,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libraw-0.21.1-h5557f11_2.conda - conda: https://repo.prefix.dev/code-aster/win-64/libscotch-7.0.4-aster_nompi_release_h565e894_302.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.18-h8d14728_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.46.0-h2466b09_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.46.1-h2466b09_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.0-h7dfc565_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.6.0-hb151862_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.4.0-hcfcfb64_0.conda @@ -1800,10 +1800,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.7.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-0.20.0-py312h2615798_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-0.20.0-py312h2615798_1.conda - conda: https://repo.prefix.dev/code-aster/win-64/scotch-7.0.4-aster_nompi_release_hfa1337c_302.conda - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh5737063_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-72.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-73.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/snappy-1.2.1-h23299a8_0.conda @@ -1836,12 +1836,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h8a93ad2_20.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.40.33810-hcc2c482_20.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.40.33810-h3bf8584_20.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/watchdog-5.0.0-py312h2e8e312_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/watchdog-5.0.1-py312h2e8e312_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-24.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/websockets-13.0.1-py312h4389bb4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/websockets-13.0.1-py312h4389bb4_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/wgpu-native-0.19.4.1-h7ea99a0_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wgpu-py-0.16.0-pyh7428d3b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-4.0.13-pyhd8ed1ab_0.conda @@ -1865,7 +1865,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-he1f189c_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.1-h2466b09_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.23.0-py312h7606c53_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.23.0-py312h7606c53_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.6-h0ea2cb4_0.conda packages: - kind: conda @@ -1877,7 +1877,6 @@ packages: sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726 md5: d7c89558ba9fa0495403155b64376d81 license: None - purls: [] size: 2562 timestamp: 1578324546067 - kind: conda @@ -1896,7 +1895,6 @@ packages: - openmp_impl 9999 license: BSD-3-Clause license_family: BSD - purls: [] size: 23621 timestamp: 1650670423406 - kind: conda @@ -1933,8 +1931,6 @@ packages: - websockets license: GPL-3.0-or-later license_family: GPL3 - purls: - - pkg:pypi/ada-py?source=conda-forge-mapping size: 11325481 timestamp: 1723484811225 - kind: conda @@ -1950,8 +1946,6 @@ packages: - python >=3.9 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/alabaster?source=conda-forge-mapping size: 18365 timestamp: 1704848898483 - kind: conda @@ -1974,8 +1968,6 @@ packages: - trio >=0.23 license: MIT license_family: MIT - purls: - - pkg:pypi/anyio?source=conda-forge-mapping size: 104255 timestamp: 1717693144467 - kind: conda @@ -1995,52 +1987,47 @@ packages: - argon2_cffi ==999 license: MIT license_family: MIT - purls: - - pkg:pypi/argon2-cffi?source=conda-forge-mapping size: 18602 timestamp: 1692818472638 - kind: conda name: argon2-cffi-bindings version: 21.2.0 - build: py312h98912ed_4 - build_number: 4 - subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-21.2.0-py312h98912ed_4.conda - sha256: 8ddb4a586bc128f1b9484f82c5cb0226340527fbfe093adf3b76b7e755e11477 - md5: 00536e0a1734dcde9815fe227f32fc5a + build: py312h4389bb4_5 + build_number: 5 + subdir: win-64 + url: https://conda.anaconda.org/conda-forge/win-64/argon2-cffi-bindings-21.2.0-py312h4389bb4_5.conda + sha256: 8764a8a9416d90264c7d36526de77240a454d0ee140841db545bdd5825ebd6f1 + md5: 53943e7ecba6b3e3744b292dc3fb4ae2 depends: - cffi >=1.0.1 - - libgcc-ng >=12 - - python >=3.12.0rc3,<3.13.0a0 + - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 license: MIT license_family: MIT - purls: - - pkg:pypi/argon2-cffi-bindings?source=conda-forge-mapping - size: 35142 - timestamp: 1695386704886 + size: 34399 + timestamp: 1725357069475 - kind: conda name: argon2-cffi-bindings version: 21.2.0 - build: py312he70551f_4 - build_number: 4 - subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/argon2-cffi-bindings-21.2.0-py312he70551f_4.conda - sha256: 4c3c428b994400ca753d9d0adbb11ce2d2a87f4dacd86c91d6cf985c5d89a3e1 - md5: 69b7a1d899d46b91f8eecab9abf9728c + build: py312h66e93f0_5 + build_number: 5 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-21.2.0-py312h66e93f0_5.conda + sha256: 3cbc3b026f5c3f26de696ead10607db8d80cbb003d87669ac3b02e884f711978 + md5: 1505fc57c305c0a3174ea7aae0a0db25 depends: + - __glibc >=2.17,<3.0.a0 - cffi >=1.0.1 - - python >=3.12.0rc3,<3.13.0a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 license: MIT license_family: MIT - purls: - - pkg:pypi/argon2-cffi-bindings?source=conda-forge-mapping - size: 34750 - timestamp: 1695387347676 + size: 34847 + timestamp: 1725356749774 - kind: conda name: arpack version: 3.9.1 @@ -2057,7 +2044,6 @@ packages: - m2w64-gcc-libs-core license: BSD-3-Clause license_family: BSD - purls: [] size: 164157 timestamp: 1717419659282 - kind: conda @@ -2078,7 +2064,6 @@ packages: - libstdcxx-ng >=12 license: BSD-3-Clause license_family: BSD - purls: [] size: 130542 timestamp: 1717419008264 - kind: conda @@ -2096,8 +2081,6 @@ packages: - types-python-dateutil >=2.8.10 license: Apache-2.0 license_family: Apache - purls: - - pkg:pypi/arrow?source=conda-forge-mapping size: 100096 timestamp: 1696129131844 - kind: conda @@ -2114,8 +2097,6 @@ packages: - six >=1.12.0 license: Apache-2.0 license_family: Apache - purls: - - pkg:pypi/asttokens?source=conda-forge-mapping size: 28922 timestamp: 1698341257884 - kind: conda @@ -2132,8 +2113,6 @@ packages: - typing_extensions >=4.0.0 license: MIT license_family: MIT - purls: - - pkg:pypi/async-lru?source=conda-forge-mapping size: 15342 timestamp: 1690563152778 - kind: conda @@ -2149,8 +2128,6 @@ packages: - python >=3.7 license: MIT license_family: MIT - purls: - - pkg:pypi/attrs?source=conda-forge-mapping size: 56048 timestamp: 1722977241383 - kind: conda @@ -2168,8 +2145,6 @@ packages: - setuptools license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/babel?source=conda-forge-mapping size: 7609750 timestamp: 1702422720584 - kind: conda @@ -2186,8 +2161,6 @@ packages: - soupsieve >=1.2 license: MIT license_family: MIT - purls: - - pkg:pypi/beautifulsoup4?source=conda-forge-mapping size: 118200 timestamp: 1705564819537 - kind: conda @@ -2247,8 +2220,6 @@ packages: - webencodings license: Apache-2.0 license_family: Apache - purls: - - pkg:pypi/bleach?source=conda-forge-mapping size: 131220 timestamp: 1696630354218 - kind: conda @@ -2266,7 +2237,6 @@ packages: - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD - purls: [] size: 3250841 timestamp: 1713880162189 - kind: conda @@ -2287,7 +2257,6 @@ packages: - zstd >=1.5.6,<1.6.0a0 license: BSD-3-Clause license_family: BSD - purls: [] size: 50135 timestamp: 1719266616208 - kind: conda @@ -2307,54 +2276,50 @@ packages: - zstd >=1.5.6,<1.6.0a0 license: BSD-3-Clause license_family: BSD - purls: [] size: 48842 timestamp: 1719266029046 - kind: conda name: brotli-python version: 1.1.0 - build: py312h30efb56_1 - build_number: 1 - subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h30efb56_1.conda - sha256: b68706698b6ac0d31196a8bcb061f0d1f35264bcd967ea45e03e108149a74c6f - md5: 45801a89533d3336a365284d93298e36 + build: py312h275cf98_2 + build_number: 2 + subdir: win-64 + url: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.1.0-py312h275cf98_2.conda + sha256: f83baa6f6bcba7b73f6921d5c1aa95ffc5d8b246ade933ade79250de0a4c9c4c + md5: a99aec1ac46794a5fb1cd3cf5d2b6110 depends: - - libgcc-ng >=12 - - libstdcxx-ng >=12 - - python >=3.12.0rc3,<3.13.0a0 + - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 constrains: - - libbrotlicommon 1.1.0 hd590300_1 + - libbrotlicommon 1.1.0 h2466b09_2 license: MIT license_family: MIT - purls: - - pkg:pypi/brotli?source=conda-forge-mapping - size: 350604 - timestamp: 1695990206327 + size: 321874 + timestamp: 1725268491976 - kind: conda name: brotli-python version: 1.1.0 - build: py312h53d5487_1 - build_number: 1 - subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.1.0-py312h53d5487_1.conda - sha256: 769e276ecdebf86f097786cbde1ebd11e018cd6cd838800995954fe6360e0797 - md5: d01a6667b99f0e8ad4097af66c938e62 + build: py312h2ec8cdc_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h2ec8cdc_2.conda + sha256: f2a59ccd20b4816dea9a2a5cb917eb69728271dbf1aeab4e1b7e609330a50b6f + md5: b0b867af6fc74b2a0aa206da29c0f3cf depends: - - python >=3.12.0rc3,<3.13.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 constrains: - - libbrotlicommon 1.1.0 hcfcfb64_1 + - libbrotlicommon 1.1.0 hb9d3cd8_2 license: MIT license_family: MIT - purls: - - pkg:pypi/brotli?source=conda-forge-mapping - size: 322514 - timestamp: 1695991054894 + size: 349867 + timestamp: 1725267732089 - kind: conda name: bzip2 version: 1.0.8 @@ -2370,7 +2335,6 @@ packages: - vc14_runtime >=14.29.30139 license: bzip2-1.0.6 license_family: BSD - purls: [] size: 54927 timestamp: 1720974860185 - kind: conda @@ -2387,7 +2351,6 @@ packages: - libgcc-ng >=12 license: bzip2-1.0.6 license_family: BSD - purls: [] size: 252783 timestamp: 1720974456583 - kind: conda @@ -2403,7 +2366,6 @@ packages: - libgcc-ng >=13 license: MIT license_family: MIT - purls: [] size: 182796 timestamp: 1724438109690 - kind: conda @@ -2415,7 +2377,6 @@ packages: sha256: 0fcac3a7ffcc556649e034a1802aedf795e64227eaa7194d207b01eaf26454c4 md5: 4c4fd67c18619be5aa65dc5b6c72e490 license: ISC - purls: [] size: 158773 timestamp: 1725019107649 - kind: conda @@ -2427,7 +2388,6 @@ packages: sha256: afee721baa6d988e27fef1832f68d6f32ac8cc99cdf6015732224c2841a09cea md5: c27d1c142233b5bc9ca570c6e2e0c244 license: ISC - purls: [] size: 159003 timestamp: 1725018903918 - kind: conda @@ -2444,8 +2404,6 @@ packages: - cached_property >=1.5.2,<1.5.3.0a0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/cached-property?source=conda-forge-mapping size: 4134 timestamp: 1615209571450 - kind: conda @@ -2462,8 +2420,6 @@ packages: - python >=3.6 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/cached-property?source=conda-forge-mapping size: 11065 timestamp: 1615209567874 - kind: conda @@ -2489,7 +2445,6 @@ packages: - vc14_runtime >=14.29.30139 - zlib license: LGPL-2.1-only or MPL-1.1 - purls: [] size: 1516680 timestamp: 1721139332360 - kind: conda @@ -2521,18 +2476,16 @@ packages: - xorg-libxrender >=0.9.11,<0.10.0a0 - zlib license: LGPL-2.1-only or MPL-1.1 - purls: [] size: 983604 timestamp: 1721138900054 - kind: conda name: calculix - version: '2.21' - build: h27aae45_3 - build_number: 3 + version: '2.22' + build: h27aae45_0 subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/calculix-2.21-h27aae45_3.conda - sha256: fce417db17959c36ef796d753f0a096597b665594fff235b4b43eebbb246c9b5 - md5: 1ff718e046633b5c3d49a2b58b009d4b + url: https://conda.anaconda.org/conda-forge/win-64/calculix-2.22-h27aae45_0.conda + sha256: 41182738f9bbcb779eecab60cbe5489e88d02b63ab8598c2a1edfe48467abc0c + md5: 5d8dbbdedfc382d7fb679518bedd049f depends: - arpack >=3.9.1,<3.10.0a0 nompi_* - libblas >=3.9.0,<4.0a0 @@ -2541,46 +2494,42 @@ packages: - m2w64-gcc-libs-core license: GPL-2.0-or-later license_family: GPL - purls: [] - size: 2536719 - timestamp: 1722680897889 + size: 2516811 + timestamp: 1725269881292 - kind: conda name: calculix - version: '2.21' - build: hdf8a589_3 - build_number: 3 + version: '2.22' + build: h4915f9d_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/calculix-2.21-hdf8a589_3.conda - sha256: 3b08c7a4c0771060d14ebda0372b054cff9d84312432ffcecea6052220daac67 - md5: 07e8b3455bb4b79b683b7274ff04bd94 + url: https://conda.anaconda.org/conda-forge/linux-64/calculix-2.22-h4915f9d_0.conda + sha256: 6e01a72a98dd81ecee438e3ea54bf4c3f222bbf21063b2efa6c34fc55e88fa72 + md5: 4e5acb4aaf1833a8d2a4a925196c1fa0 depends: + - __glibc >=2.17,<3.0.a0 - arpack >=3.9.1,<3.10.0a0 nompi_* - libblas >=3.9.0,<4.0a0 - - libgcc-ng >=12 - - libgfortran-ng + - libgcc >=12 + - libgfortran - libgfortran5 >=12.4.0 - liblapack >=3.9.0,<4.0a0 license: GPL-2.0-or-later license_family: GPL - purls: [] - size: 2623810 - timestamp: 1722680139435 + size: 2601445 + timestamp: 1725268973424 - kind: conda name: certifi - version: 2024.7.4 + version: 2024.8.30 build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.7.4-pyhd8ed1ab_0.conda - sha256: dd3577bb5275062c388c46b075dcb795f47f8dac561da7dd35fe504b936934e5 - md5: 24e7fd6ca65997938fff9e5ab6f653e4 + url: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + sha256: 7020770df338c45ac6b560185956c32f0a5abf4b76179c037f115fc7d687819f + md5: 12f7d00853807b0531775e9be891cb11 depends: - python >=3.7 license: ISC - purls: - - pkg:pypi/certifi?source=conda-forge-mapping - size: 159308 - timestamp: 1720458053074 + size: 163752 + timestamp: 1725278204397 - kind: conda name: cffi version: 1.17.0 @@ -2599,8 +2548,6 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - purls: - - pkg:pypi/cffi?source=conda-forge-mapping size: 294242 timestamp: 1724956485789 - kind: conda @@ -2621,8 +2568,6 @@ packages: - vc14_runtime >=14.29.30139 license: MIT license_family: MIT - purls: - - pkg:pypi/cffi?source=conda-forge-mapping size: 289890 timestamp: 1724956869589 - kind: conda @@ -2640,8 +2585,6 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - purls: - - pkg:pypi/cftime?source=conda-forge-mapping size: 248107 timestamp: 1718096615685 - kind: conda @@ -2661,8 +2604,6 @@ packages: - vc14_runtime >=14.29.30139 license: MIT license_family: MIT - purls: - - pkg:pypi/cftime?source=conda-forge-mapping size: 179439 timestamp: 1718097078473 - kind: conda @@ -2682,7 +2623,6 @@ packages: - libstdcxx-ng >=12 - mpfr >=4.2.1,<5.0a0 license: GPL3/LGPL3 - purls: [] size: 5775569 timestamp: 1711461004061 - kind: conda @@ -2705,7 +2645,6 @@ packages: - vc14_runtime >=14.29.30139 - vc14_runtime >=14.38.33130 license: GPL3/LGPL3 - purls: [] size: 5784720 timestamp: 1711461366145 - kind: conda @@ -2721,8 +2660,6 @@ packages: - python >=3.7 license: MIT license_family: MIT - purls: - - pkg:pypi/charset-normalizer?source=conda-forge-mapping size: 46597 timestamp: 1698833765762 - kind: conda @@ -2739,8 +2676,6 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/click?source=conda-forge-mapping size: 84437 timestamp: 1692311973840 - kind: conda @@ -2758,8 +2693,6 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/click?source=conda-forge-mapping size: 85051 timestamp: 1692312207348 - kind: conda @@ -2793,7 +2726,6 @@ packages: platform: linux license: GPL-3.0-only AND CECILL-C AND Apache-2.0 AND LGPL-3.0-only license_family: GPL - purls: [] size: 73881654 timestamp: 1723399274091 - kind: conda @@ -2828,26 +2760,8 @@ packages: platform: win license: GPL-3.0-only AND CECILL-C AND Apache-2.0 AND LGPL-3.0-only license_family: GPL - purls: [] size: 78781301 timestamp: 1722515407201 -- kind: conda - name: colorama - version: 0.4.6 - build: pyhd8ed1ab_0 - subdir: noarch - noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 - sha256: 2c1b2e9755ce3102bca8d69e8f26e4f087ece73f50418186aee7c74bef8e1698 - md5: 3faab06a954c2a04039983f2c4a50d99 - depends: - - python >=3.7 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/colorama?source=hash-mapping - size: 25170 - timestamp: 1666700778190 - kind: conda name: colorama version: 0.4.6 @@ -2877,18 +2791,17 @@ packages: - traitlets >=5.3 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/comm?source=conda-forge-mapping size: 12134 timestamp: 1710320435158 - kind: conda name: debugpy version: 1.8.5 - build: py312h275cf98_0 + build: py312h275cf98_1 + build_number: 1 subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.5-py312h275cf98_0.conda - sha256: 1a77f31f4909f2455aece546d8ef0730cd4b5f08c525c88eafeadd2f60457d44 - md5: 5341f925d61f8c5ca7fcb71c06f89edc + url: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.5-py312h275cf98_1.conda + sha256: 44403893fe8d5c2b3416d8377fce34f04b3cb8f4dc79e19161b024cde6814df3 + md5: 51b54280745ac5573ed0937c71c0e514 depends: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 @@ -2897,30 +2810,27 @@ packages: - vc14_runtime >=14.29.30139 license: MIT license_family: MIT - purls: - - pkg:pypi/debugpy?source=conda-forge-mapping - size: 3099514 - timestamp: 1722924359547 + size: 3174333 + timestamp: 1725269561740 - kind: conda name: debugpy version: 1.8.5 - build: py312hca68cad_0 + build: py312h2ec8cdc_1 + build_number: 1 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.5-py312hca68cad_0.conda - sha256: 129964de45b48cb44a377ba926fd96a081ef11ca3d47f5f1b969c2609de30816 - md5: 6c56579c537feaafdf62d6c3b5424c53 + url: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.5-py312h2ec8cdc_1.conda + sha256: 63b027e5605955d22d6bd491316c81876363bce36c7b5fea006a664337d77686 + md5: f89b813bd9fe5ae6e3b7d17e17801f68 depends: - __glibc >=2.17,<3.0.a0 - - libgcc-ng >=12 - - libstdcxx-ng >=12 + - libgcc >=13 + - libstdcxx >=13 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - purls: - - pkg:pypi/debugpy?source=conda-forge-mapping - size: 2092033 - timestamp: 1722923858548 + size: 2085616 + timestamp: 1725269284102 - kind: conda name: decorator version: 5.1.1 @@ -2934,8 +2844,6 @@ packages: - python >=3.5 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/decorator?source=conda-forge-mapping size: 12072 timestamp: 1641555714315 - kind: conda @@ -2951,8 +2859,6 @@ packages: - python >=3.6 license: PSF-2.0 license_family: PSF - purls: - - pkg:pypi/defusedxml?source=conda-forge-mapping size: 24062 timestamp: 1615232388757 - kind: conda @@ -2967,8 +2873,6 @@ packages: depends: - python >=3.9 license: CC-PDDC AND BSD-3-Clause AND BSD-2-Clause AND ZPL-2.1 - purls: - - pkg:pypi/docutils?source=conda-forge-mapping size: 403226 timestamp: 1713930478970 - kind: conda @@ -2989,8 +2893,6 @@ packages: - six license: MIT license_family: MIT - purls: - - pkg:pypi/docxcompose?source=conda-forge-mapping size: 25965 timestamp: 1671030479064 - kind: conda @@ -3006,7 +2908,6 @@ packages: - libstdcxx-ng >=12 license: MPL-2.0 license_family: MOZILLA - purls: [] size: 1088433 timestamp: 1690272126173 - kind: conda @@ -3023,7 +2924,6 @@ packages: - vc14_runtime >=14.29.30139 license: MPL-2.0 license_family: MOZILLA - purls: [] size: 1089706 timestamp: 1690273089254 - kind: conda @@ -3039,8 +2939,6 @@ packages: - python >=3.6 license: MIT license_family: MIT - purls: - - pkg:pypi/entrypoints?source=conda-forge-mapping size: 9199 timestamp: 1643888357950 - kind: conda @@ -3056,8 +2954,6 @@ packages: - python >=3.6 license: MIT license_family: MIT - purls: - - pkg:pypi/et-xmlfile?source=conda-forge-mapping size: 10602 timestamp: 1674664251571 - kind: conda @@ -3072,27 +2968,23 @@ packages: depends: - python >=3.7 license: MIT and PSF-2.0 - purls: - - pkg:pypi/exceptiongroup?source=conda-forge-mapping size: 20418 timestamp: 1720869435725 - kind: conda name: executing - version: 2.0.1 + version: 2.1.0 build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/executing-2.0.1-pyhd8ed1ab_0.conda - sha256: c738804ab1e6376f8ea63372229a04c8d658dc90fd5a218c6273a2eaf02f4057 - md5: e16be50e378d8a4533b989035b196ab8 + url: https://conda.anaconda.org/conda-forge/noarch/executing-2.1.0-pyhd8ed1ab_0.conda + sha256: a52d7516e2e11d3eb10908e10d3eb3f8ef267fea99ed9b09d52d96c4db3441b8 + md5: d0441db20c827c11721889a241df1220 depends: - python >=2.7 license: MIT license_family: MIT - purls: - - pkg:pypi/executing?source=conda-forge-mapping - size: 27689 - timestamp: 1698580072627 + size: 28337 + timestamp: 1725214501850 - kind: conda name: expat version: 2.6.2 @@ -3106,7 +2998,6 @@ packages: - libgcc-ng >=12 license: MIT license_family: MIT - purls: [] size: 137627 timestamp: 1710362144873 - kind: conda @@ -3121,7 +3012,6 @@ packages: - libexpat 2.6.2 h63175ca_0 license: MIT license_family: MIT - purls: [] size: 229627 timestamp: 1710362661692 - kind: conda @@ -3150,7 +3040,6 @@ packages: - xorg-libxrender >=0.9.11,<0.10.0a0 license: LGPL-2.0-or-later license_family: LGPL - purls: [] size: 1622795 timestamp: 1720536327400 - kind: conda @@ -3181,7 +3070,6 @@ packages: - xorg-libxrender >=0.9.11,<0.10.0a0 license: LGPL-2.0-or-later license_family: LGPL - purls: [] size: 1507188 timestamp: 1720534018967 - kind: conda @@ -3195,7 +3083,6 @@ packages: md5: 0c96522c6bdaed4b1566d11387caaf45 license: BSD-3-Clause license_family: BSD - purls: [] size: 397370 timestamp: 1566932522327 - kind: conda @@ -3209,7 +3096,6 @@ packages: md5: 34893075a5c9e55cdafac56607368fc6 license: OFL-1.1 license_family: Other - purls: [] size: 96530 timestamp: 1620479909603 - kind: conda @@ -3223,7 +3109,6 @@ packages: md5: 4d59c254e01d9cde7957100457e2d5fb license: OFL-1.1 license_family: Other - purls: [] size: 700814 timestamp: 1620479612257 - kind: conda @@ -3238,7 +3123,6 @@ packages: md5: cbbe59391138ea5ad3658c76912e147f license: LicenseRef-Ubuntu-Font-Licence-Version-1.0 license_family: Other - purls: [] size: 1622566 timestamp: 1714483134319 - kind: conda @@ -3257,7 +3141,6 @@ packages: - libzlib >=1.2.13,<2.0.0a0 license: MIT license_family: MIT - purls: [] size: 272010 timestamp: 1674828850194 - kind: conda @@ -3278,7 +3161,6 @@ packages: - vs2015_runtime >=14.29.30139 license: MIT license_family: MIT - purls: [] size: 190111 timestamp: 1674829354122 - kind: conda @@ -3294,7 +3176,6 @@ packages: - fonts-conda-forge license: BSD-3-Clause license_family: BSD - purls: [] size: 3667 timestamp: 1566974674465 - kind: conda @@ -3313,7 +3194,6 @@ packages: - font-ttf-ubuntu license: BSD-3-Clause license_family: BSD - purls: [] size: 4102 timestamp: 1566932280397 - kind: conda @@ -3330,8 +3210,6 @@ packages: - python >=2.7,<4 license: MPL-2.0 license_family: MOZILLA - purls: - - pkg:pypi/fqdn?source=conda-forge-mapping size: 14395 timestamp: 1638810388635 - kind: conda @@ -3358,7 +3236,6 @@ packages: - vc >=14.2,<15 - vc14_runtime >=14.29.30139 license: GPL-2.0-or-later OR GPL-3.0-or-later OR FreeImage - purls: [] size: 464417 timestamp: 1709289209333 - kind: conda @@ -3384,7 +3261,6 @@ packages: - openexr >=3.2.2,<3.3.0a0 - openjpeg >=2.5.2,<3.0a0 license: GPL-2.0-or-later OR GPL-3.0-or-later OR FreeImage - purls: [] size: 461394 timestamp: 1709288677517 - kind: conda @@ -3401,7 +3277,6 @@ packages: - libpng >=1.6.39,<1.7.0a0 - libzlib >=1.2.13,<2.0.0a0 license: GPL-2.0-only OR FTL - purls: [] size: 634972 timestamp: 1694615932610 - kind: conda @@ -3420,7 +3295,6 @@ packages: - vc >=14.2,<15 - vc14_runtime >=14.29.30139 license: GPL-2.0-only OR FTL - purls: [] size: 510306 timestamp: 1694616398888 - kind: conda @@ -3437,8 +3311,6 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/freetype-py?source=conda-forge-mapping size: 65033 timestamp: 1724961927914 - kind: conda @@ -3458,8 +3330,6 @@ packages: - sphinx-basic-ng license: MIT license_family: MIT - purls: - - pkg:pypi/furo?source=conda-forge-mapping size: 82957 timestamp: 1722943843117 - kind: conda @@ -3475,7 +3345,6 @@ packages: - vc >=14.2,<15 - vc14_runtime >=14.29.30139 license: Zlib - purls: [] size: 118348 timestamp: 1708789270458 - kind: conda @@ -3493,7 +3362,6 @@ packages: - xorg-libx11 >=1.8.7,<2.0a0 - xorg-libxinerama >=1.1.5,<1.2.0a0 license: Zlib - purls: [] size: 167421 timestamp: 1708788896752 - kind: conda @@ -3509,7 +3377,6 @@ packages: - libgcc-ng >=12 - libstdcxx-ng >=12 license: GPL-2.0-or-later OR LGPL-3.0-or-later - purls: [] size: 460055 timestamp: 1718980856608 - kind: conda @@ -3538,7 +3405,6 @@ packages: platform: win license: GPL-2.0-or-later license_family: GPL - purls: [] size: 6126366 timestamp: 1722704766975 - kind: conda @@ -3574,7 +3440,6 @@ packages: platform: linux license: GPL-2.0-or-later license_family: GPL - purls: [] size: 10915749 timestamp: 1723317480707 - kind: conda @@ -3591,8 +3456,6 @@ packages: - typing_extensions license: MIT license_family: MIT - purls: - - pkg:pypi/h11?source=conda-forge-mapping size: 48251 timestamp: 1664132995560 - kind: conda @@ -3610,8 +3473,6 @@ packages: - python >=3.6.1 license: MIT license_family: MIT - purls: - - pkg:pypi/h2?source=conda-forge-mapping size: 46754 timestamp: 1634280590080 - kind: conda @@ -3634,7 +3495,6 @@ packages: arch: x86_64 platform: linux license: BSD-3-Clause - purls: [] size: 1251353 timestamp: 1723316895522 - kind: conda @@ -3658,7 +3518,6 @@ packages: arch: x86_64 platform: win license: BSD-3-Clause - purls: [] size: 956566 timestamp: 1722703005634 - kind: conda @@ -3677,7 +3536,6 @@ packages: - libzlib >=1.2.13,<2.0.0a0 license: BSD-3-Clause license_family: BSD - purls: [] size: 756742 timestamp: 1695661547874 - kind: conda @@ -3697,7 +3555,6 @@ packages: - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD - purls: [] size: 779637 timestamp: 1695662145568 - kind: conda @@ -3721,7 +3578,6 @@ packages: platform: win license: LicenseRef-HDF5 license_family: BSD - purls: [] size: 2394841 timestamp: 1722509913238 - kind: conda @@ -3745,7 +3601,6 @@ packages: platform: linux license: LicenseRef-HDF5 license_family: BSD - purls: [] size: 3932094 timestamp: 1719554450111 - kind: conda @@ -3761,8 +3616,6 @@ packages: - python license: MIT license_family: MIT - purls: - - pkg:pypi/hpack?source=conda-forge-mapping size: 25341 timestamp: 1598856368685 - kind: conda @@ -3783,8 +3636,6 @@ packages: - sniffio 1.* license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/httpcore?source=conda-forge-mapping size: 45816 timestamp: 1711597091407 - kind: conda @@ -3805,8 +3656,6 @@ packages: - sniffio license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/httpx?source=conda-forge-mapping size: 65085 timestamp: 1724778453275 - kind: conda @@ -3822,27 +3671,8 @@ packages: - python >=3.6 license: MIT license_family: MIT - purls: - - pkg:pypi/hyperframe?source=conda-forge-mapping size: 14646 timestamp: 1619110249723 -- kind: conda - name: icu - version: '75.1' - build: he02047a_0 - subdir: linux-64 - url: 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 - kind: conda name: icu version: '75.1' @@ -3873,7 +3703,6 @@ packages: - vc14_runtime >=14.29.30139 license: MIT license_family: MIT - purls: [] size: 14544252 timestamp: 1720853966338 - kind: conda @@ -3889,8 +3718,6 @@ packages: - python >=3.6 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/idna?source=conda-forge-mapping size: 49275 timestamp: 1724450633325 - kind: conda @@ -3920,7 +3747,6 @@ packages: arch: x86_64 platform: win license: LGPL-3.0-or-later - purls: [] size: 58586923 timestamp: 1722705417661 - kind: conda @@ -3950,7 +3776,6 @@ packages: arch: x86_64 platform: linux license: LGPL-3.0-or-later - purls: [] size: 36193075 timestamp: 1723318512787 - kind: conda @@ -3966,8 +3791,6 @@ packages: - python >=3.4 license: MIT license_family: MIT - purls: - - pkg:pypi/imagesize?source=conda-forge-mapping size: 10164 timestamp: 1656939625410 - kind: conda @@ -3985,7 +3808,6 @@ packages: - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD - purls: [] size: 160297 timestamp: 1709194525395 - kind: conda @@ -4002,7 +3824,6 @@ packages: - libzlib >=1.2.13,<2.0.0a0 license: BSD-3-Clause license_family: BSD - purls: [] size: 162530 timestamp: 1709194196768 - kind: conda @@ -4019,8 +3840,6 @@ packages: - zipp >=0.5 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/importlib-metadata?source=conda-forge-mapping size: 28338 timestamp: 1724187329246 - kind: conda @@ -4036,8 +3855,6 @@ packages: - importlib-metadata >=8.4.0,<8.4.1.0a0 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/importlib-metadata?source=conda-forge-mapping size: 9292 timestamp: 1724187331653 - kind: conda @@ -4056,8 +3873,6 @@ packages: - importlib-resources >=6.4.4,<6.4.5.0a0 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/importlib-resources?source=conda-forge-mapping size: 32258 timestamp: 1724314749050 - kind: conda @@ -4073,8 +3888,6 @@ packages: - python >=3.7 license: MIT license_family: MIT - purls: - - pkg:pypi/iniconfig?source=conda-forge-mapping size: 11101 timestamp: 1673103208955 - kind: conda @@ -4095,7 +3908,6 @@ packages: platform: win license: LicenseRef-Proprietary-Intel-End-User-License-Agreement-for-Developer-Tools license_family: Proprietary - purls: [] size: 16529738 timestamp: 1718971256786 - kind: conda @@ -4110,7 +3922,6 @@ packages: platform: win license: LicenseRef-Proprietary-Intel-End-User-License-Agreement-for-Developer-Tools license_family: Proprietary - purls: [] size: 54454 timestamp: 1718971284326 - kind: conda @@ -4132,7 +3943,6 @@ packages: platform: win license: LicenseRef-Proprietary-Intel-End-User-License-Agreement-for-Developer-Tools license_family: Proprietary - purls: [] size: 980465 timestamp: 1718971294272 - kind: conda @@ -4146,7 +3956,6 @@ packages: md5: 2d89243bfb53652c182a7c73182cce4f license: LicenseRef-IntelSimplifiedSoftwareOct2022 license_family: Proprietary - purls: [] size: 1852356 timestamp: 1723739573141 - kind: conda @@ -4175,8 +3984,6 @@ packages: - traitlets >=5.4.0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/ipykernel?source=conda-forge-mapping size: 119084 timestamp: 1719845605084 - kind: conda @@ -4205,8 +4012,6 @@ packages: - traitlets >=5.4.0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/ipykernel?source=conda-forge-mapping size: 119853 timestamp: 1719845858082 - kind: conda @@ -4234,8 +4039,6 @@ packages: - typing_extensions >=4.6 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/ipython?source=conda-forge-mapping size: 598878 timestamp: 1725050237172 - kind: conda @@ -4263,8 +4066,6 @@ packages: - typing_extensions >=4.6 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/ipython?source=conda-forge-mapping size: 600176 timestamp: 1725050732048 - kind: conda @@ -4285,8 +4086,6 @@ packages: - widgetsnbextension >=4.0.13,<4.1.0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/ipywidgets?source=conda-forge-mapping size: 113497 timestamp: 1724334989324 - kind: conda @@ -4303,8 +4102,6 @@ packages: - python >=3.7 license: MIT license_family: MIT - purls: - - pkg:pypi/isoduration?source=conda-forge-mapping size: 17189 timestamp: 1638811664194 - kind: conda @@ -4337,8 +4134,6 @@ packages: - python >=3.6 license: MIT license_family: MIT - purls: - - pkg:pypi/jedi?source=conda-forge-mapping size: 841312 timestamp: 1696326218364 - kind: conda @@ -4355,8 +4150,6 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jinja2?source=conda-forge-mapping size: 111565 timestamp: 1715127275924 - kind: conda @@ -4372,44 +4165,38 @@ packages: - python >=3.7,<4.0 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/json5?source=conda-forge-mapping size: 27995 timestamp: 1712986338874 - kind: conda name: jsonpointer version: 3.0.0 - build: py312h2e8e312_0 + build: py312h2e8e312_1 + build_number: 1 subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/jsonpointer-3.0.0-py312h2e8e312_0.conda - sha256: 74d440e8250ff2ca05013b959de954bc85d84ff14a3b60c9e3dc7e071cddfa42 - md5: 6509bc42d9d26be656db3332da504913 + url: https://conda.anaconda.org/conda-forge/win-64/jsonpointer-3.0.0-py312h2e8e312_1.conda + sha256: 6865b97780e795337f65592582aee6f25e5b96214c64ffd3f8cdf580fd64ba22 + md5: e3ceda014d8461a11ca8552830a978f9 depends: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/jsonpointer?source=conda-forge-mapping - size: 42461 - timestamp: 1718283943216 + size: 42235 + timestamp: 1725303419414 - kind: conda name: jsonpointer version: 3.0.0 - build: py312h7900ff3_0 + build: py312h7900ff3_1 + build_number: 1 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py312h7900ff3_0.conda - sha256: b5d17c5db3c7306d3625745a27359f806a6dd94707d76d74cba541fc1daa2ae3 - md5: 320338762418ae59539ae368d4386085 + url: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py312h7900ff3_1.conda + sha256: 76ccb7bffc7761d1d3133ffbe1f7f1710a0f0d9aaa9f7ea522652e799f3601f4 + md5: 6b51f7459ea4073eeb5057207e2e1e3d depends: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/jsonpointer?source=conda-forge-mapping - size: 17497 - timestamp: 1718283512438 + size: 17277 + timestamp: 1725303032027 - kind: conda name: jsonschema version: 4.23.0 @@ -4429,8 +4216,6 @@ packages: - rpds-py >=0.7.1 license: MIT license_family: MIT - purls: - - pkg:pypi/jsonschema?source=conda-forge-mapping size: 74323 timestamp: 1720529611305 - kind: conda @@ -4448,8 +4233,6 @@ packages: - referencing >=0.31.0 license: MIT license_family: MIT - purls: - - pkg:pypi/jsonschema-specifications?source=conda-forge-mapping size: 16431 timestamp: 1703778502971 - kind: conda @@ -4473,7 +4256,6 @@ packages: - webcolors >=24.6.0 license: MIT license_family: MIT - purls: [] size: 7143 timestamp: 1720529619500 - kind: conda @@ -4491,8 +4273,6 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyter-lsp?source=conda-forge-mapping size: 55539 timestamp: 1712707521811 - kind: conda @@ -4514,8 +4294,6 @@ packages: - traitlets >=5.3 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyter-client?source=conda-forge-mapping size: 106248 timestamp: 1716472312833 - kind: conda @@ -4534,8 +4312,6 @@ packages: - traitlets >=5.3 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyter-core?source=conda-forge-mapping size: 109880 timestamp: 1710257719549 - kind: conda @@ -4553,8 +4329,6 @@ packages: - traitlets >=5.3 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyter-core?source=conda-forge-mapping size: 92843 timestamp: 1710257533875 - kind: conda @@ -4577,8 +4351,6 @@ packages: - traitlets >=5.3 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyter-events?source=conda-forge-mapping size: 21475 timestamp: 1710805759187 - kind: conda @@ -4612,8 +4384,6 @@ packages: - websocket-client >=1.7 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyter-server?source=conda-forge-mapping size: 323978 timestamp: 1720816754998 - kind: conda @@ -4630,8 +4400,6 @@ packages: - terminado >=0.8.3 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyter-server-terminals?source=conda-forge-mapping size: 19818 timestamp: 1710262791393 - kind: conda @@ -4663,8 +4431,6 @@ packages: - traitlets license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyterlab?source=conda-forge-mapping size: 7361961 timestamp: 1724745262468 - kind: conda @@ -4684,8 +4450,6 @@ packages: - jupyterlab >=4.0.8,<5.0.0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyterlab-pygments?source=conda-forge-mapping size: 18776 timestamp: 1707149279640 - kind: conda @@ -4711,8 +4475,6 @@ packages: - openapi-core >=0.18.0,<0.19.0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyterlab-server?source=conda-forge-mapping size: 49355 timestamp: 1721163412436 - kind: conda @@ -4730,8 +4492,6 @@ packages: - jupyterlab >=3,<5 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyterlab-widgets?source=conda-forge-mapping size: 186024 timestamp: 1724331451102 - kind: conda @@ -4749,7 +4509,6 @@ packages: - vc14_runtime >=14.29.30139 license: BSD-2-Clause license_family: BSD - purls: [] size: 355340 timestamp: 1703334132631 - kind: conda @@ -4765,7 +4524,6 @@ packages: - libgcc-ng >=12 license: BSD-2-Clause license_family: BSD - purls: [] size: 239104 timestamp: 1703333860145 - kind: conda @@ -4787,7 +4545,6 @@ packages: - sqlite >=3.34.0,<4.0a0 license: MIT license_family: MIT - purls: [] size: 59023347 timestamp: 1607208868917 - kind: conda @@ -4803,7 +4560,6 @@ packages: - vs2015_runtime >=14.16.27012 license: MIT license_family: MIT - purls: [] size: 51830039 timestamp: 1607209195016 - kind: conda @@ -4817,7 +4573,6 @@ packages: depends: - libgcc-ng >=10.3.0 license: LGPL-2.1-or-later - purls: [] size: 117831 timestamp: 1646151697040 - kind: conda @@ -4835,7 +4590,6 @@ packages: - vc14_runtime >=14.29.30139 license: Apache-2.0 license_family: APACHE - purls: [] size: 86227 timestamp: 1717164911259 - kind: conda @@ -4855,7 +4609,6 @@ packages: - openssl >=3.3.1,<4.0a0 license: MIT license_family: MIT - purls: [] size: 1370023 timestamp: 1719463201255 - kind: conda @@ -4873,7 +4626,6 @@ packages: - vc14_runtime >=14.29.30139 license: MIT license_family: MIT - purls: [] size: 712034 timestamp: 1719463874284 - kind: conda @@ -4889,8 +4641,6 @@ packages: - python >=3.8 license: MIT license_family: MIT - purls: - - pkg:pypi/lark?source=conda-forge-mapping size: 91970 timestamp: 1723661628720 - kind: conda @@ -4909,7 +4659,6 @@ packages: - vc14_runtime >=14.29.30139 license: MIT license_family: MIT - purls: [] size: 507632 timestamp: 1701648249706 - kind: conda @@ -4926,7 +4675,6 @@ packages: - libtiff >=4.6.0,<4.7.0a0 license: MIT license_family: MIT - purls: [] size: 245247 timestamp: 1701647787198 - kind: conda @@ -4942,7 +4690,6 @@ packages: - binutils_impl_linux-64 2.40 license: GPL-3.0-only license_family: GPL - purls: [] size: 707602 timestamp: 1718625640445 - kind: conda @@ -4958,7 +4705,6 @@ packages: - libstdcxx-ng >=12 license: Apache-2.0 license_family: Apache - purls: [] size: 281798 timestamp: 1657977462600 - kind: conda @@ -4974,7 +4720,6 @@ packages: - vs2015_runtime >=14.29.30037 license: Apache-2.0 license_family: Apache - purls: [] size: 194365 timestamp: 1657977692274 - kind: conda @@ -4990,7 +4735,6 @@ packages: - libstdcxx-ng >=12 license: BSD-2-Clause license_family: BSD - purls: [] size: 35446 timestamp: 1711021212685 - kind: conda @@ -5007,7 +4751,6 @@ packages: - vc14_runtime >=14.29.30139 license: BSD-2-Clause license_family: BSD - purls: [] size: 32567 timestamp: 1711021603471 - kind: conda @@ -5029,7 +4772,6 @@ packages: - blas * openblas license: BSD-3-Clause license_family: BSD - purls: [] size: 14880 timestamp: 1721688759937 - kind: conda @@ -5050,132 +4792,125 @@ packages: - blas_blis license: BSD-3-Clause license_family: BSD - purls: [] size: 1575969 timestamp: 1721689727300 - kind: conda name: libboost version: 1.84.0 - build: h0ccab89_5 - build_number: 5 - subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.84.0-h0ccab89_5.conda - sha256: f66f16ce2402eedb58f4cf1a09b4edfab644e540bb287fe65a7d52f529fe00d1 - md5: b26bd978e55fad1d173ea96c1c50c6c2 + build: h444863b_6 + build_number: 6 + subdir: win-64 + url: https://conda.anaconda.org/conda-forge/win-64/libboost-1.84.0-h444863b_6.conda + sha256: 35b268b5ba31a6a4672b260905dac64a05e8801199d11d934b1a766897612cc9 + md5: 51b2f4207c1c2fc0b89de6dab95699a6 depends: - - __glibc >=2.17,<3.0.a0 - bzip2 >=1.0.8,<2.0a0 - - icu >=75.1,<76.0a0 - - libgcc-ng >=12 - - libstdcxx-ng >=12 + - libiconv >=1.17,<2.0a0 - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 - xz >=5.2.6,<6.0a0 - zstd >=1.5.6,<1.6.0a0 constrains: - boost-cpp =1.84.0 license: BSL-1.0 - purls: [] - size: 2857449 - timestamp: 1722289875483 + size: 2340139 + timestamp: 1725326974927 - kind: conda name: libboost version: 1.84.0 - build: h444863b_5 - build_number: 5 - subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/libboost-1.84.0-h444863b_5.conda - sha256: 20bbc904bf20981211f124027402a0e34bdcf15f92dabfbecd54b4f6bc1ac370 - md5: 92d25c5b7de60c0b262fe747fbe9d928 + build: hb8260a3_6 + build_number: 6 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.84.0-hb8260a3_6.conda + sha256: f0863cc9af17a6bff5add1a882ed57cb8a135ad81578e96855a73cf2d0760a45 + md5: 6d387a528d4d10a97c6def56fa32d5a1 depends: + - __glibc >=2.17,<3.0.a0 - bzip2 >=1.0.8,<2.0a0 - - libiconv >=1.17,<2.0a0 + - icu >=75.1,<76.0a0 + - libgcc >=13 + - libstdcxx >=13 - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - xz >=5.2.6,<6.0a0 - zstd >=1.5.6,<1.6.0a0 constrains: - boost-cpp =1.84.0 license: BSL-1.0 - purls: [] - size: 2413653 - timestamp: 1722291119070 + size: 2827751 + timestamp: 1725325861944 - kind: conda name: libboost-devel version: 1.84.0 - build: h00ab1b0_5 - build_number: 5 + build: h1a2810e_6 + build_number: 6 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libboost-devel-1.84.0-h00ab1b0_5.conda - sha256: f126001a1f8ef95ea56dbd93767f3a54f26dc1b555e5bf1484d69edd228b9c43 - md5: 8781c46806d1a66c50676614f0dcc2df + url: https://conda.anaconda.org/conda-forge/linux-64/libboost-devel-1.84.0-h1a2810e_6.conda + sha256: 5c4a4bd9f5313d752ab3877af94a368e5d93846589e68e5e3bc5b0b06dd1eadf + md5: b40ba5b4b8d5e9ce2538f3ce3a53a8d1 depends: - - libboost 1.84.0 h0ccab89_5 - - libboost-headers 1.84.0 ha770c72_5 + - libboost 1.84.0 hb8260a3_6 + - libboost-headers 1.84.0 ha770c72_6 constrains: - boost-cpp =1.84.0 license: BSL-1.0 - purls: [] - size: 39471 - timestamp: 1722289996647 + size: 39340 + timestamp: 1725325997681 - kind: conda name: libboost-devel version: 1.84.0 - build: h91493d7_5 - build_number: 5 + build: h91493d7_6 + build_number: 6 subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/libboost-devel-1.84.0-h91493d7_5.conda - sha256: 82241c90f9564cd8a8316efc5937158854f282908ff152fdfa3d2b1f2c06a961 - md5: 978d58f100bb759089ef28a48449f610 + url: https://conda.anaconda.org/conda-forge/win-64/libboost-devel-1.84.0-h91493d7_6.conda + sha256: 94dda6c8e021f969c31fd6b5dc3bcd866d8ff8fe2e392855dd3de212a83d6db5 + md5: fb921ce99aa833e376bc81c9dacc546a depends: - - libboost 1.84.0 h444863b_5 - - libboost-headers 1.84.0 h57928b3_5 + - libboost 1.84.0 h444863b_6 + - libboost-headers 1.84.0 h57928b3_6 constrains: - boost-cpp =1.84.0 license: BSL-1.0 - purls: [] - size: 41698 - timestamp: 1722291418618 + size: 41760 + timestamp: 1725327254977 - kind: conda name: libboost-headers version: 1.84.0 - build: h57928b3_5 - build_number: 5 + build: h57928b3_6 + build_number: 6 subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/libboost-headers-1.84.0-h57928b3_5.conda - sha256: 3ed7b049aaabff496edf85a9f10452eb24cd191bdf083881ec029bcc945dcfb1 - md5: c86a120ddea5803b611849d7dd040bfc + url: https://conda.anaconda.org/conda-forge/win-64/libboost-headers-1.84.0-h57928b3_6.conda + sha256: 4e18b199d1be3d4e6869c9f64c04121d864c978577d777c695343b860a4769a6 + md5: 0e25f30ac93be7d025058d0ac61bd2bc constrains: - boost-cpp =1.84.0 license: BSL-1.0 - purls: [] - size: 13887896 - timestamp: 1722291217938 + size: 13872845 + timestamp: 1725327061252 - kind: conda name: libboost-headers version: 1.84.0 - build: ha770c72_5 - build_number: 5 + build: ha770c72_6 + build_number: 6 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libboost-headers-1.84.0-ha770c72_5.conda - sha256: 85257c026772e47054683aa466c358fbd229d54055f42126974a77d577b0192f - md5: 39d4e07ebb688d3d4b331e9b20389d05 + url: https://conda.anaconda.org/conda-forge/linux-64/libboost-headers-1.84.0-ha770c72_6.conda + sha256: d9aaa8ccdb22a7cdeed760442d5de43d61516c7ff1331820fe5de990c53bdccf + md5: 902314c959b143be52386ccebe871f53 constrains: - boost-cpp =1.84.0 license: BSL-1.0 - purls: [] - size: 13664568 - timestamp: 1722289895857 + size: 13678405 + timestamp: 1725325883046 - kind: conda name: libboost-python version: 1.84.0 - build: py312hbaa7e33_5 - build_number: 5 + build: py312hbaa7e33_6 + build_number: 6 subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/libboost-python-1.84.0-py312hbaa7e33_5.conda - sha256: 907dfba63f9e8e3fbfb3c6b5b018c327b26bed13db8537ad2ee73c9b4319dfd4 - md5: 85ce716981c6f23948c7aa21db336e54 + url: https://conda.anaconda.org/conda-forge/win-64/libboost-python-1.84.0-py312hbaa7e33_6.conda + sha256: febaebadec2e9460f9465f1948df4747939e889563e1a59e873e41990aa64272 + md5: a5359637242fbd16e346da210c3bac8d depends: - numpy >=1.19,<3 - python >=3.12,<3.13.0a0 @@ -5184,35 +4919,33 @@ packages: - vc >=14.2,<15 - vc14_runtime >=14.29.30139 constrains: - - py-boost <0.0a0 - boost =1.84.0 + - py-boost <0.0a0 license: BSL-1.0 - purls: [] - size: 114638 - timestamp: 1722291673733 + size: 114308 + timestamp: 1725328290622 - kind: conda name: libboost-python version: 1.84.0 - build: py312hf74af30_5 - build_number: 5 + build: py312hc39e661_6 + build_number: 6 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libboost-python-1.84.0-py312hf74af30_5.conda - sha256: a4edc94962eda2f0185c3e61bada39bbf063dc562dfbfd46980bd3d8b24169f4 - md5: 56712a4ad5e24124ce37d4a6bc2c0e94 + url: https://conda.anaconda.org/conda-forge/linux-64/libboost-python-1.84.0-py312hc39e661_6.conda + sha256: bdee7e7ead1457b63b211801b38de303a5d486f49db374a8464515bcaf219182 + md5: a6002a7302d7522f246a452f0f50ce38 depends: - __glibc >=2.17,<3.0.a0 - - libgcc-ng >=12 - - libstdcxx-ng >=12 + - libgcc >=13 + - libstdcxx >=13 - numpy >=1.19,<3 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 constrains: - - boost =1.84.0 - py-boost <0.0a0 + - boost =1.84.0 license: BSL-1.0 - purls: [] - size: 124878 - timestamp: 1722290442257 + size: 125230 + timestamp: 1725326340279 - kind: conda name: libcblas version: 3.9.0 @@ -5230,7 +4963,6 @@ packages: - blas * openblas license: BSD-3-Clause license_family: BSD - purls: [] size: 14798 timestamp: 1721688767584 - kind: conda @@ -5250,7 +4982,6 @@ packages: - blas_blis license: BSD-3-Clause license_family: BSD - purls: [] size: 1575861 timestamp: 1721689773380 - kind: conda @@ -5270,7 +5001,6 @@ packages: - vc14_runtime >=14.29.30139 license: curl license_family: MIT - purls: [] size: 339298 timestamp: 1722440239161 - kind: conda @@ -5291,7 +5021,6 @@ packages: - zstd >=1.5.6,<1.6.0a0 license: curl license_family: MIT - purls: [] size: 416057 timestamp: 1722439924963 - kind: conda @@ -5308,7 +5037,6 @@ packages: - vc14_runtime >=14.29.30139 license: MIT license_family: MIT - purls: [] size: 155801 timestamp: 1722820571739 - kind: conda @@ -5324,7 +5052,6 @@ packages: - libgcc-ng >=12 license: MIT license_family: MIT - purls: [] size: 71163 timestamp: 1722820138782 - kind: conda @@ -5341,7 +5068,6 @@ packages: - ncurses >=6.2,<7.0.0a0 license: BSD-2-Clause license_family: BSD - purls: [] size: 123878 timestamp: 1597616541093 - kind: conda @@ -5357,7 +5083,6 @@ packages: - libgcc-ng >=12 license: BSD-2-Clause license_family: BSD - purls: [] size: 112766 timestamp: 1702146165126 - kind: conda @@ -5374,7 +5099,6 @@ packages: - expat 2.6.2.* license: MIT license_family: MIT - purls: [] size: 73730 timestamp: 1710362120304 - kind: conda @@ -5389,7 +5113,6 @@ packages: - expat 2.6.2.* license: MIT license_family: MIT - purls: [] size: 139224 timestamp: 1710362609641 - kind: conda @@ -5405,7 +5128,6 @@ packages: - libgcc-ng >=9.4.0 license: MIT license_family: MIT - purls: [] size: 58292 timestamp: 1636488182923 - kind: conda @@ -5422,7 +5144,6 @@ packages: - vs2015_runtime >=14.16.27012 license: MIT license_family: MIT - purls: [] size: 42063 timestamp: 1636489106777 - kind: conda @@ -5440,7 +5161,6 @@ packages: - vc14_runtime >=14.29.30139 license: Apache-2.0 license_family: APACHE - purls: [] size: 1147001 timestamp: 1722780167407 - kind: conda @@ -5460,7 +5180,6 @@ packages: - libgcc-ng ==14.1.0=*_1 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - purls: [] size: 846380 timestamp: 1724801836552 - kind: conda @@ -5476,7 +5195,6 @@ packages: - libgcc 14.1.0 h77fa898_1 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - purls: [] size: 52170 timestamp: 1724801842101 - kind: conda @@ -5494,7 +5212,6 @@ packages: - libgfortran-ng ==14.1.0=*_1 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - purls: [] size: 52142 timestamp: 1724801872472 - kind: conda @@ -5510,7 +5227,6 @@ packages: - libgfortran 14.1.0 h69a702a_1 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - purls: [] size: 52212 timestamp: 1724802086021 - kind: conda @@ -5528,7 +5244,6 @@ packages: - libgfortran 14.1.0 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - purls: [] size: 1459939 timestamp: 1724801851300 - kind: conda @@ -5550,7 +5265,6 @@ packages: constrains: - glib 2.80.3 *_2 license: LGPL-2.1-or-later - purls: [] size: 3922900 timestamp: 1723208802469 - kind: conda @@ -5574,7 +5288,6 @@ packages: constrains: - glib 2.80.3 *_2 license: LGPL-2.1-or-later - purls: [] size: 3726738 timestamp: 1723209368854 - kind: conda @@ -5594,7 +5307,6 @@ packages: - xorg-libxext >=1.3.4,<2.0a0 - xorg-xextproto >=7.3.0,<8.0a0 license: SGI-2 - purls: [] size: 325824 timestamp: 1718880563533 - kind: conda @@ -5610,7 +5322,6 @@ packages: - _libgcc_mutex 0.1 conda_forge license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - purls: [] size: 460218 timestamp: 1724801743478 - kind: conda @@ -5630,7 +5341,6 @@ packages: - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD - purls: [] size: 2379689 timestamp: 1720461835526 - kind: conda @@ -5647,7 +5357,6 @@ packages: - vc >=14.2,<15 - vc14_runtime >=14.29.30139 license: LGPL-2.1-only - purls: [] size: 636146 timestamp: 1702682547199 - kind: conda @@ -5662,7 +5371,6 @@ packages: depends: - libgcc-ng >=12 license: LGPL-2.1-only - purls: [] size: 705775 timestamp: 1702682170569 - kind: conda @@ -5677,7 +5385,6 @@ packages: depends: - libiconv >=1.17,<2.0a0 license: LGPL-2.1-or-later - purls: [] size: 95568 timestamp: 1723629479451 - kind: conda @@ -5696,7 +5403,6 @@ packages: constrains: - jpeg <0.0.0a license: IJG AND BSD-3-Clause AND Zlib - purls: [] size: 822966 timestamp: 1694475223854 - kind: conda @@ -5713,7 +5419,6 @@ packages: constrains: - jpeg <0.0.0a license: IJG AND BSD-3-Clause AND Zlib - purls: [] size: 618575 timestamp: 1694474974816 - kind: conda @@ -5733,7 +5438,6 @@ packages: - blas * openblas license: BSD-3-Clause license_family: BSD - purls: [] size: 14823 timestamp: 1721688775172 - kind: conda @@ -5752,7 +5456,6 @@ packages: - blas_netlib license: BSD-3-Clause license_family: BSD - purls: [] size: 2878872 timestamp: 1618013145083 - kind: conda @@ -5776,7 +5479,6 @@ packages: platform: win license: LGPL-3.0-only license_family: LGPL - purls: [] size: 1746758 timestamp: 1722511144588 - kind: conda @@ -5801,7 +5503,6 @@ packages: platform: linux license: LGPL-3.0-only license_family: LGPL - purls: [] size: 1912907 timestamp: 1723391460076 - kind: conda @@ -5830,7 +5531,6 @@ packages: arch: x86_64 platform: win license: MIT - purls: [] size: 617806 timestamp: 1722703416285 - kind: conda @@ -5860,7 +5560,6 @@ packages: arch: x86_64 platform: linux license: MIT - purls: [] size: 845830 timestamp: 1723316949529 - kind: conda @@ -5882,7 +5581,6 @@ packages: - openssl >=3.2.0,<4.0a0 license: MIT license_family: MIT - purls: [] size: 631936 timestamp: 1702130036271 - kind: conda @@ -5897,7 +5595,6 @@ packages: - libgcc-ng >=12 license: LGPL-2.1-only license_family: GPL - purls: [] size: 33408 timestamp: 1697359010159 - kind: conda @@ -5917,7 +5614,6 @@ packages: - openblas >=0.3.27,<0.3.28.0a0 license: BSD-3-Clause license_family: BSD - purls: [] size: 5563053 timestamp: 1720426334043 - kind: conda @@ -5934,7 +5630,6 @@ packages: - vc >=14.2,<15 - vc14_runtime >=14.29.30139 license: zlib-acknowledgement - purls: [] size: 347514 timestamp: 1708780763195 - kind: conda @@ -5949,7 +5644,6 @@ packages: - libgcc-ng >=12 - libzlib >=1.2.13,<2.0.0a0 license: zlib-acknowledgement - purls: [] size: 288221 timestamp: 1708780443939 - kind: conda @@ -5970,7 +5664,6 @@ packages: - libzlib >=1.2.13,<2.0.0a0 license: LGPL-2.1-only license_family: LGPL - purls: [] size: 637871 timestamp: 1695983515562 - kind: conda @@ -5991,7 +5684,6 @@ packages: - vc14_runtime >=14.29.30139 license: LGPL-2.1-only license_family: LGPL - purls: [] size: 489009 timestamp: 1695984134380 - kind: conda @@ -6014,7 +5706,6 @@ packages: arch: x86_64 platform: linux license: CECILL-C - purls: [] size: 320184 timestamp: 1723390374729 - kind: conda @@ -6037,7 +5728,6 @@ packages: arch: x86_64 platform: win license: CECILL-C - purls: [] size: 372536 timestamp: 1722509839408 - kind: conda @@ -6052,7 +5742,6 @@ packages: depends: - libgcc-ng >=7.5.0 license: ISC - purls: [] size: 374999 timestamp: 1605135674116 - kind: conda @@ -6068,40 +5757,38 @@ packages: - vc >=14.1,<15.0a0 - vs2015_runtime >=14.16.27012 license: ISC - purls: [] size: 713431 timestamp: 1605135918736 - kind: conda name: libsqlite - version: 3.46.0 + version: 3.46.1 build: h2466b09_0 subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.46.0-h2466b09_0.conda - sha256: 662bd7e0d63c5b8c31cca19b91649e798319b93568a2ba8d1375efb91eeb251b - md5: 951b0a3a463932e17414cd9f047fa03d + url: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.46.1-h2466b09_0.conda + sha256: ef83f90961630bc54a95e48062b05cf9c9173a822ea01784288029613a45eea4 + md5: 8a7c1ad01f58623bfbae8d601db7cf3b depends: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 license: Unlicense - purls: [] - size: 876677 - timestamp: 1718051113874 + size: 876666 + timestamp: 1725354171439 - kind: conda name: libsqlite - version: 3.46.0 - build: hde9e2c9_0 + version: 3.46.1 + build: hadc24fc_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.46.0-hde9e2c9_0.conda - sha256: daee3f68786231dad457d0dfde3f7f1f9a7f2018adabdbb864226775101341a8 - md5: 18aa975d2094c34aef978060ae7da7d8 + url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.46.1-hadc24fc_0.conda + sha256: 9851c049abafed3ee329d6c7c2033407e2fc269d33a75c071110ab52300002b0 + md5: 36f79405ab16bf271edb55b213836dac depends: - - libgcc-ng >=12 - - libzlib >=1.2.13,<2.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 license: Unlicense - purls: [] - size: 865346 - timestamp: 1718050628718 + size: 865214 + timestamp: 1725353659783 - kind: conda name: libssh2 version: 1.11.0 @@ -6116,7 +5803,6 @@ packages: - openssl >=3.1.1,<4.0a0 license: BSD-3-Clause license_family: BSD - purls: [] size: 271133 timestamp: 1685837707056 - kind: conda @@ -6135,25 +5821,8 @@ packages: - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD - purls: [] size: 266806 timestamp: 1685838242099 -- kind: conda - name: libstdcxx - version: 14.1.0 - build: hc0a3c3a_1 - build_number: 1 - subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-14.1.0-hc0a3c3a_1.conda - sha256: 44decb3d23abacf1c6dd59f3c152a7101b7ca565b4ef8872804ceaedcc53a9cd - md5: 9dbb9699ea467983ba8a4ba89b08b066 - depends: - - libgcc 14.1.0 h77fa898_1 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 3892781 - timestamp: 1724801863728 - kind: conda name: libstdcxx version: 14.1.0 @@ -6169,22 +5838,6 @@ packages: license_family: GPL size: 3892781 timestamp: 1724801863728 -- kind: conda - name: libstdcxx-ng - version: 14.1.0 - build: h4852527_1 - build_number: 1 - subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-14.1.0-h4852527_1.conda - sha256: a2dc44f97290740cc187bfe94ce543e6eb3c2ea8964d99f189a1d8c97b419b8c - md5: bd2598399a70bb86d8218e95548d735e - depends: - - libstdcxx 14.1.0 hc0a3c3a_1 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 52219 - timestamp: 1724801897766 - kind: conda name: libstdcxx-ng version: 14.1.0 @@ -6221,7 +5874,6 @@ packages: - xz >=5.2.6,<6.0a0 - zstd >=1.5.6,<1.6.0a0 license: HPND - purls: [] size: 282236 timestamp: 1722871642189 - kind: conda @@ -6244,7 +5896,6 @@ packages: - xz >=5.2.6,<6.0a0 - zstd >=1.5.6,<1.6.0a0 license: HPND - purls: [] size: 784657 timestamp: 1722871883822 - kind: conda @@ -6259,7 +5910,6 @@ packages: - libgcc-ng >=12 license: BSD-3-Clause license_family: BSD - purls: [] size: 33601 timestamp: 1680112270483 - kind: conda @@ -6292,7 +5942,6 @@ packages: - libwebp 1.4.0 license: BSD-3-Clause license_family: BSD - purls: [] size: 274359 timestamp: 1713200524021 - kind: conda @@ -6309,7 +5958,6 @@ packages: - libwebp 1.4.0 license: BSD-3-Clause license_family: BSD - purls: [] size: 438953 timestamp: 1713199854503 - kind: conda @@ -6329,7 +5977,6 @@ packages: - xorg-libxdmcp license: MIT license_family: MIT - purls: [] size: 989459 timestamp: 1724419883091 - kind: conda @@ -6349,7 +5996,6 @@ packages: - xorg-libxdmcp license: MIT license_family: MIT - purls: [] size: 395570 timestamp: 1724419104778 - kind: conda @@ -6364,7 +6010,6 @@ packages: depends: - libgcc-ng >=12 license: LGPL-2.1-or-later - purls: [] size: 100393 timestamp: 1702724383534 - kind: conda @@ -6385,7 +6030,6 @@ packages: - xorg-libxau >=1.0.11,<2.0a0 license: MIT/X11 Derivative license_family: MIT - purls: [] size: 593336 timestamp: 1718819935698 - kind: conda @@ -6405,7 +6049,6 @@ packages: - vc14_runtime >=14.29.30139 license: MIT license_family: MIT - purls: [] size: 1682090 timestamp: 1721031296951 - kind: conda @@ -6426,7 +6069,6 @@ packages: - xz >=5.2.6,<6.0a0 license: MIT license_family: MIT - purls: [] size: 707169 timestamp: 1721031016143 - kind: conda @@ -6444,7 +6086,6 @@ packages: - vc14_runtime >=14.29.30139 license: MIT license_family: MIT - purls: [] size: 418542 timestamp: 1701629338549 - kind: conda @@ -6460,7 +6101,6 @@ packages: - libxml2 >=2.12.1,<3.0.0a0 license: MIT license_family: MIT - purls: [] size: 254297 timestamp: 1701628814990 - kind: conda @@ -6481,7 +6121,6 @@ packages: - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD - purls: [] size: 146434 timestamp: 1694417117772 - kind: conda @@ -6500,7 +6139,6 @@ packages: - openssl >=3.1.2,<4.0a0 license: BSD-3-Clause license_family: BSD - purls: [] size: 107198 timestamp: 1694416433629 - kind: conda @@ -6520,7 +6158,6 @@ packages: - zlib 1.3.1 *_1 license: Zlib license_family: Other - purls: [] size: 56186 timestamp: 1716874730539 - kind: conda @@ -6538,7 +6175,6 @@ packages: - zlib 1.3.1 *_1 license: Zlib license_family: Other - purls: [] size: 61574 timestamp: 1716874187109 - kind: conda @@ -6559,8 +6195,6 @@ packages: - vc >=14.2,<15 - vc14_runtime >=14.29.30139 license: BSD-3-Clause and MIT-CMU - purls: - - pkg:pypi/lxml?source=conda-forge-mapping size: 1050167 timestamp: 1723458763120 - kind: conda @@ -6580,8 +6214,6 @@ packages: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: BSD-3-Clause and MIT-CMU - purls: - - pkg:pypi/lxml?source=conda-forge-mapping size: 1397094 timestamp: 1723458522386 - kind: conda @@ -6597,7 +6229,6 @@ packages: - libstdcxx-ng >=12 license: BSD-2-Clause license_family: BSD - purls: [] size: 143402 timestamp: 1674727076728 - kind: conda @@ -6614,7 +6245,6 @@ packages: - vs2015_runtime >=14.29.30139 license: BSD-2-Clause license_family: BSD - purls: [] size: 134235 timestamp: 1674728465431 - kind: conda @@ -6630,7 +6260,6 @@ packages: - m2w64-gcc-libs-core - msys2-conda-epoch ==20160418 license: GPL, LGPL, FDL, custom - purls: [] size: 350687 timestamp: 1608163451316 - kind: conda @@ -6649,7 +6278,6 @@ packages: - m2w64-libwinpthread-git - msys2-conda-epoch ==20160418 license: GPL3+, partial:GCCRLE, partial:LGPL2+ - purls: [] size: 532390 timestamp: 1608163512830 - kind: conda @@ -6666,7 +6294,6 @@ packages: - m2w64-libwinpthread-git - msys2-conda-epoch ==20160418 license: GPL3+, partial:GCCRLE, partial:LGPL2+ - purls: [] size: 219240 timestamp: 1608163481341 - kind: conda @@ -6681,7 +6308,6 @@ packages: depends: - msys2-conda-epoch ==20160418 license: LGPL3 - purls: [] size: 743501 timestamp: 1608163782057 - kind: conda @@ -6696,7 +6322,6 @@ packages: depends: - msys2-conda-epoch ==20160418 license: MIT, BSD - purls: [] size: 31928 timestamp: 1608166099896 - kind: conda @@ -6713,8 +6338,6 @@ packages: - python >=3.8 license: MIT license_family: MIT - purls: - - pkg:pypi/markdown-it-py?source=conda-forge-mapping size: 64356 timestamp: 1686175179621 - kind: conda @@ -6736,8 +6359,6 @@ packages: - jinja2 >=3.0.0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/markupsafe?source=conda-forge-mapping size: 29136 timestamp: 1724959968176 - kind: conda @@ -6758,8 +6379,6 @@ packages: - jinja2 >=3.0.0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/markupsafe?source=conda-forge-mapping size: 26772 timestamp: 1724959630484 - kind: conda @@ -6776,8 +6395,6 @@ packages: - traitlets license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/matplotlib-inline?source=conda-forge-mapping size: 14599 timestamp: 1713250613726 - kind: conda @@ -6794,8 +6411,6 @@ packages: - python >=3.8 license: MIT license_family: MIT - purls: - - pkg:pypi/mdit-py-plugins?source=conda-forge-mapping size: 41972 timestamp: 1715570303416 - kind: conda @@ -6811,8 +6426,6 @@ packages: - python >=3.6 license: MIT license_family: MIT - purls: - - pkg:pypi/mdurl?source=conda-forge-mapping size: 14680 timestamp: 1704317789138 - kind: conda @@ -6837,7 +6450,6 @@ packages: platform: win license: LGPL-2.1-or-later license_family: LGPL - purls: [] size: 8463072 timestamp: 1722512039737 - kind: conda @@ -6862,7 +6474,6 @@ packages: platform: linux license: LGPL-2.1-or-later license_family: LGPL - purls: [] size: 12251040 timestamp: 1723392023890 - kind: conda @@ -6883,8 +6494,6 @@ packages: - rich license: MIT license_family: MIT - purls: - - pkg:pypi/meshio?source=conda-forge-mapping size: 383105 timestamp: 1706720749456 - kind: conda @@ -6903,7 +6512,6 @@ packages: platform: win license: Apache-2.0 license_family: Apache - purls: [] size: 394631 timestamp: 1722509945796 - kind: conda @@ -6921,7 +6529,6 @@ packages: platform: linux license: Apache-2.0 license_family: Apache - purls: [] size: 217113 timestamp: 1723390344131 - kind: conda @@ -6946,7 +6553,6 @@ packages: platform: linux license: GPL-3.0-only license_family: GPL - purls: [] size: 5788848 timestamp: 1723391282930 - kind: conda @@ -6970,7 +6576,6 @@ packages: platform: win license: GPL-3.0-only license_family: GPL - purls: [] size: 7907998 timestamp: 1722510958559 - kind: conda @@ -6995,7 +6600,6 @@ packages: platform: win license: Apache-2.0 license_family: Apache - purls: [] size: 622509 timestamp: 1722512036754 - kind: conda @@ -7020,7 +6624,6 @@ packages: platform: linux license: Apache-2.0 license_family: Apache - purls: [] size: 389289 timestamp: 1723391567959 - kind: conda @@ -7036,8 +6639,6 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/mistune?source=conda-forge-mapping size: 66022 timestamp: 1698947249750 - kind: conda @@ -7054,7 +6655,6 @@ packages: - tbb 2021.* license: LicenseRef-IntelSimplifiedSoftwareOct2022 license_family: Proprietary - purls: [] size: 102856459 timestamp: 1723740115269 - kind: conda @@ -7072,7 +6672,6 @@ packages: - libgcc-ng >=12 license: LGPL-3.0-only license_family: LGPL - purls: [] size: 640978 timestamp: 1722132616744 - kind: conda @@ -7091,7 +6690,6 @@ packages: - vc14_runtime >=14.29.30139 license: LGPL-3.0-only license_family: LGPL - purls: [] size: 389837 timestamp: 1712341209071 - kind: conda @@ -7106,7 +6704,6 @@ packages: depends: - vc >=14,<15.0a0 license: LGPL 3 - purls: [] size: 3119992 timestamp: 1543566020324 - kind: conda @@ -7118,7 +6715,6 @@ packages: url: https://conda.anaconda.org/conda-forge/win-64/msys2-conda-epoch-20160418-1.tar.bz2 sha256: 99358d58d778abee4dca82ad29fb58058571f19b0f86138363c260049d4ac7f1 md5: b0309b72560df66f71a9d5e34a5efdfa - purls: [] size: 3227 timestamp: 1608166968312 - kind: conda @@ -7144,7 +6740,6 @@ packages: arch: x86_64 platform: win license: CeCILL-C - purls: [] size: 2931087 timestamp: 1722510700022 - kind: conda @@ -7170,7 +6765,6 @@ packages: arch: x86_64 platform: linux license: CeCILL-C - purls: [] size: 2368636 timestamp: 1723391453212 - kind: conda @@ -7207,8 +6801,6 @@ packages: - sphinx >=7,<9 license: MIT license_family: MIT - purls: - - pkg:pypi/myst-parser?source=conda-forge-mapping size: 72798 timestamp: 1722964397370 - kind: conda @@ -7228,8 +6820,6 @@ packages: - traitlets >=5.4 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/nbclient?source=conda-forge-mapping size: 27851 timestamp: 1710317767117 - kind: conda @@ -7265,8 +6855,6 @@ packages: - pandoc >=2.9.2,<4.0.0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/nbconvert?source=conda-forge-mapping size: 189599 timestamp: 1718135529468 - kind: conda @@ -7286,8 +6874,6 @@ packages: - traitlets >=5.1 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/nbformat?source=conda-forge-mapping size: 101232 timestamp: 1712239122969 - kind: conda @@ -7303,7 +6889,6 @@ packages: - __glibc >=2.17,<3.0.a0 - libgcc-ng >=12 license: X11 AND BSD-3-Clause - purls: [] size: 889086 timestamp: 1724658547447 - kind: conda @@ -7319,8 +6904,6 @@ packages: - python >=3.5 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/nest-asyncio?source=conda-forge-mapping size: 11638 timestamp: 1705850780510 - kind: conda @@ -7346,7 +6929,6 @@ packages: arch: x86_64 platform: linux license: MIT - purls: [] size: 1136417 timestamp: 1723317162710 - kind: conda @@ -7373,7 +6955,6 @@ packages: arch: x86_64 platform: win license: MIT - purls: [] size: 992965 timestamp: 1722704130398 - kind: conda @@ -7423,8 +7004,6 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/notebook-shim?source=conda-forge-mapping size: 16880 timestamp: 1707957948029 - kind: conda @@ -7440,7 +7019,6 @@ packages: - libstdcxx-ng >=12 license: MPL-2.0 license_family: MOZILLA - purls: [] size: 226848 timestamp: 1669784948267 - kind: conda @@ -7459,7 +7037,7 @@ packages: - libzlib >=1.3.1,<2.0a0 - nspr >=4.35,<5.0a0 license: MPL-2.0 - purls: [] + license_family: MOZILLA size: 1979701 timestamp: 1725079209552 - kind: conda @@ -7483,8 +7061,6 @@ packages: - numpy-base <0a0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/numpy?source=conda-forge-mapping size: 6495445 timestamp: 1707226412944 - kind: conda @@ -7507,8 +7083,6 @@ packages: - numpy-base <0a0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/numpy?source=conda-forge-mapping size: 7484186 timestamp: 1707225809722 - kind: conda @@ -7531,7 +7105,6 @@ packages: - vc14_runtime >=14.29.30139 license: LGPL-2.1-only license_family: LGPL - purls: [] size: 24713994 timestamp: 1718830068946 - kind: conda @@ -7554,7 +7127,6 @@ packages: - xorg-libxt >=1.3.0,<2.0a0 license: LGPL-2.1-only license_family: LGPL - purls: [] size: 28339683 timestamp: 1718828669408 - kind: conda @@ -7574,7 +7146,6 @@ packages: - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD - purls: [] size: 1208041 timestamp: 1709260904190 - kind: conda @@ -7593,7 +7164,6 @@ packages: - libzlib >=1.2.13,<2.0.0a0 license: BSD-3-Clause license_family: BSD - purls: [] size: 1466865 timestamp: 1709260550301 - kind: conda @@ -7613,7 +7183,6 @@ packages: - vc14_runtime >=14.29.30139 license: BSD-2-Clause license_family: BSD - purls: [] size: 237974 timestamp: 1709159764160 - kind: conda @@ -7632,7 +7201,6 @@ packages: - libzlib >=1.2.13,<2.0.0a0 license: BSD-2-Clause license_family: BSD - purls: [] size: 341592 timestamp: 1709159244431 - kind: conda @@ -7650,8 +7218,6 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - purls: - - pkg:pypi/openpyxl?source=conda-forge-mapping size: 696433 timestamp: 1723459244053 - kind: conda @@ -7671,8 +7237,6 @@ packages: - vc14_runtime >=14.29.30139 license: MIT license_family: MIT - purls: - - pkg:pypi/openpyxl?source=conda-forge-mapping size: 625249 timestamp: 1723459559708 - kind: conda @@ -7691,7 +7255,6 @@ packages: - vc14_runtime >=14.29.30139 license: Apache-2.0 license_family: Apache - purls: [] size: 8362062 timestamp: 1724404916759 - kind: conda @@ -7709,7 +7272,6 @@ packages: - libgcc-ng >=13 license: Apache-2.0 license_family: Apache - purls: [] size: 2892042 timestamp: 1724402701933 - kind: conda @@ -7726,27 +7288,8 @@ packages: - typing_utils license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/overrides?source=conda-forge-mapping size: 30232 timestamp: 1706394723472 -- kind: conda - name: packaging - version: '24.1' - build: pyhd8ed1ab_0 - subdir: noarch - noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/packaging-24.1-pyhd8ed1ab_0.conda - sha256: 36aca948219e2c9fdd6d80728bcc657519e02f06c2703d8db3446aec67f51d81 - md5: cbe1bb1f21567018ce595d9c2be0f0db - depends: - - python >=3.8 - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/packaging?source=hash-mapping - size: 50290 - timestamp: 1718189540074 - kind: conda name: packaging version: '24.1' @@ -7782,8 +7325,6 @@ packages: - pytz >=2020.1 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/pandas?source=conda-forge-mapping size: 15458981 timestamp: 1715898284697 - kind: conda @@ -7807,8 +7348,6 @@ packages: - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/pandas?source=conda-forge-mapping size: 14181121 timestamp: 1715899159343 - kind: conda @@ -7826,7 +7365,6 @@ packages: - zlib license: GPL-2.0-or-later license_family: GPL - purls: [] size: 27781919 timestamp: 1684527297069 - kind: conda @@ -7840,7 +7378,6 @@ packages: md5: 69af7c7ea14deaf831a1f11137329177 license: GPL-2.0-or-later license_family: GPL - purls: [] size: 17655477 timestamp: 1684527714283 - kind: conda @@ -7855,7 +7392,6 @@ packages: - pandoc >=3.0,<3.2 license: GPL-2.0-or-later license_family: GPL - purls: [] size: 7183613 timestamp: 1684721151688 - kind: conda @@ -7870,7 +7406,6 @@ packages: - pandoc >=3.0,<3.2 license: GPL-2.0-or-later license_family: GPL - purls: [] size: 7293813 timestamp: 1684720935428 - kind: conda @@ -7886,8 +7421,6 @@ packages: - python !=3.0,!=3.1,!=3.2,!=3.3 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/pandocfilters?source=conda-forge-mapping size: 11627 timestamp: 1631603397334 - kind: conda @@ -7916,8 +7449,6 @@ packages: - typer license: GPL-3.0-or-later license_family: GPL3 - purls: - - pkg:pypi/paradoc?source=conda-forge-mapping size: 574177 timestamp: 1723020742178 - kind: conda @@ -7947,8 +7478,6 @@ packages: - typer license: GPL-3.0-or-later license_family: GPL3 - purls: - - pkg:pypi/paradoc?source=conda-forge-mapping size: 574339 timestamp: 1723021067236 - kind: conda @@ -7964,8 +7493,6 @@ packages: - python >=3.6 license: MIT license_family: MIT - purls: - - pkg:pypi/parso?source=conda-forge-mapping size: 75191 timestamp: 1712320447201 - kind: conda @@ -8000,7 +7527,6 @@ packages: - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD - purls: [] size: 820831 timestamp: 1723489427046 - kind: conda @@ -8019,7 +7545,6 @@ packages: - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD - purls: [] size: 952308 timestamp: 1723488734144 - kind: conda @@ -8035,8 +7560,6 @@ packages: - ptyprocess >=0.5 - python >=3.7 license: ISC - purls: - - pkg:pypi/pexpect?source=conda-forge-mapping size: 53600 timestamp: 1706113273252 - kind: conda @@ -8053,8 +7576,6 @@ packages: - python >=3 license: MIT license_family: MIT - purls: - - pkg:pypi/pickleshare?source=conda-forge-mapping size: 9332 timestamp: 1602536313357 - kind: conda @@ -8071,7 +7592,6 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD - purls: [] size: 8833 timestamp: 1719726313982 - kind: conda @@ -8088,7 +7608,6 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD - purls: [] size: 8629 timestamp: 1719726272617 - kind: conda @@ -8104,7 +7623,6 @@ packages: - libstdcxx-ng >=12 license: MIT license_family: MIT - purls: [] size: 386826 timestamp: 1706549500138 - kind: conda @@ -8121,7 +7639,6 @@ packages: - vc14_runtime >=14.29.30139 license: MIT license_family: MIT - purls: [] size: 461854 timestamp: 1709239971654 - kind: conda @@ -8137,27 +7654,8 @@ packages: depends: - python >=3.6 license: MIT AND PSF-2.0 - purls: - - pkg:pypi/pkgutil-resolve-name?source=conda-forge-mapping size: 10778 timestamp: 1694617398467 -- kind: conda - name: platformdirs - version: 4.2.2 - build: pyhd8ed1ab_0 - subdir: noarch - noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.2.2-pyhd8ed1ab_0.conda - sha256: adc59384cf0b2fc6dc7362840151e8cb076349197a38f7230278252698a88442 - md5: 6f6cf28bf8e021933869bae3f84b8fc9 - depends: - - python >=3.8 - license: MIT - license_family: MIT - purls: - - pkg:pypi/platformdirs?source=hash-mapping - size: 20572 - timestamp: 1715777739019 - kind: conda name: platformdirs version: 4.2.2 @@ -8190,8 +7688,6 @@ packages: - ipywidgets >=7.6 license: MIT license_family: MIT - purls: - - pkg:pypi/plotly?source=conda-forge-mapping size: 5928034 timestamp: 1724987200192 - kind: conda @@ -8207,8 +7703,6 @@ packages: - python >=3.8 license: MIT license_family: MIT - purls: - - pkg:pypi/pluggy?source=conda-forge-mapping size: 23815 timestamp: 1713667175451 - kind: conda @@ -8224,8 +7718,6 @@ packages: - python >=3.8 license: Apache-2.0 license_family: Apache - purls: - - pkg:pypi/prometheus-client?source=conda-forge-mapping size: 48913 timestamp: 1707932844383 - kind: conda @@ -8244,8 +7736,6 @@ packages: - prompt_toolkit 3.0.47 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/prompt-toolkit?source=conda-forge-mapping size: 270710 timestamp: 1718048095491 - kind: conda @@ -8264,8 +7754,6 @@ packages: - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/psutil?source=conda-forge-mapping size: 509298 timestamp: 1719275243368 - kind: conda @@ -8282,8 +7770,6 @@ packages: - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/psutil?source=conda-forge-mapping size: 493452 timestamp: 1719274737481 - kind: conda @@ -8299,7 +7785,6 @@ packages: - libgcc-ng >=7.5.0 license: MIT license_family: MIT - purls: [] size: 5625 timestamp: 1606147468727 - kind: conda @@ -8315,7 +7800,6 @@ packages: - m2w64-gcc-libs license: MIT license_family: MIT - purls: [] size: 6417 timestamp: 1606147814351 - kind: conda @@ -8330,7 +7814,6 @@ packages: depends: - vc 14.* license: LGPL 2 - purls: [] size: 144301 timestamp: 1537755684331 - kind: conda @@ -8345,8 +7828,6 @@ packages: depends: - python license: ISC - purls: - - pkg:pypi/ptyprocess?source=conda-forge-mapping size: 16546 timestamp: 1609419417991 - kind: conda @@ -8362,8 +7843,6 @@ packages: - python >=3.5 license: MIT license_family: MIT - purls: - - pkg:pypi/pure-eval?source=conda-forge-mapping size: 16551 timestamp: 1721585805256 - kind: conda @@ -8379,8 +7858,6 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/pycparser?source=conda-forge-mapping size: 105098 timestamp: 1711811634025 - kind: conda @@ -8402,8 +7879,6 @@ packages: - wgpu-py >=0.15.1,<0.17.0a license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/pygfx?source=conda-forge-mapping size: 799626 timestamp: 1718881798023 - kind: conda @@ -8420,8 +7895,6 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - purls: - - pkg:pypi/glfw?source=conda-forge-mapping size: 71036 timestamp: 1708777234195 - kind: conda @@ -8438,8 +7911,6 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - purls: - - pkg:pypi/glfw?source=conda-forge-mapping size: 70803 timestamp: 1708777037712 - kind: conda @@ -8455,8 +7926,6 @@ packages: - python >=3.8 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/pygments?source=conda-forge-mapping size: 879295 timestamp: 1714846885370 - kind: conda @@ -8473,8 +7942,6 @@ packages: - python >=3.8 license: MIT license_family: MIT - purls: - - pkg:pypi/pylinalg?source=conda-forge-mapping size: 18647 timestamp: 1694901015546 - kind: conda @@ -8491,8 +7958,6 @@ packages: - python >=3.6,<4.0 license: MIT license_family: MIT - purls: - - pkg:pypi/pypandoc?source=conda-forge-mapping size: 24744 timestamp: 1697575427513 - kind: conda @@ -8508,8 +7973,6 @@ packages: - python >=3.6 license: MIT license_family: MIT - purls: - - pkg:pypi/pyparsing?source=conda-forge-mapping size: 90129 timestamp: 1724616224956 - kind: conda @@ -8527,8 +7990,6 @@ packages: - python >=3.6 license: MIT license_family: MIT - purls: - - pkg:pypi/pyquaternion?source=conda-forge-mapping size: 17638 timestamp: 1666887492019 - kind: conda @@ -8547,8 +8008,6 @@ packages: - win_inet_pton license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/pysocks?source=conda-forge-mapping size: 19348 timestamp: 1661605138291 - kind: conda @@ -8566,8 +8025,6 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/pysocks?source=conda-forge-mapping size: 18981 timestamp: 1661604969727 - kind: conda @@ -8591,8 +8048,6 @@ packages: - pytest-faulthandler >=2 license: MIT license_family: MIT - purls: - - pkg:pypi/pytest?source=conda-forge-mapping size: 257671 timestamp: 1721923749407 - kind: conda @@ -8609,8 +8064,6 @@ packages: - six license: CECILL-2.1 license_family: OTHER - purls: - - pkg:pypi/pytexit?source=conda-forge-mapping size: 29146 timestamp: 1723017859372 - kind: conda @@ -8637,7 +8090,6 @@ packages: constrains: - python_abi 3.12.* *_cp312 license: Python-2.0 - purls: [] size: 16140836 timestamp: 1696321871976 - kind: conda @@ -8667,7 +8119,6 @@ packages: constrains: - python_abi 3.12.* *_cp312 license: Python-2.0 - purls: [] size: 32123473 timestamp: 1696324522323 - kind: conda @@ -8741,8 +8192,6 @@ packages: - six >=1.5 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/python-dateutil?source=conda-forge-mapping size: 222742 timestamp: 1709299922152 - kind: conda @@ -8760,8 +8209,6 @@ packages: - typing_extensions >=4.9.0 license: MIT license_family: MIT - purls: - - pkg:pypi/python-docx?source=conda-forge-mapping size: 172874 timestamp: 1714608405583 - kind: conda @@ -8777,8 +8224,6 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/python-dotenv?source=conda-forge-mapping size: 24278 timestamp: 1706018281544 - kind: conda @@ -8794,8 +8239,6 @@ packages: - python >=3.3 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/fastjsonschema?source=conda-forge-mapping size: 226165 timestamp: 1718477110630 - kind: conda @@ -8813,7 +8256,6 @@ packages: - python license: GPL-2.0-or-later license_family: GPL - purls: [] size: 64736 timestamp: 1723317498749 - kind: conda @@ -8829,8 +8271,6 @@ packages: - python >=3.6 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/python-json-logger?source=conda-forge-mapping size: 13383 timestamp: 1677079727691 - kind: conda @@ -8847,8 +8287,6 @@ packages: - python >=3.5 license: MIT license_family: MIT - purls: - - pkg:pypi/kaleido?source=conda-forge-mapping size: 13343 timestamp: 1607210500402 - kind: conda @@ -8864,8 +8302,6 @@ packages: - python >=3.6 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/tzdata?source=conda-forge-mapping size: 144024 timestamp: 1707747742930 - kind: conda @@ -8881,40 +8317,8 @@ packages: - python 3.12.* *_cpython license: BSD-3-Clause license_family: BSD - purls: [] size: 6238 timestamp: 1723823388266 -- kind: conda - name: python_abi - version: '3.12' - build: 5_cp312 - build_number: 5 - subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.12-5_cp312.conda - sha256: d10e93d759931ffb6372b45d65ff34d95c6000c61a07e298d162a3bc2accebb0 - md5: 0424ae29b104430108f5218a66db7260 - constrains: - - python 3.12.* *_cpython - license: BSD-3-Clause - license_family: BSD - size: 6238 - timestamp: 1723823388266 -- kind: conda - name: python_abi - version: '3.12' - build: 5_cp312 - build_number: 5 - subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/python_abi-3.12-5_cp312.conda - sha256: 9486662af81a219e96d343449eff242f38d7c5128ced5ce5acf85857265058d6 - md5: e8681f534453af7afab4cd2bc1423eec - constrains: - - python 3.12.* *_cpython - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 6730 - timestamp: 1723823139725 - kind: conda name: python_abi version: '3.12' @@ -8954,7 +8358,6 @@ packages: - occt 7.8.1 *novtk* license: LGPL-3.0-or-later license_family: LGPL - purls: [] size: 36070659 timestamp: 1716743645764 - kind: conda @@ -8980,7 +8383,6 @@ packages: - occt 7.8.1 *novtk* license: LGPL-3.0-or-later license_family: LGPL - purls: [] size: 57060193 timestamp: 1716741892094 - kind: conda @@ -8996,8 +8398,6 @@ packages: - python >=3.7 license: MIT license_family: MIT - purls: - - pkg:pypi/pytz?source=conda-forge-mapping size: 188538 timestamp: 1706886944988 - kind: conda @@ -9017,8 +8417,6 @@ packages: - vc14_runtime >=14.29.30139 license: PSF-2.0 license_family: PSF - purls: - - pkg:pypi/pywin32?source=conda-forge-mapping size: 6127499 timestamp: 1695974557413 - kind: conda @@ -9039,8 +8437,6 @@ packages: - winpty license: MIT license_family: MIT - purls: - - pkg:pypi/pywinpty?source=conda-forge-mapping size: 212342 timestamp: 1724951397416 - kind: conda @@ -9059,8 +8455,6 @@ packages: - yaml >=0.2.5,<0.3.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/pyyaml?source=conda-forge-mapping size: 205734 timestamp: 1723018377857 - kind: conda @@ -9080,8 +8474,6 @@ packages: - yaml >=0.2.5,<0.3.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/pyyaml?source=conda-forge-mapping size: 181385 timestamp: 1723018911152 - kind: conda @@ -9102,8 +8494,6 @@ packages: - zeromq >=4.3.5,<4.4.0a0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/pyzmq?source=conda-forge-mapping size: 378212 timestamp: 1724399230672 - kind: conda @@ -9124,8 +8514,6 @@ packages: - zeromq >=4.3.5,<4.3.6.0a0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/pyzmq?source=conda-forge-mapping size: 361147 timestamp: 1724399780761 - kind: conda @@ -9142,7 +8530,6 @@ packages: - libstdcxx-ng >=12 license: MIT license_family: MIT - purls: [] size: 145404 timestamp: 1715006973191 - kind: conda @@ -9160,7 +8547,6 @@ packages: - vc14_runtime >=14.29.30139 license: MIT license_family: MIT - purls: [] size: 145494 timestamp: 1715007138921 - kind: conda @@ -9177,7 +8563,6 @@ packages: - ncurses >=6.3,<7.0a0 license: GPL-3.0-only license_family: GPL - purls: [] size: 281456 timestamp: 1679532220005 - kind: conda @@ -9195,8 +8580,6 @@ packages: - rpds-py >=0.7.0 license: MIT license_family: MIT - purls: - - pkg:pypi/referencing?source=conda-forge-mapping size: 42210 timestamp: 1714619625532 - kind: conda @@ -9218,8 +8601,6 @@ packages: - chardet >=3.0.2,<6 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/requests?source=conda-forge-mapping size: 58810 timestamp: 1717057174842 - kind: conda @@ -9236,8 +8617,6 @@ packages: - six license: MIT license_family: MIT - purls: - - pkg:pypi/rfc3339-validator?source=conda-forge-mapping size: 8064 timestamp: 1638811838081 - kind: conda @@ -9253,8 +8632,6 @@ packages: - python license: MIT license_family: MIT - purls: - - pkg:pypi/rfc3986-validator?source=conda-forge-mapping size: 7818 timestamp: 1598024297745 - kind: conda @@ -9273,51 +8650,45 @@ packages: - typing_extensions >=4.0.0,<5.0.0 license: MIT license_family: MIT - purls: - - pkg:pypi/rich?source=conda-forge-mapping size: 184347 timestamp: 1709150578093 - kind: conda name: rpds-py version: 0.20.0 - build: py312h2615798_0 - subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/rpds-py-0.20.0-py312h2615798_0.conda - sha256: b88622d69e0a1da6c9fb83a75c9e86c3efb41644fe96d24cd0c1f7d699484b52 - md5: a8ec26c7605929b408fa2c3ddd613fd2 + build: py312h12e396e_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.20.0-py312h12e396e_1.conda + sha256: c1b876198b565af674e3cbc66d872791e09d6b10ca2c663b1cec40517f836509 + md5: 9ae193ac9c1ead5024d5a4ee0024e9a6 depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 + constrains: + - __glibc >=2.17 license: MIT - license_family: MIT - purls: - - pkg:pypi/rpds-py?source=conda-forge-mapping - size: 209775 - timestamp: 1723040158005 + size: 334627 + timestamp: 1725327239912 - kind: conda name: rpds-py version: 0.20.0 - build: py312hf008fa9_0 - subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.20.0-py312hf008fa9_0.conda - sha256: c1c797db876a3a642fd1293be3ce5428f2699cbc1e1f2f9152501e656b897c24 - md5: 0735929f1a2a89c62b91d07ef5a76645 + build: py312h2615798_1 + build_number: 1 + subdir: win-64 + url: https://conda.anaconda.org/conda-forge/win-64/rpds-py-0.20.0-py312h2615798_1.conda + sha256: c33ac1e86925563c8b119a059111fe13196d8786ec1dea144c35737e620db283 + md5: 3346e30a5df4a407f0426646dc35ccd6 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc-ng >=12 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - constrains: - - __glibc >=2.17 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 license: MIT - license_family: MIT - purls: - - pkg:pypi/rpds-py?source=conda-forge-mapping - size: 336290 - timestamp: 1723039277393 + size: 209063 + timestamp: 1725327883530 - kind: conda name: ruff version: 0.4.10 @@ -9375,8 +8746,6 @@ packages: - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/scipy?source=conda-forge-mapping size: 16013280 timestamp: 1724329197087 - kind: conda @@ -9403,8 +8772,6 @@ packages: - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/scipy?source=conda-forge-mapping size: 17700161 timestamp: 1724328333870 - kind: conda @@ -9420,7 +8787,6 @@ packages: arch: x86_64 platform: linux license: CECILL-C - purls: [] size: 90580 timestamp: 1723390382870 - kind: conda @@ -9436,7 +8802,6 @@ packages: arch: x86_64 platform: win license: CECILL-C - purls: [] size: 345539 timestamp: 1722510063897 - kind: conda @@ -9453,8 +8818,6 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/send2trash?source=conda-forge-mapping size: 22868 timestamp: 1712585140895 - kind: conda @@ -9472,42 +8835,23 @@ packages: - pywin32 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/send2trash?source=conda-forge-mapping size: 23319 timestamp: 1712585816346 - kind: conda name: setuptools - version: 72.2.0 - build: pyhd8ed1ab_0 - subdir: noarch - noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/setuptools-72.2.0-pyhd8ed1ab_0.conda - sha256: 0252f6570de8ff29d489958fc7826677a518061b1aa5e1828a427eec8a7928a4 - md5: 1462aa8b243aad09ef5d0841c745eb89 - depends: - - python >=3.8 - license: MIT - license_family: MIT - purls: - - pkg:pypi/setuptools?source=hash-mapping - size: 1459799 - timestamp: 1724163617860 -- kind: conda - name: setuptools - version: 72.2.0 + version: 73.0.1 build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/setuptools-72.2.0-pyhd8ed1ab_0.conda - sha256: 0252f6570de8ff29d489958fc7826677a518061b1aa5e1828a427eec8a7928a4 - md5: 1462aa8b243aad09ef5d0841c745eb89 + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-73.0.1-pyhd8ed1ab_0.conda + sha256: c9f5e110e3fe5a7c4cd5b9da445c05a1fae000b43ab3a97cb6a501f4267515fc + md5: f0b618d7673d1b2464f600b34d912f6f depends: - python >=3.8 license: MIT license_family: MIT - size: 1459799 - timestamp: 1724163617860 + size: 1460460 + timestamp: 1725348602179 - kind: conda name: shellingham version: 1.5.4 @@ -9521,8 +8865,6 @@ packages: - python >=3.7 license: MIT license_family: MIT - purls: - - pkg:pypi/shellingham?source=conda-forge-mapping size: 14568 timestamp: 1698144516278 - kind: conda @@ -9538,8 +8880,6 @@ packages: - python license: MIT license_family: MIT - purls: - - pkg:pypi/six?source=conda-forge-mapping size: 14259 timestamp: 1620240338595 - kind: conda @@ -9556,7 +8896,6 @@ packages: - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD - purls: [] size: 59350 timestamp: 1720004197144 - kind: conda @@ -9572,7 +8911,6 @@ packages: - libstdcxx-ng >=12 license: BSD-3-Clause license_family: BSD - purls: [] size: 42465 timestamp: 1720003704360 - kind: conda @@ -9588,8 +8926,6 @@ packages: - python >=3.7 license: Apache-2.0 license_family: Apache - purls: - - pkg:pypi/sniffio?source=conda-forge-mapping size: 15064 timestamp: 1708953086199 - kind: conda @@ -9605,8 +8941,6 @@ packages: - python >=2 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/snowballstemmer?source=conda-forge-mapping size: 58824 timestamp: 1637143137377 - kind: conda @@ -9623,8 +8957,6 @@ packages: - python >=3.8 license: MIT license_family: MIT - purls: - - pkg:pypi/soupsieve?source=conda-forge-mapping size: 36754 timestamp: 1693929424267 - kind: conda @@ -9658,8 +8990,6 @@ packages: - tomli >=2.0 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/sphinx?source=conda-forge-mapping size: 1358660 timestamp: 1721487658869 - kind: conda @@ -9677,8 +9007,6 @@ packages: - sphinx >=4.0,<8.0 license: MIT license_family: MIT - purls: - - pkg:pypi/sphinx-basic-ng?source=conda-forge-mapping size: 20316 timestamp: 1690475062890 - kind: conda @@ -9695,8 +9023,6 @@ packages: - sphinx >=5 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-applehelp?source=conda-forge-mapping size: 29617 timestamp: 1722244567894 - kind: conda @@ -9713,8 +9039,6 @@ packages: - sphinx >=5 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-devhelp?source=conda-forge-mapping size: 24138 timestamp: 1722245127289 - kind: conda @@ -9731,8 +9055,6 @@ packages: - sphinx >=5 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-htmlhelp?source=conda-forge-mapping size: 32798 timestamp: 1722248429933 - kind: conda @@ -9748,8 +9070,6 @@ packages: - python >=3.5 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-jsmath?source=conda-forge-mapping size: 10431 timestamp: 1691604844204 - kind: conda @@ -9766,8 +9086,6 @@ packages: - sphinx >=5 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-qthelp?source=conda-forge-mapping size: 26794 timestamp: 1722245959953 - kind: conda @@ -9784,28 +9102,26 @@ packages: - sphinx >=5 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-serializinghtml?source=conda-forge-mapping size: 28776 timestamp: 1705118378942 - kind: conda name: sqlite - version: 3.46.0 - build: h6d4b2fc_0 + version: 3.46.1 + build: h9eae976_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.46.0-h6d4b2fc_0.conda - sha256: e849d576e52bf3e6fc5786f89b7d76978f2e2438587826c95570324cb572e52b - md5: 77ea8dff5cf8550cc8f5629a6af56323 + url: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.46.1-h9eae976_0.conda + sha256: 8c6245f988a2e1f4eef8456726b9cc46f2462448e61daa4bad2f9e4ca601598a + md5: b2b3e737da0ae347e16ef1970a5d3f14 depends: - - libgcc-ng >=12 - - libsqlite 3.46.0 hde9e2c9_0 - - libzlib >=1.2.13,<2.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libsqlite 3.46.1 hadc24fc_0 + - libzlib >=1.3.1,<2.0a0 - ncurses >=6.5,<7.0a0 - readline >=8.2,<9.0a0 license: Unlicense - purls: [] - size: 860352 - timestamp: 1718050658212 + size: 859188 + timestamp: 1725353670478 - kind: conda name: stack_data version: 0.6.2 @@ -9822,8 +9138,6 @@ packages: - python >=3.5 license: MIT license_family: MIT - purls: - - pkg:pypi/stack-data?source=conda-forge-mapping size: 26205 timestamp: 1669632203115 - kind: conda @@ -9840,8 +9154,6 @@ packages: - python >=3.6 license: MIT license_family: MIT - purls: - - pkg:pypi/svgwrite?source=conda-forge-mapping size: 52798 timestamp: 1657874193142 - kind: conda @@ -9858,8 +9170,6 @@ packages: - python >=3.7 license: MIT license_family: MIT - purls: - - pkg:pypi/tabulate?source=conda-forge-mapping size: 35912 timestamp: 1665138565317 - kind: conda @@ -9878,7 +9188,6 @@ packages: - vc14_runtime >=14.29.30139 license: Apache-2.0 license_family: APACHE - purls: [] size: 161921 timestamp: 1724906383699 - kind: conda @@ -9894,8 +9203,6 @@ packages: - python >=3.8 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/tenacity?source=conda-forge-mapping size: 24683 timestamp: 1722278974784 - kind: conda @@ -9914,8 +9221,6 @@ packages: - tornado >=6.1.0 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/terminado?source=conda-forge-mapping size: 22452 timestamp: 1710262728753 - kind: conda @@ -9934,8 +9239,6 @@ packages: - tornado >=6.1.0 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/terminado?source=conda-forge-mapping size: 22883 timestamp: 1710262943966 - kind: conda @@ -9952,8 +9255,6 @@ packages: - webencodings >=0.4 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/tinycss2?source=conda-forge-mapping size: 25405 timestamp: 1713975078735 - kind: conda @@ -9971,7 +9272,6 @@ packages: - vc14_runtime >=14.29.30139 license: TCL license_family: BSD - purls: [] size: 3503410 timestamp: 1699202577803 - kind: conda @@ -9988,7 +9288,6 @@ packages: - libzlib >=1.2.13,<2.0.0a0 license: TCL license_family: BSD - purls: [] size: 3318875 timestamp: 1699202167581 - kind: conda @@ -10004,8 +9303,6 @@ packages: - python >=3.7 license: MIT license_family: MIT - purls: - - pkg:pypi/tomli?source=conda-forge-mapping size: 15940 timestamp: 1644342331069 - kind: conda @@ -10025,8 +9322,6 @@ packages: - vc14_runtime >=14.29.30139 license: Apache-2.0 license_family: Apache - purls: - - pkg:pypi/tornado?source=conda-forge-mapping size: 841567 timestamp: 1724956763418 - kind: conda @@ -10045,8 +9340,6 @@ packages: - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: Apache - purls: - - pkg:pypi/tornado?source=conda-forge-mapping size: 837665 timestamp: 1724956252424 - kind: conda @@ -10062,8 +9355,6 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/traitlets?source=conda-forge-mapping size: 110187 timestamp: 1713535244513 - kind: conda @@ -10101,8 +9392,7 @@ packages: - pycollada - pillow license: MIT - purls: - - pkg:pypi/trimesh?source=conda-forge-mapping + license_family: MIT size: 563658 timestamp: 1725098678838 - kind: conda @@ -10119,8 +9409,6 @@ packages: - typer-slim-standard 0.12.5 hd8ed1ab_0 license: MIT license_family: MIT - purls: - - pkg:pypi/typer?source=conda-forge-mapping size: 53350 timestamp: 1724613663049 - kind: conda @@ -10142,8 +9430,6 @@ packages: - shellingham >=1.3.0 license: MIT license_family: MIT - purls: - - pkg:pypi/typer-slim?source=conda-forge-mapping size: 45641 timestamp: 1724613646022 - kind: conda @@ -10161,7 +9447,6 @@ packages: - typer-slim 0.12.5 pyhd8ed1ab_0 license: MIT license_family: MIT - purls: [] size: 46817 timestamp: 1724613648907 - kind: conda @@ -10176,8 +9461,6 @@ packages: depends: - python >=3.6 license: Apache-2.0 AND MIT - purls: - - pkg:pypi/types-python-dateutil?source=conda-forge-mapping size: 21636 timestamp: 1724221199053 - kind: conda @@ -10193,7 +9476,6 @@ packages: - typing_extensions 4.12.2 pyha770c72_0 license: PSF-2.0 license_family: PSF - purls: [] size: 10097 timestamp: 1717802659025 - kind: conda @@ -10209,8 +9491,6 @@ packages: - python >=3.8 license: PSF-2.0 license_family: PSF - purls: - - pkg:pypi/typing-extensions?source=conda-forge-mapping size: 39888 timestamp: 1717802653893 - kind: conda @@ -10226,8 +9506,6 @@ packages: - python >=3.6.1 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/typing-utils?source=conda-forge-mapping size: 13829 timestamp: 1622899345711 - kind: conda @@ -10241,7 +9519,6 @@ packages: sha256: 7d21c95f61319dba9209ca17d1935e6128af4235a67ee4e57a00908a1450081e md5: 8bfdead4e0fff0383ae4c9c50d0531bd license: LicenseRef-Public-Domain - purls: [] size: 124164 timestamp: 1724736371498 - kind: conda @@ -10256,7 +9533,6 @@ packages: - vs2015_runtime >=14.29.30037 license: LicenseRef-Proprietary license_family: PROPRIETARY - purls: [] size: 1283972 timestamp: 1666630199266 - kind: conda @@ -10275,8 +9551,6 @@ packages: - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/uharfbuzz?source=conda-forge-mapping size: 1170622 timestamp: 1724513693614 - kind: conda @@ -10295,8 +9569,6 @@ packages: - vc14_runtime >=14.29.30139 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/uharfbuzz?source=conda-forge-mapping size: 948866 timestamp: 1724514032044 - kind: conda @@ -10312,8 +9584,6 @@ packages: - python >=3.7 license: MIT license_family: MIT - purls: - - pkg:pypi/uri-template?source=conda-forge-mapping size: 23999 timestamp: 1688655976471 - kind: conda @@ -10334,8 +9604,6 @@ packages: - zstandard >=0.18.0 license: MIT license_family: MIT - purls: - - pkg:pypi/urllib3?source=conda-forge-mapping size: 95048 timestamp: 1719391384778 - kind: conda @@ -10353,7 +9621,6 @@ packages: - vc14 license: BSD-3-Clause license_family: BSD - purls: [] size: 17391 timestamp: 1717709040616 - kind: conda @@ -10371,7 +9638,6 @@ packages: - vs2015_runtime 14.40.33810.* *_20 license: LicenseRef-ProprietaryMicrosoft license_family: Proprietary - purls: [] size: 751028 timestamp: 1724712684919 - kind: conda @@ -10387,45 +9653,38 @@ packages: - vc14_runtime >=14.40.33810 license: BSD-3-Clause license_family: BSD - purls: [] size: 17395 timestamp: 1717709043353 - kind: conda name: watchdog - version: 5.0.0 + version: 5.0.1 build: py312h2e8e312_0 subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/watchdog-5.0.0-py312h2e8e312_0.conda - sha256: 677ff46198184c8da8069332b151ed83e3bf16e54038eb027f4cb2de72c2f12d - md5: 4bfab89adec5fcda7b271d6b394095ff + url: https://conda.anaconda.org/conda-forge/win-64/watchdog-5.0.1-py312h2e8e312_0.conda + sha256: 3390b0d863d11a50e0b09aeea630c66fb01b5aeae6a55079922d45897f6167e4 + md5: aca04396c162b1fc0c9753b476d199f9 depends: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - pyyaml >=3.10 license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/watchdog?source=conda-forge-mapping - size: 165868 - timestamp: 1724848475849 + size: 166745 + timestamp: 1725361542979 - kind: conda name: watchdog - version: 5.0.0 + version: 5.0.1 build: py312h7900ff3_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/watchdog-5.0.0-py312h7900ff3_0.conda - sha256: df0556f043955b453d98ded9ecee27ca137f3e7afaaf14a96af7b90898c2225b - md5: 1e97701028778dda20df61d48cf26ddb + url: https://conda.anaconda.org/conda-forge/linux-64/watchdog-5.0.1-py312h7900ff3_0.conda + sha256: a7356010dd263a82a3e2a8bb6b79d3d3f41506834b678ca7249626b51970c812 + md5: 0c36de452bacf602bca9fca222638815 depends: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - pyyaml >=3.10 license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/watchdog?source=conda-forge-mapping - size: 141123 - timestamp: 1724848235402 + size: 140427 + timestamp: 1725361239347 - kind: conda name: wayland version: 1.23.1 @@ -10442,7 +9701,6 @@ packages: - libstdcxx-ng >=13 license: MIT license_family: MIT - purls: [] size: 321561 timestamp: 1724530461598 - kind: conda @@ -10458,8 +9716,6 @@ packages: - python >=3.8 license: MIT license_family: MIT - purls: - - pkg:pypi/wcwidth?source=conda-forge-mapping size: 32709 timestamp: 1704731373922 - kind: conda @@ -10475,8 +9731,6 @@ packages: - python >=3.5 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/webcolors?source=conda-forge-mapping size: 18378 timestamp: 1723294800217 - kind: conda @@ -10493,8 +9747,6 @@ packages: - python >=2.6 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/webencodings?source=conda-forge-mapping size: 15600 timestamp: 1694681458271 - kind: conda @@ -10510,18 +9762,17 @@ packages: - python >=3.8 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/websocket-client?source=conda-forge-mapping size: 47066 timestamp: 1713923494501 - kind: conda name: websockets version: 13.0.1 - build: py312h4389bb4_0 + build: py312h4389bb4_1 + build_number: 1 subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/websockets-13.0.1-py312h4389bb4_0.conda - sha256: 5359e6c87191857f5988964fe073c103b1b19e0cf8cef88b784aae81e948d3ee - md5: abebfd94864e1787702c85206c2d14fd + url: https://conda.anaconda.org/conda-forge/win-64/websockets-13.0.1-py312h4389bb4_1.conda + sha256: 980341a76ed383ded17f08e4dd01b1310a0ee2ff71d9ede7db43a5df2b09e092 + md5: 236d547a3686bb8fa811ae832b7c1d1b depends: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 @@ -10530,18 +9781,17 @@ packages: - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/websockets?source=conda-forge-mapping - size: 233537 - timestamp: 1724914109127 + size: 232828 + timestamp: 1725302656210 - kind: conda name: websockets version: 13.0.1 - build: py312h66e93f0_0 + build: py312h66e93f0_1 + build_number: 1 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/websockets-13.0.1-py312h66e93f0_0.conda - sha256: 9ec28abf85a2bb2d52499a30a930fc2909862bc6c8b3f8db5a331b3d7ad5a095 - md5: 9d753b0764d38beb3f175553a3ae28ed + url: https://conda.anaconda.org/conda-forge/linux-64/websockets-13.0.1-py312h66e93f0_1.conda + sha256: 5e23ae0fdad0e4460cbecaedb233965f879b945ec29cf29044d31e1150f1c477 + md5: bde8023bf1890eef1fa187fd9763a160 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=13 @@ -10549,10 +9799,8 @@ packages: - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/websockets?source=conda-forge-mapping - size: 230858 - timestamp: 1724913738573 + size: 229181 + timestamp: 1725302306360 - kind: conda name: wgpu-native version: 0.19.4.1 @@ -10566,7 +9814,6 @@ packages: - libgcc-ng >=12 - libstdcxx-ng >=12 license: MIT OR Apache-2.0 - purls: [] size: 2806974 timestamp: 1713444053355 - kind: conda @@ -10582,7 +9829,6 @@ packages: - vc >=14.2,<15 - vc14_runtime >=14.29.30139 license: MIT OR Apache-2.0 - purls: [] size: 9583056 timestamp: 1713445172266 - kind: conda @@ -10601,8 +9847,6 @@ packages: - wgpu-native 0.19.4.1.* license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/wgpu?source=conda-forge-mapping size: 112628 timestamp: 1718290695359 - kind: conda @@ -10621,8 +9865,6 @@ packages: - wgpu-native 0.19.4.1.* license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/wgpu?source=conda-forge-mapping size: 112370 timestamp: 1718290495176 - kind: conda @@ -10638,8 +9880,6 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/widgetsnbextension?source=conda-forge-mapping size: 898656 timestamp: 1724331433259 - kind: conda @@ -10656,8 +9896,6 @@ packages: - __win - python >=3.6 license: PUBLIC-DOMAIN - purls: - - pkg:pypi/win-inet-pton?source=conda-forge-mapping size: 8191 timestamp: 1667051294134 - kind: conda @@ -10673,7 +9911,6 @@ packages: platform: win license: MIT license_family: MIT - purls: [] size: 1176306 - kind: conda name: xkeyboard-config @@ -10688,7 +9925,6 @@ packages: - xorg-libx11 >=1.8.9,<2.0a0 license: MIT license_family: MIT - purls: [] size: 388998 timestamp: 1717817668629 - kind: conda @@ -10705,7 +9941,6 @@ packages: - xorg-xextproto license: MIT license_family: MIT - purls: [] size: 9122 timestamp: 1617479697350 - kind: conda @@ -10722,7 +9957,6 @@ packages: - xorg-xextproto license: MIT license_family: MIT - purls: [] size: 9910 timestamp: 1617480107415 - kind: conda @@ -10738,7 +9972,6 @@ packages: - libgcc-ng >=9.3.0 license: MIT license_family: MIT - purls: [] size: 27338 timestamp: 1610027759842 - kind: conda @@ -10754,7 +9987,6 @@ packages: - m2w64-gcc-libs license: MIT license_family: MIT - purls: [] size: 28166 timestamp: 1610028297505 - kind: conda @@ -10771,7 +10003,6 @@ packages: - xorg-libx11 >=1.8.4,<2.0a0 license: MIT license_family: MIT - purls: [] size: 158086 timestamp: 1685308072189 - kind: conda @@ -10786,7 +10017,6 @@ packages: - libgcc-ng >=12 license: MIT license_family: MIT - purls: [] size: 58469 timestamp: 1685307573114 - kind: conda @@ -10803,7 +10033,6 @@ packages: - xorg-libice >=1.1.1,<2.0a0 license: MIT license_family: MIT - purls: [] size: 27433 timestamp: 1685453649160 - kind: conda @@ -10820,7 +10049,6 @@ packages: - xorg-libice >=1.1.1,<2.0a0 license: MIT license_family: MIT - purls: [] size: 86397 timestamp: 1685454296879 - kind: conda @@ -10841,7 +10069,6 @@ packages: - xorg-xproto license: MIT license_family: MIT - purls: [] size: 814589 timestamp: 1718847832308 - kind: conda @@ -10861,7 +10088,6 @@ packages: - xorg-xproto license: MIT license_family: MIT - purls: [] size: 832198 timestamp: 1718846846409 - kind: conda @@ -10877,7 +10103,6 @@ packages: - m2w64-gcc-libs-core license: MIT license_family: MIT - purls: [] size: 51297 timestamp: 1684638355740 - kind: conda @@ -10892,7 +10117,6 @@ packages: - libgcc-ng >=12 license: MIT license_family: MIT - purls: [] size: 14468 timestamp: 1684637984591 - kind: conda @@ -10907,7 +10131,6 @@ packages: - libgcc-ng >=9.3.0 license: MIT license_family: MIT - purls: [] size: 19126 timestamp: 1610071769228 - kind: conda @@ -10922,7 +10145,6 @@ packages: - m2w64-gcc-libs license: MIT license_family: MIT - purls: [] size: 67908 timestamp: 1610072296570 - kind: conda @@ -10940,7 +10162,6 @@ packages: - xorg-xextproto license: MIT license_family: MIT - purls: [] size: 50143 timestamp: 1677036907815 - kind: conda @@ -10958,7 +10179,6 @@ packages: - xorg-xextproto license: MIT license_family: MIT - purls: [] size: 221821 timestamp: 1677038179908 - kind: conda @@ -10976,7 +10196,6 @@ packages: - xorg-libx11 >=1.7.0,<2.0a0 license: MIT license_family: MIT - purls: [] size: 18145 timestamp: 1617717802636 - kind: conda @@ -10994,7 +10213,6 @@ packages: - xorg-libx11 >=1.7.0,<2.0a0 license: MIT license_family: MIT - purls: [] size: 109879 timestamp: 1617718538793 - kind: conda @@ -11011,7 +10229,6 @@ packages: - xorg-libxext license: MIT license_family: MIT - purls: [] size: 13350 timestamp: 1667399989190 - kind: conda @@ -11031,7 +10248,6 @@ packages: - xorg-libxt >=1.3.0,<2.0a0 license: MIT license_family: MIT - purls: [] size: 89113 timestamp: 1714742286287 - kind: conda @@ -11049,7 +10265,6 @@ packages: - xorg-renderproto license: MIT license_family: MIT - purls: [] size: 152274 timestamp: 1688301251907 - kind: conda @@ -11066,7 +10281,6 @@ packages: - xorg-renderproto license: MIT license_family: MIT - purls: [] size: 37770 timestamp: 1688300707994 - kind: conda @@ -11087,7 +10301,6 @@ packages: - xorg-xproto license: MIT license_family: MIT - purls: [] size: 379256 timestamp: 1690288540492 - kind: conda @@ -11103,7 +10316,6 @@ packages: - libgcc-ng >=9.3.0 license: MIT license_family: MIT - purls: [] size: 9621 timestamp: 1614866326326 - kind: conda @@ -11119,7 +10331,6 @@ packages: - m2w64-gcc-libs license: MIT license_family: MIT - purls: [] size: 10352 timestamp: 1614866857633 - kind: conda @@ -11135,7 +10346,6 @@ packages: - libgcc-ng >=12 license: MIT license_family: MIT - purls: [] size: 30270 timestamp: 1677036833037 - kind: conda @@ -11151,7 +10361,6 @@ packages: - m2w64-gcc-libs license: MIT license_family: MIT - purls: [] size: 31034 timestamp: 1677037259999 - kind: conda @@ -11167,7 +10376,6 @@ packages: - libgcc-ng >=9.3.0 license: MIT license_family: MIT - purls: [] size: 74922 timestamp: 1607291557628 - kind: conda @@ -11183,7 +10391,6 @@ packages: - m2w64-gcc-libs license: MIT license_family: MIT - purls: [] size: 75708 timestamp: 1607292254607 - kind: conda @@ -11197,7 +10404,6 @@ packages: depends: - libgcc-ng >=12 license: LGPL-2.1 and GPL-2.0 - purls: [] size: 418368 timestamp: 1660346797927 - kind: conda @@ -11212,7 +10418,6 @@ packages: - vc >=14.1,<15 - vs2015_runtime >=14.16.27033 license: LGPL-2.1 and GPL-2.0 - purls: [] size: 217804 timestamp: 1660346976440 - kind: conda @@ -11228,7 +10433,6 @@ packages: - libgcc-ng >=9.4.0 license: MIT license_family: MIT - purls: [] size: 89141 timestamp: 1641346969816 - kind: conda @@ -11245,7 +10449,6 @@ packages: - vs2015_runtime >=14.16.27012 license: MIT license_family: MIT - purls: [] size: 63274 timestamp: 1641347623319 - kind: conda @@ -11264,7 +10467,6 @@ packages: - libstdcxx-ng >=12 license: MPL-2.0 license_family: MOZILLA - purls: [] size: 353229 timestamp: 1715607188837 - kind: conda @@ -11284,7 +10486,6 @@ packages: - vc14_runtime >=14.29.30139 license: MPL-2.0 license_family: MOZILLA - purls: [] size: 2707065 timestamp: 1715607874610 - kind: conda @@ -11300,8 +10501,6 @@ packages: - python >=3.8 license: MIT license_family: MIT - purls: - - pkg:pypi/zipp?source=conda-forge-mapping size: 21110 timestamp: 1724731063145 - kind: conda @@ -11320,26 +10519,8 @@ packages: - vc14_runtime >=14.29.30139 license: Zlib license_family: Other - purls: [] size: 108081 timestamp: 1716874767420 -- kind: conda - name: zlib - version: 1.3.1 - build: h4ab18f5_1 - build_number: 1 - subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-h4ab18f5_1.conda - sha256: cee16ab07a11303de721915f0a269e8c7a54a5c834aa52f74b1cc3a59000ade8 - md5: 9653f1bf3766164d0e65fa723cabbc54 - depends: - - libgcc-ng >=12 - - libzlib 1.3.1 h4ab18f5_1 - license: Zlib - license_family: Other - purls: [] - size: 93004 - timestamp: 1716874213487 - kind: conda name: zlib version: 1.3.1 @@ -11359,48 +10540,44 @@ packages: - kind: conda name: zstandard version: 0.23.0 - build: py312h3483029_0 - subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312h3483029_0.conda - sha256: 7e1e105ea7eab2af591faebf743ff2493f53c313079e316419577925e4492b03 - md5: eab52e88c858d87cf5a069f79d10bb50 + build: py312h7606c53_1 + build_number: 1 + subdir: win-64 + url: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.23.0-py312h7606c53_1.conda + sha256: 3e0c718aa18dcac7f080844dbe0aea41a9cea75083019ce02e8a784926239826 + md5: a92cc3435b2fd6f51463f5a4db5c50b1 depends: - - __glibc >=2.17,<3.0.a0 - cffi >=1.11 - - libgcc-ng >=12 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 - zstd >=1.5.6,<1.5.7.0a0 - zstd >=1.5.6,<1.6.0a0 license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/zstandard?source=conda-forge-mapping - size: 416708 - timestamp: 1721044154409 + size: 320624 + timestamp: 1725305934189 - kind: conda name: zstandard version: 0.23.0 - build: py312h7606c53_0 - subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.23.0-py312h7606c53_0.conda - sha256: 907edf473419a5aff6151900d09bb3f2b2c2ede8964f20ae87cb6fae04d0cbb7 - md5: c405924e081cb476495ffe72c88e92c2 + build: py312hef9b889_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312hef9b889_1.conda + sha256: b97015e146437283f2213ff0e95abdc8e2480150634d81fbae6b96ee09f5e50b + md5: 8b7069e9792ee4e5b4919a7a306d2e67 depends: + - __glibc >=2.17,<3.0.a0 - cffi >=1.11 + - libgcc >=13 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - zstd >=1.5.6,<1.5.7.0a0 - zstd >=1.5.6,<1.6.0a0 license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/zstandard?source=conda-forge-mapping - size: 320649 - timestamp: 1721044547910 + size: 419552 + timestamp: 1725305670210 - kind: conda name: zstd version: 1.5.6 @@ -11416,7 +10593,6 @@ packages: - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD - purls: [] size: 349143 timestamp: 1714723445995 - kind: conda @@ -11433,6 +10609,5 @@ packages: - libzlib >=1.2.13,<2.0.0a0 license: BSD-3-Clause license_family: BSD - purls: [] size: 554846 timestamp: 1714722996770 diff --git a/pyproject.toml b/pyproject.toml index d1bed2774..8f3f5c926 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -77,9 +77,6 @@ ada-py = "*" code-aster = "*" lark = "*" -[tool.pixi.feature.py312.pypi-dependencies] -ada-py = {path = ".", editable = true} - [tool.pixi.feature.tests.dependencies] pytest = "*" paradoc = "*" diff --git a/src/ada/api/primitives.py b/src/ada/api/primitives.py index b1a118f4e..b3dcb6da2 100644 --- a/src/ada/api/primitives.py +++ b/src/ada/api/primitives.py @@ -33,7 +33,7 @@ class Shape(BackendGeom): def __init__( self, name, - geom: Geometry | None = None, + geom: Geometry | list[Geometry] | None = None, color=None, opacity=1.0, mass: float = None, diff --git a/src/ada/api/spatial/assembly.py b/src/ada/api/spatial/assembly.py index bf416887b..328357532 100644 --- a/src/ada/api/spatial/assembly.py +++ b/src/ada/api/spatial/assembly.py @@ -57,13 +57,14 @@ def __init__( name="Ada", project="AdaProject", user: User = User(), - schema="IFC4X1", + schema="IFC4X3_add2", settings=Settings(), metadata=None, units: Units | str = Units.M, ifc_settings=None, enable_cache: bool = False, clear_cache: bool = False, + cache_dir: str | pathlib.Path = None, ifc_class: SpatialTypes = SpatialTypes.IfcSite, ): metadata = dict() if metadata is None else metadata @@ -86,7 +87,7 @@ def __init__( self._cache_store = None if enable_cache: - self._cache_store = CacheStore(name) + self._cache_store = CacheStore(name, cache_dir=cache_dir) self.cache_store.sync(self, clear_cache=clear_cache) def read_ifc( @@ -253,7 +254,7 @@ def to_ifc( self.ifc_store.save_to_file(destination) if validate: - ifcopenshell.validate.validate(self.ifc_store.f, logger) + ifcopenshell.validate.validate(self.ifc_store.f if file_obj_only else destination, logger) print("IFC file creation complete") return self.ifc_store.f diff --git a/src/ada/cache/store.py b/src/ada/cache/store.py index ad1d488bb..548d7e6a0 100644 --- a/src/ada/cache/store.py +++ b/src/ada/cache/store.py @@ -15,13 +15,18 @@ @dataclass class CacheStore: name: str + cache_dir: pathlib.Path | None = None state_file: pathlib.Path = field(default=None) cache_file: pathlib.Path = field(default=None) _cache_loaded: bool = False def __post_init__(self): - state_path = pathlib.Path("").parent.resolve().absolute() / ".state" / self.name + if self.cache_dir is None: + self.cache_dir = pathlib.Path("").parent.resolve().absolute() / ".state" + if isinstance(self.cache_dir, str): + self.cache_dir = pathlib.Path(self.cache_dir) + state_path = self.cache_dir / self.name self.state_file = state_path.with_suffix(".json") self.cache_file = state_path.with_suffix(".h5") diff --git a/src/ada/cadit/ifc/convert_length_unit_patch.py b/src/ada/cadit/ifc/convert_length_unit_patch.py index 78506b9cb..4b76423c5 100644 --- a/src/ada/cadit/ifc/convert_length_unit_patch.py +++ b/src/ada/cadit/ifc/convert_length_unit_patch.py @@ -19,7 +19,6 @@ import ifcopenshell import ifcopenshell.api import ifcopenshell.api.owner.settings -import ifcopenshell.express.schema import ifcopenshell.util.element import ifcopenshell.util.pset import ifcopenshell.util.unit diff --git a/src/ada/cadit/ifc/read/geom/geom_reader.py b/src/ada/cadit/ifc/read/geom/geom_reader.py index ce356179f..1ac1d9823 100644 --- a/src/ada/cadit/ifc/read/geom/geom_reader.py +++ b/src/ada/cadit/ifc/read/geom/geom_reader.py @@ -6,7 +6,8 @@ from ada.geom import solids as geo_so from ada.geom import surfaces as geo_su -from .solids import extruded_solid_area +from .solids import extruded_solid_area, ifc_block, revolved_solid_area +from .surfaces import triangulated_face_set GEOM = Union[geo_so.SOLID_GEOM_TYPES | geo_cu.CURVE_GEOM_TYPES | geo_su.SURFACE_GEOM_TYPES] @@ -22,5 +23,11 @@ def get_product_definitions(prod_def: ifcopenshell.entity_instance) -> Iterable[ def import_geometry_from_ifc_geom(geom_repr: ifcopenshell.entity_instance) -> GEOM: if geom_repr.is_a("IfcExtrudedAreaSolid"): return extruded_solid_area(geom_repr) + elif geom_repr.is_a("IfcRevolvedAreaSolid"): + return revolved_solid_area(geom_repr) + elif geom_repr.is_a("IfcTriangulatedFaceSet"): + return triangulated_face_set(geom_repr) + elif geom_repr.is_a("IfcBlock"): + return ifc_block(geom_repr) else: raise NotImplementedError(f"Geometry type {geom_repr.is_a()} not implemented") diff --git a/src/ada/cadit/ifc/read/geom/placement.py b/src/ada/cadit/ifc/read/geom/placement.py index 7333fdd09..bd29212ab 100644 --- a/src/ada/cadit/ifc/read/geom/placement.py +++ b/src/ada/cadit/ifc/read/geom/placement.py @@ -1,5 +1,5 @@ from ada import Direction, Point -from ada.geom.placement import Axis2Placement3D +from ada.geom.placement import Axis1Placement, Axis2Placement3D def ifc_direction(ifc_entity) -> Direction: @@ -18,3 +18,21 @@ def axis3d(ifc_entity) -> Axis2Placement3D: axis=axis, ref_direction=ref_dir, ) + + +def axis1placement(ifc_entity) -> Axis1Placement: + axis = ifc_direction(ifc_entity.Axis) if ifc_entity.Axis is not None else Direction(0, 0, 1) + return Axis1Placement( + location=ifc_point(ifc_entity.Location), + axis=axis, + ) + + +def axis2placement(ifc_entity) -> Axis2Placement3D: + ref_dir = ifc_direction(ifc_entity.RefDirection) if ifc_entity.RefDirection is not None else Direction(1, 0, 0) + axis = ifc_direction(ifc_entity.Axis) if ifc_entity.Axis is not None else Direction(0, 0, 1) + return Axis2Placement3D( + location=ifc_point(ifc_entity.Location), + axis=axis, + ref_direction=ref_dir, + ) diff --git a/src/ada/cadit/ifc/read/geom/solids.py b/src/ada/cadit/ifc/read/geom/solids.py index 9cc3fb774..d78bbb16d 100644 --- a/src/ada/cadit/ifc/read/geom/solids.py +++ b/src/ada/cadit/ifc/read/geom/solids.py @@ -3,7 +3,7 @@ from ada.geom import solids as geo_so from ada.geom.placement import Axis2Placement3D -from .placement import axis3d, ifc_direction +from .placement import axis1placement, axis2placement, axis3d, ifc_direction from .surfaces import get_surface @@ -14,3 +14,22 @@ def extruded_solid_area(ifc_entity: ifcopenshell.entity_instance) -> geo_so.Extr return geo_so.ExtrudedAreaSolid( swept_area=swept_area, position=position, depth=ifc_entity.Depth, extruded_direction=extrude_dir ) + + +def revolved_solid_area(ifc_entity: ifcopenshell.entity_instance) -> geo_so.RevolvedAreaSolid: + revolve_axis = axis1placement(ifc_entity.Axis) + position = axis3d(ifc_entity.Position) if ifc_entity.Position is not None else Axis2Placement3D() + swept_area = get_surface(ifc_entity.SweptArea) + return geo_so.RevolvedAreaSolid( + swept_area=swept_area, + position=position, + axis=revolve_axis, + angle=ifc_entity.Angle, + ) + + +def ifc_block(ifc_entity: ifcopenshell.entity_instance) -> geo_so.Box: + position = axis2placement(ifc_entity.Position) if ifc_entity.Position is not None else Axis2Placement3D() + return geo_so.Box( + position=position, x_length=ifc_entity.XLength, y_length=ifc_entity.YLength, z_length=ifc_entity.ZLength + ) diff --git a/src/ada/cadit/ifc/read/geom/surfaces.py b/src/ada/cadit/ifc/read/geom/surfaces.py index 5cd41e0ea..795e15b4e 100644 --- a/src/ada/cadit/ifc/read/geom/surfaces.py +++ b/src/ada/cadit/ifc/read/geom/surfaces.py @@ -1,6 +1,9 @@ import ifcopenshell +from ada.core.utils import flatten from ada.geom import surfaces as geo_su +from ada.geom.placement import Direction +from ada.geom.points import Point from .curves import get_curve @@ -12,6 +15,10 @@ def get_surface(ifc_entity: ifcopenshell.entity_instance) -> geo_su.SURFACE_GEOM return i_shape_profile_def(ifc_entity) elif ifc_entity.is_a("IfcTShapeProfileDef"): return t_shape_profile_def(ifc_entity) + elif ifc_entity.is_a("IfcCircleProfileDef"): + return circle_profile_def(ifc_entity) + elif ifc_entity.is_a("IfcRectangleProfileDef"): + return rectangle_profile_def(ifc_entity) else: raise NotImplementedError(f"Geometry type {ifc_entity.is_a()} not implemented") @@ -57,3 +64,26 @@ def t_shape_profile_def(ifc_entity: ifcopenshell.entity_instance) -> geo_su.TSha web_slope=ifc_entity.WebSlope, flange_slope=ifc_entity.FlangeSlope, ) + + +def circle_profile_def(ifc_entity: ifcopenshell.entity_instance) -> geo_su.CircleProfileDef: + return geo_su.CircleProfileDef( + profile_type=geo_su.ProfileType.from_str(ifc_entity.ProfileType), + radius=ifc_entity.Radius, + ) + + +def triangulated_face_set(ifc_entity: ifcopenshell.entity_instance) -> geo_su.TriangulatedFaceSet: + return geo_su.TriangulatedFaceSet( + coordinates=[Point(*x) for x in ifc_entity.Coordinates.CoordList], + indices=flatten(ifc_entity.CoordIndex), + normals=[Direction(*x) for x in ifc_entity.Normals], + ) + + +def rectangle_profile_def(ifc_entity: ifcopenshell.entity_instance) -> geo_su.RectangleProfileDef: + return geo_su.RectangleProfileDef( + profile_type=geo_su.ProfileType.from_str(ifc_entity.ProfileType), + x_dim=ifc_entity.XDim, + y_dim=ifc_entity.YDim, + ) diff --git a/src/ada/cadit/ifc/read/read_shapes.py b/src/ada/cadit/ifc/read/read_shapes.py index cd01b4315..bb5f62adc 100644 --- a/src/ada/cadit/ifc/read/read_shapes.py +++ b/src/ada/cadit/ifc/read/read_shapes.py @@ -16,7 +16,7 @@ def import_ifc_shape(product: ifcopenshell.entity_instance, name, ifc_store: IfcStore): logger.info(f'importing Shape "{name}"') color, opacity = get_colour(product, ifc_store.assembly) - + # geometries = list(get_product_definitions(product)) return Shape( name, None, diff --git a/src/ada/cadit/ifc/write/write_beams.py b/src/ada/cadit/ifc/write/write_beams.py index 5ca628259..6e56b7d7d 100644 --- a/src/ada/cadit/ifc/write/write_beams.py +++ b/src/ada/cadit/ifc/write/write_beams.py @@ -111,9 +111,10 @@ def add_material_assignment(self, beam: Beam, ifc_beam): mat_profile_set = f.createIfcMaterialProfileSet(sec.name, None, [mat_profile], None) mat_usage = f.create_entity("IfcMaterialProfileSetUsage", mat_profile_set, convert_bm_jusl_to_ifc(beam)) - ifc_store.writer.create_rel_associates_material(create_guid(), mat_usage, [ifc_beam]) - ifc_store.writer.associate_elem_with_material(beam.material, ifc_beam) + + # this is done as a post-step + # ifc_store.writer.associate_elem_with_material(beam.material, ifc_beam) return mat_profile_set diff --git a/src/ada/cadit/ifc/write/write_ifc.py b/src/ada/cadit/ifc/write/write_ifc.py index 66aae7b09..efd0adbcd 100644 --- a/src/ada/cadit/ifc/write/write_ifc.py +++ b/src/ada/cadit/ifc/write/write_ifc.py @@ -1,9 +1,11 @@ from __future__ import annotations +from collections import defaultdict from dataclasses import dataclass from typing import TYPE_CHECKING, Callable import ifcopenshell +import ifcopenshell.api.material import ifcopenshell.geom from ada.base.changes import ChangeAction @@ -64,6 +66,8 @@ def sync_added_geom_repr(self): ... def sync_added_physical_objects(self) -> int: + from ada import Pipe + a = self.ifc_store.assembly mat_map = {mat.guid: mat for mat in a.get_all_materials()} rel_mats_map = { @@ -89,6 +93,21 @@ def sync_added_physical_objects(self) -> int: if self.callback is not None: self.callback(i, num_new_objects) + # Create relationships between materials and physical objects here inside the object creation + obj_map = defaultdict(list) + for obj in new_objects: + if not hasattr(obj, "material"): + continue + obj_map[obj.material].append(obj) + + for mat, objects in obj_map.items(): + rel_mat = self.ifc_store.f.by_guid(mat.guid) + ifc_elems = [self.ifc_store.f.by_guid(obj.guid) for obj in objects if not isinstance(obj, Pipe)] + ifc_elems_pipe_seg = [ + self.ifc_store.f.by_guid(seg.guid) for obj in objects if isinstance(obj, Pipe) for seg in obj.segments + ] + rel_mat.RelatedObjects = [*rel_mat.RelatedObjects, *ifc_elems, *ifc_elems_pipe_seg] + for spatial_elem_guid, relating_elements in contained_in_spatial.items(): if len(relating_elements) == 0: continue @@ -306,10 +325,7 @@ def add_related_elements_to_spatial_container(self, elements: list[ifcopenshell. ) def associate_elem_with_material(self, material: Material, ifc_elem: ifcopenshell.entity_instance): - try: - rel_mat = self.ifc_store.f.by_guid(material.guid) - except RuntimeError as e: - raise RuntimeError(e) + rel_mat = self.ifc_store.f.by_guid(material.guid) related_objects = [*rel_mat.RelatedObjects, ifc_elem] rel_mat.RelatedObjects = related_objects return rel_mat diff --git a/src/ada/cadit/ifc/write/write_plates.py b/src/ada/cadit/ifc/write/write_plates.py index 73b4cdb25..a78b8d14b 100644 --- a/src/ada/cadit/ifc/write/write_plates.py +++ b/src/ada/cadit/ifc/write/write_plates.py @@ -41,7 +41,4 @@ def write_ifc_plate(plate: Plate): if plate.color is not None: add_colour(f, solid, str(plate.color), plate.color) - # Material - ifc_store.writer.associate_elem_with_material(plate.material, ifc_plate) - return ifc_plate diff --git a/src/ada/cadit/ifc/write/write_shapes.py b/src/ada/cadit/ifc/write/write_shapes.py index 82ed7062c..712778fab 100644 --- a/src/ada/cadit/ifc/write/write_shapes.py +++ b/src/ada/cadit/ifc/write/write_shapes.py @@ -54,8 +54,10 @@ def write_ifc_shape(shape: Shape): if shape.color is not None: add_colour(f, ifc_shape.Representations[0].Items[0], str(shape.color), shape.color) + from ada.base.ifc_types import ShapeTypes + ifc_elem = f.create_entity( - str(shape.ifc_class.value), + str(shape.ifc_class.value) if isinstance(shape.ifc_class, ShapeTypes) else shape.ifc_class, GlobalId=shape.guid, OwnerHistory=owner_history, Name=shape.name, @@ -64,9 +66,6 @@ def write_ifc_shape(shape: Shape): Representation=ifc_shape, ) - # Material - a.ifc_store.writer.associate_elem_with_material(shape.material, ifc_elem) - return ifc_elem diff --git a/src/ada/fem/formats/abaqus/read/read_sections.py b/src/ada/fem/formats/abaqus/read/read_sections.py index 4cdb2bc68..62272ad18 100644 --- a/src/ada/fem/formats/abaqus/read/read_sections.py +++ b/src/ada/fem/formats/abaqus/read/read_sections.py @@ -4,6 +4,8 @@ from itertools import chain from typing import TYPE_CHECKING, Iterable +import numpy as np + from ada.config import logger from ada.core.utils import Counter, roundoff from ada.fem import ConnectorSection, FemSection @@ -216,24 +218,26 @@ def get_shell_section(m, sh_name, fem: "FEM", a: "Assembly"): ) -def get_connector_sections_from_bulk(bulk_str: str, parent: FEM = None) -> dict[str, ConnectorSection]: - import numpy as np +def conn_from_groupdict(d: dict, parent): + name = d["name"] + comp = int(d["component"]) + # This does not work reliably + logger.warning( + f'Connector section "{name}" has a component number of "{comp}". ' + "Please verify the imported connector, as the connector properties import is not reliable." + ) + res = np.fromstring(list_cleanup(d["bulk"]), sep=",", dtype=np.float64) + size = res.size + cols = comp + 1 + rows = int(size / cols) + res_ = res.reshape(rows, cols) + return ConnectorSection(name, [res_], [], metadata=d, parent=parent) + +def get_connector_sections_from_bulk(bulk_str: str, parent: FEM = None) -> dict[str, ConnectorSection]: consecsd = dict() for m in cards.connector_behaviour.regex.finditer(bulk_str): d = m.groupdict() - name = d["name"] - comp = int(d["component"]) - # This does not work reliably - logger.warning( - f'Connector section "{name}" has a component number of "{comp}". ' - "Please verify the imported connector, as the connector properties import is not reliable." - ) - res = np.fromstring(list_cleanup(d["bulk"]), sep=",", dtype=np.float64) - size = res.size - cols = comp + 1 - rows = int(size / cols) - res_ = res.reshape(rows, cols) - consecsd[name] = ConnectorSection(name, [res_], [], metadata=d, parent=parent) + consecsd[d["name"]] = conn_from_groupdict(d, parent) return consecsd diff --git a/src/ada/fem/formats/vtu/write.py b/src/ada/fem/formats/vtu/write.py index fe7770dea..2ee09d2aa 100644 --- a/src/ada/fem/formats/vtu/write.py +++ b/src/ada/fem/formats/vtu/write.py @@ -142,7 +142,7 @@ def write_to_vtu_object(nodes: FemNodes, element_blocks: list[ElementBlock], poi def write_to_vtu_file( - nodes: FemNodes, element_blocks: list[ElementBlock], point_data: dict, cell_data: dict, filename: str + nodes: FemNodes, element_blocks: list[ElementBlock], point_data: dict, cell_data: dict, filename: str | pathlib.Path ): tree = write_to_vtu_object(nodes, element_blocks, point_data, cell_data) diff --git a/src/ada/geom/solids.py b/src/ada/geom/solids.py index 187ba9306..f06395e05 100644 --- a/src/ada/geom/solids.py +++ b/src/ada/geom/solids.py @@ -35,7 +35,7 @@ class ExtrudedAreaSolidTapered(ExtrudedAreaSolid): @dataclass class RevolvedAreaSolid: """ - IFC4x3 (https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3_0_0/lexical/IfcRevolvedAreaSolid.htm) + IFC4x3 (https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcRevolvedAreaSolid.htm) STEP AP242 (https://www.steptools.com/stds/stp_aim/html/t_revolved_area_solid.html) """ @@ -59,7 +59,7 @@ class FixedReferenceSweptAreaSolid: @dataclass class Box: """ - IFC4x3 (https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3_0_0/lexical/IfcBlock.htm) + IFC4x3 (https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcBlock.htm) STEP AP242 (https://www.steptools.com/stds/stp_aim/html/t_box_domain.html) """ diff --git a/src/ada/geom/surfaces.py b/src/ada/geom/surfaces.py index 72964e2cd..7340e2504 100644 --- a/src/ada/geom/surfaces.py +++ b/src/ada/geom/surfaces.py @@ -138,6 +138,43 @@ class TShapeProfileDef(ProfileDef): flange_slope: float +@dataclass +class CircleProfileDef(ProfileDef): + """ + IFC4x3 (https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCircleProfileDef.htm) + """ + + radius: float + + +@dataclass +class TriangulatedFaceSet: + """ + IFC4x3 (https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTriangulatedFaceSet.htm) + """ + + coordinates: list[Point] + normals: list[Direction] + indices: list[int] + + +@dataclass +class RectangleProfileDef(ProfileDef): + """ + IFC4x3 (https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRectangleProfileDef.htm) + """ + + x_dim: float + y_dim: float + + SURFACE_GEOM_TYPES = Union[ - ArbitraryProfileDef, FaceBasedSurfaceModel, CurveBoundedPlane, IShapeProfileDef, TShapeProfileDef + ArbitraryProfileDef, + FaceBasedSurfaceModel, + CurveBoundedPlane, + IShapeProfileDef, + TShapeProfileDef, + TriangulatedFaceSet, + CircleProfileDef, + RectangleProfileDef, ] diff --git a/tests/conftest.py b/tests/conftest.py index f6909ea97..993f76b53 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,4 +1,3 @@ -import os import pathlib import pytest @@ -22,13 +21,6 @@ def root_dir() -> pathlib.Path: return ROOT_DIR -@pytest.fixture -def test_dir() -> pathlib.Path: - testing_dir = TESTS_DIR / "temp" - os.makedirs(testing_dir, exist_ok=True) - return testing_dir - - @pytest.fixture def example_files(this_dir) -> pathlib.Path: return ROOT_DIR / "files" diff --git a/tests/core/api/beams/test_beam_bbox.py b/tests/core/api/beams/test_beam_bbox.py index 39a2c705d..f6be5a4fe 100644 --- a/tests/core/api/beams/test_beam_bbox.py +++ b/tests/core/api/beams/test_beam_bbox.py @@ -1,7 +1,4 @@ from ada import Assembly, Beam, Part, PrimBox -from ada.config import Settings - -test_dir = Settings.test_dir / "beams" def test_bbox_viz(): @@ -20,7 +17,7 @@ def test_bbox_viz(): ypos += 1 a = Assembly() / blist - _ = a.to_ifc(test_dir / "beam_bounding_box.ifc", file_obj_only=True) + _ = a.to_ifc(file_obj_only=True) def test_iprofiles_bbox(): diff --git a/tests/core/api/beams/test_beam_orientation.py b/tests/core/api/beams/test_beam_orientation.py index e517a8de0..c51260179 100644 --- a/tests/core/api/beams/test_beam_orientation.py +++ b/tests/core/api/beams/test_beam_orientation.py @@ -1,7 +1,7 @@ from ada import Assembly, Beam, Part -def test_beam_rotation_by_angle(test_dir): +def test_beam_rotation_by_angle(): # Define beam rotations using vectors angles = [0, 90, 180, 270] vectorX = [(0, 0, 1), (0, -1, 0), (0, 0, -1), (0, 1, 0)] diff --git a/tests/core/api/beams/test_beam_profiles.py b/tests/core/api/beams/test_beam_profiles.py index cf45ce8a4..47383903b 100644 --- a/tests/core/api/beams/test_beam_profiles.py +++ b/tests/core/api/beams/test_beam_profiles.py @@ -1,8 +1,5 @@ from ada import Assembly, Beam, CurvePoly2d, Material, Part, Section from ada.api.beams import BeamTapered -from ada.config import Settings - -test_dir = Settings.test_dir / "beams" def test_iprofiles(): @@ -76,7 +73,7 @@ def test_tapered_profile(): # a.to_ifc(test_dir / "tapered.ifc") -def test_cone_beam(): +def test_cone_beam(tmp_path): s_o = [(375.0, 375.0, 375.0), (375.0, -375.0, 375.0), (-375.0, -375.0, 375.0), (-375.0, 375.0, 375.0)] s_i = [(325.0, 325.0, 325.0), (-325.0, 325.0, 325.0), (-325.0, -325.0, 325.0), (325.0, -325.0, 325.0)] @@ -92,4 +89,4 @@ def test_cone_beam(): bm = BeamTapered("MyCone", (2, 2, 2), (4, 4, 4), sec=section_s, tap=section_e) a = Assembly("Level1", project="Project0", units="mm") / (Part("Level2") / bm) - _ = a.to_ifc(test_dir / "cone_ex.ifc", file_obj_only=True) + _ = a.to_ifc(tmp_path / "cone_ex.ifc", file_obj_only=True) diff --git a/tests/core/api/beams/test_beam_roundtrip.py b/tests/core/api/beams/test_beam_roundtrip.py index d7354b6d1..db4e1d026 100644 --- a/tests/core/api/beams/test_beam_roundtrip.py +++ b/tests/core/api/beams/test_beam_roundtrip.py @@ -1,11 +1,8 @@ from ada import Assembly, Beam, Material, Part -from ada.config import Settings from ada.materials.metals import CarbonSteel -test_dir = Settings.test_dir / "beams" - -def test_beam_to_from_ifc(): +def test_beam_to_from_ifc(tmp_path): bm = Beam( "bm1", n1=[0, 0, 0], @@ -16,7 +13,7 @@ def test_beam_to_from_ifc(): ) a = Assembly("MyAssembly") / [Part("MyPart") / bm] - fp = a.to_ifc(test_dir / "my_beam_profile.ifc", file_obj_only=True) + fp = a.to_ifc(tmp_path / "my_beam_profile.ifc", file_obj_only=True) a2 = Assembly("MyNewAssembly") a2.read_ifc(fp) @@ -24,4 +21,4 @@ def test_beam_to_from_ifc(): # This would require more work put into __eq__ and __neq__. Not a priority (visual check in Blender for now) # bm2 = a2.get_by_name(bm.name) # assert bm2 == bm - _ = a2.to_ifc(test_dir / "my_beam_profile_re_exported.ifc", file_obj_only=True) + _ = a2.to_ifc(tmp_path / "my_beam_profile_re_exported.ifc", file_obj_only=True) diff --git a/tests/core/api/beams/test_beam_sweeps.py b/tests/core/api/beams/test_beam_sweeps.py index b7e842b3f..650ebf0c8 100644 --- a/tests/core/api/beams/test_beam_sweeps.py +++ b/tests/core/api/beams/test_beam_sweeps.py @@ -1,11 +1,8 @@ from ada import Assembly, BeamSweep, CurvePoly2d, Part -from ada.config import Settings -test_dir = Settings.test_dir / "beams" - -def test_sweep_beam(): +def test_sweep_beam(tmp_path): curve = CurvePoly2d.from_3d_points([(10, 0, 0), (11, 5.0, 0.0, 3), (10, 10, 0)]) bm = BeamSweep("MyBeam", sec="IPE600", curve=curve) a = Assembly("ExportedPlates", units="m") / (Part("MyPart") / bm) - _ = a.to_ifc(test_dir / "my_swept_beam_elem_m.ifc", file_obj_only=False, validate=True) + _ = a.to_ifc(tmp_path / "my_swept_beam_elem_m.ifc", file_obj_only=False, validate=True) diff --git a/tests/core/api/pipes/test_stru_pipes.py b/tests/core/api/pipes/test_stru_pipes.py index 65a72e989..0754ab582 100644 --- a/tests/core/api/pipes/test_stru_pipes.py +++ b/tests/core/api/pipes/test_stru_pipes.py @@ -2,17 +2,14 @@ from ada import Assembly, Part, Pipe, PipeSegElbow, Section from ada.cadit.ifc.write.write_pipe import elbow_revolved_solid -from ada.config import Settings -test_dir = Settings.test_dir / "pipes" - -def test_pipe_straight(): +def test_pipe_straight(tmp_path): a = Assembly("MyTest") p = a.add_part(Part("MyPart")) y0 = -200e-3 p.add_pipe(Pipe("Pipe1", [(0, y0, 0), (0, y0, 3.2)], Section("PSec", "PIPE", r=0.10, wt=5e-3))) - _ = a.to_ifc(test_dir / "pipe_straight.ifc", file_obj_only=True, validate=True) + _ = a.to_ifc(tmp_path / "pipe_straight.ifc", file_obj_only=False, validate=True) def test_write_single_90_deg_elbow_revolved_solid(pipe_w_single_90_deg_bend): @@ -29,12 +26,12 @@ def test_write_single_90_deg_elbow_revolved_solid(pipe_w_single_90_deg_bend): # a.to_ifc(test_dir / "pipe_bend.ifc") -def test_pipe_multiple_bends(pipe_w_multiple_bends): +def test_pipe_multiple_bends(pipe_w_multiple_bends, tmp_path): assert pipe_w_multiple_bends.segments[1].bend_radius == pytest.approx(0.1979375) a = Assembly("MyTest") / (Part("MyPart") / pipe_w_multiple_bends) # a.to_stp(test_dir / "pipe_bend_multiple.stp") - a.to_ifc(test_dir / "pipe_bend_multiple.ifc", file_obj_only=True, validate=True) + a.to_ifc(tmp_path / "pipe_bend_multiple.ifc", file_obj_only=False, validate=True) def test_write_elbow_revolved_solid_ifc_gen(pipe_w_multiple_bends): diff --git a/tests/core/api/plates/test_plates_2d_input.py b/tests/core/api/plates/test_plates_2d_input.py index 43f3975b6..b23e2f02c 100644 --- a/tests/core/api/plates/test_plates_2d_input.py +++ b/tests/core/api/plates/test_plates_2d_input.py @@ -198,14 +198,14 @@ def test_2ifc_simple(place2): # (ada.Assembly("ExportedPlates") / (ada.Part("MyPart") / pl2)).to_ifc(test_dir / "my_plate_poly.ifc") -def test_triangle(test_dir): +def test_triangle(tmp_path): points2d = [(0, 0), (1, 0, 0.1), (0.5, 0.5)] orientation = Placement() pl = ada.Plate("test", points2d, 20e-3, orientation=orientation) plates = [pl] a = ada.Assembly() / [ada.Part("te") / plates] - a.to_ifc(test_dir / "triangle_plates_no_rot.ifc", validate=True) + a.to_ifc(tmp_path / "triangle_plates_no_rot.ifc", validate=True) assert len(pl.poly.segments) == 4 geom = pl.solid_geom() @@ -219,7 +219,7 @@ def test_triangle(test_dir): # a.to_ifc(test_dir / "triangle_plates_rot.ifc", validate=True) -def test_floaty_input_ex1(test_dir): +def test_floaty_input_ex1(): origin = np.array([362237.0037951513, 100000.0, 560985.9095763591]) csys = [ [0.0, -1.0, 0.0], diff --git a/tests/core/api/test_penetrations.py b/tests/core/api/test_penetrations.py index 91fe9c377..dfc9bf445 100644 --- a/tests/core/api/test_penetrations.py +++ b/tests/core/api/test_penetrations.py @@ -11,9 +11,6 @@ Section, User, ) -from ada.config import Settings - -test_dir = Settings.test_dir / "booleans" def test_mix_extrude(): @@ -46,7 +43,7 @@ def test_mix_extrude(): x = 1.0 bm.add_boolean(PrimBox("my_pen6", (x, -0.1, -0.1), (x + 0.2, 0.1, 0.1))) - _ = a.to_ifc(test_dir / "penetrations_mix.ifc", file_obj_only=True) + _ = a.to_ifc(file_obj_only=True) def test_poly_extrude(): @@ -81,7 +78,7 @@ def test_poly_extrude(): (0, 0.25, r), ] bm.add_boolean(PrimExtrude("my_pen4", points, h, normal, origin, xdir)) - _ = a.to_ifc(test_dir / "penetrations_poly.ifc", file_obj_only=True) + _ = a.to_ifc(file_obj_only=True) def test_poly_revolve(): @@ -96,4 +93,4 @@ def test_poly_revolve(): bm.add_boolean(PrimRevolve("my_pen_revolved", points2d, rev_angle, origin, xdir, normal)) # a.to_stp(test_dir / "penetrations_revolve.stp") - _ = a.to_ifc(test_dir / "penetrations_revolve.ifc", file_obj_only=True) + _ = a.to_ifc(file_obj_only=True) diff --git a/tests/core/api/test_primitives.py b/tests/core/api/test_primitives.py index f57e6552c..15c9613a7 100644 --- a/tests/core/api/test_primitives.py +++ b/tests/core/api/test_primitives.py @@ -1,15 +1,8 @@ -import pytest - import ada -@pytest.fixture -def shape_ifc_test_dir(test_dir): - return test_dir / "shapes" - - -def test_export_primitives(shape_ifc_test_dir): - ifc_file = shape_ifc_test_dir / "world_of_shapes.ifc" +def test_export_primitives(tmp_path): + ifc_file = tmp_path / "world_of_shapes.ifc" a = ada.Assembly("Site") / [ ada.PrimBox("VolBox", (0.2, 0.2, 2), (1.2, 1.2, 4)), @@ -31,10 +24,10 @@ def test_export_primitives(shape_ifc_test_dir): print(b) -def test_sweep_shape(shape_ifc_test_dir): +def test_sweep_shape(): sweep_curve = [(0, 0, 0), (5, 5.0, 0.0, 1), (10, 0, 0)] ot = [(-0.1, -0.1), (0.1, -0.1), (0.1, 0.1), (-0.1, 0.1)] shape = ada.PrimSweep("MyShape", sweep_curve, ot) a = ada.Assembly("SweptShapes", units="m") / [ada.Part("MyPart") / [shape]] - _ = a.to_ifc(shape_ifc_test_dir / "my_swept_shape_m.ifc", file_obj_only=True) + _ = a.to_ifc(file_obj_only=True) diff --git a/tests/core/cache/test_io_cache.py b/tests/core/cache/test_io_cache.py index d1f50b817..84d754651 100644 --- a/tests/core/cache/test_io_cache.py +++ b/tests/core/cache/test_io_cache.py @@ -26,19 +26,19 @@ def cache_validation(a, b): print(b) -def test_simplestru_fem_cache(bm_ipe300): +def test_simplestru_fem_cache(bm_ipe300, tmp_path): model_name = "ParamAssembly" start = time.time() pfem = Part("ParamModel") / bm_ipe300 - a = Assembly(model_name, clear_cache=True, enable_cache=True) / pfem + a = Assembly(model_name, clear_cache=True, enable_cache=True, cache_dir=tmp_path) / pfem pfem.fem = pfem.to_fem_obj(0.1) time1 = time.time() - start a.cache_store.update_cache(a) start = time.time() - b = Assembly(model_name, enable_cache=True) + b = Assembly(model_name, enable_cache=True, cache_dir=tmp_path) time2 = time.time() - start cache_validation(a, b) diff --git a/tests/core/cadit/gxml/test_sesam_write_xml.py b/tests/core/cadit/gxml/test_sesam_write_xml.py index 15908d990..0cb94f329 100644 --- a/tests/core/cadit/gxml/test_sesam_write_xml.py +++ b/tests/core/cadit/gxml/test_sesam_write_xml.py @@ -1,15 +1,15 @@ import ada -def test_roundtrip_xml(fem_files, test_dir): +def test_roundtrip_xml(fem_files, tmp_path): original_xml_file = fem_files / "sesam/xml_all_basic_props.xml" - new_xml = test_dir / "basic_props.xml" + new_xml = tmp_path / "basic_props.xml" a = ada.from_genie_xml(original_xml_file) a.to_genie_xml(new_xml) -def test_create_sesam_xml_from_mixed(mixed_model, test_dir): - xml_file = test_dir / "mixed_xml_model.xml" +def test_create_sesam_xml_from_mixed(mixed_model, tmp_path): + xml_file = tmp_path / "mixed_xml_model.xml" mixed_model.to_genie_xml(xml_file) diff --git a/tests/core/cadit/ifc/read/beams/test_ifc_read_beams.py b/tests/core/cadit/ifc/read/beams/test_ifc_read_beams.py index 76c10fb50..a112f2711 100644 --- a/tests/core/cadit/ifc/read/beams/test_ifc_read_beams.py +++ b/tests/core/cadit/ifc/read/beams/test_ifc_read_beams.py @@ -3,10 +3,10 @@ import ada -def test_read_standard_case_beams(example_files, ifc_test_dir): +def test_read_standard_case_beams(example_files, tmp_path): a = ada.from_ifc(example_files / "ifc_files/beams/beam-standard-case.ifc") - a.to_ifc(ifc_test_dir / "beam-standard-case-re-exported.ifc") + a.to_ifc(tmp_path / "beam-standard-case-re-exported.ifc") p = a.get_by_name("Building") assert len(p.beams) == 18 @@ -24,7 +24,7 @@ def test_read_standard_case_beams(example_files, ifc_test_dir): assert tuple(bm_b1.n2.p) == pytest.approx((2.94, 0.243, 2.046), abs=1e-3) -def test_read_extruded_solid_beams(example_files, ifc_test_dir): +def test_read_extruded_solid_beams(example_files): a = ada.from_ifc(example_files / "ifc_files/beams/beam-extruded-solid.ifc") p = a.get_part("Grasshopper Building") assert len(p.beams) == 1 @@ -34,7 +34,7 @@ def test_read_extruded_solid_beams(example_files, ifc_test_dir): assert tuple(bm.n2.p) == (0.0, 10.0, 0.0) -def test_read_varying_cardinal_points(example_files, ifc_test_dir): +def test_read_varying_cardinal_points(example_files): a = ada.from_ifc(example_files / "ifc_files/beams/beam-varying-cardinal-points.ifc") p = a.get_part("IfcBuilding") assert len(p.beams) == 4 @@ -43,13 +43,13 @@ def test_read_varying_cardinal_points(example_files, ifc_test_dir): # Todo: import and check the cardinal points -def test_read_varying_extrusion_path(example_files, ifc_test_dir): +def test_read_varying_extrusion_path(example_files): a = ada.from_ifc(example_files / "ifc_files/beams/beam-varying-extrusion-paths.ifc") - _ = a.to_ifc(ifc_test_dir / "beam-varying-extrusion-paths.ifc", file_obj_only=True) + _ = a.to_ifc(file_obj_only=True) print(a) -def test_read_revolved_solid(example_files, ifc_test_dir): +def test_read_revolved_solid(example_files): a = ada.from_ifc(example_files / "ifc_files/beams/beam-revolved-solid.ifc") - _ = a.to_ifc(ifc_test_dir / "beam-revolved-solid.ifc", file_obj_only=True) + _ = a.to_ifc(file_obj_only=True) print(a) diff --git a/tests/core/cadit/ifc/read/test_ifc_read_shapes.py b/tests/core/cadit/ifc/read/test_ifc_read_shapes.py index d3975dc27..245990c07 100644 --- a/tests/core/cadit/ifc/read/test_ifc_read_shapes.py +++ b/tests/core/cadit/ifc/read/test_ifc_read_shapes.py @@ -1,6 +1,6 @@ import ada -def test_import_arcboundary(example_files, ifc_test_dir): +def test_import_arcboundary(example_files): a = ada.from_ifc(example_files / "ifc_files/with_arc_boundary.ifc") print(a) diff --git a/tests/core/cadit/ifc/read/test_read_shape_with_transformation.py b/tests/core/cadit/ifc/read/test_read_shape_with_transformation.py index da8370f7e..4fdac4e13 100644 --- a/tests/core/cadit/ifc/read/test_read_shape_with_transformation.py +++ b/tests/core/cadit/ifc/read/test_read_shape_with_transformation.py @@ -1,7 +1,7 @@ import ada -def test_read_shape_w_transformation(example_files, ifc_test_dir): +def test_read_shape_w_transformation(example_files): a = ada.from_ifc(example_files / "ifc_files/mapped_shapes/mapped-shape-with-transformation.ifc") - _ = a.to_ifc(ifc_test_dir / "mapped-shape-with-transformation.ifc", file_obj_only=True) + _ = a.to_ifc(file_obj_only=True) print(a) diff --git a/tests/core/cadit/ifc/roundtripping/test_roundtrip_beam.py b/tests/core/cadit/ifc/roundtripping/test_roundtrip_beam.py index 286ee4f04..28a5d8cc5 100644 --- a/tests/core/cadit/ifc/roundtripping/test_roundtrip_beam.py +++ b/tests/core/cadit/ifc/roundtripping/test_roundtrip_beam.py @@ -1,16 +1,9 @@ -import pytest - import ada -@pytest.fixture -def ifc_roundtrip_test_dir(ifc_test_dir): - return ifc_test_dir / "roundtripping" - - -def test_roundtrip_ipe_beam(bm_ipe300, ifc_roundtrip_test_dir): +def test_roundtrip_ipe_beam(bm_ipe300, tmp_path): sec_o = bm_ipe300.section - ifc_beam_file = ifc_roundtrip_test_dir / "ipe300.ifc" + ifc_beam_file = tmp_path / "ipe300.ifc" fp = (ada.Assembly() / (ada.Part("MyPart") / bm_ipe300)).to_ifc(ifc_beam_file, file_obj_only=True) a = ada.from_ifc(fp) @@ -29,7 +22,7 @@ def test_roundtrip_ipe_beam(bm_ipe300, ifc_roundtrip_test_dir): # a.to_fem("MyFEM_from_ifc_file", "usfos", overwrite=True) -def test_beam_offset(ifc_roundtrip_test_dir): +def test_beam_offset(tmp_path): bm1 = ada.Beam( "bm1", n1=[0, 0, 0], @@ -52,15 +45,15 @@ def test_beam_offset(ifc_roundtrip_test_dir): ) a = ada.Assembly("Toplevel") / [ada.Part("MyPart") / [bm1, bm2]] - _ = a.to_ifc(ifc_roundtrip_test_dir / "beams_offset.ifc", file_obj_only=True) + _ = a.to_ifc(tmp_path / "beams_offset.ifc", file_obj_only=True) -def test_beam_orientation(ifc_roundtrip_test_dir): +def test_beam_orientation(tmp_path): props = dict(n1=[0, 0, 0], n2=[2, 0, 0], sec="HP200x10") bm1 = ada.Beam("bm_up", **props, up=(0, 0, 1)) bm2 = ada.Beam("bm_down", **props, up=(0, 0, -1)) fp = (ada.Assembly("MyAssembly") / (ada.Part("MyPart") / [bm1, bm2])).to_ifc( - ifc_roundtrip_test_dir / "up_down", file_obj_only=True + tmp_path / "up_down", file_obj_only=True ) a = ada.from_ifc(fp) @@ -72,7 +65,7 @@ def test_beam_orientation(ifc_roundtrip_test_dir): assert tuple(bm_d.up) == tuple(bm2.up) -def test_beam_directions(ifc_roundtrip_test_dir): +def test_beam_directions(tmp_path): sec = "HP200x10" beams = [ @@ -82,4 +75,4 @@ def test_beam_directions(ifc_roundtrip_test_dir): ada.Beam("bm_test2Y90", n1=[0, 0, 3], n2=[0, 5, 3], angle=90, sec=sec), ] a = ada.Assembly("AdaRotatedProfiles") / (ada.Part("Part") / beams) - _ = a.to_ifc(ifc_roundtrip_test_dir / "my_angled_profiles.ifc", file_obj_only=True) + _ = a.to_ifc(tmp_path / "my_angled_profiles.ifc", file_obj_only=True) diff --git a/tests/core/cadit/ifc/roundtripping/test_roundtrip_plates.py b/tests/core/cadit/ifc/roundtripping/test_roundtrip_plates.py index 12ad1124c..befb219aa 100644 --- a/tests/core/cadit/ifc/roundtripping/test_roundtrip_plates.py +++ b/tests/core/cadit/ifc/roundtripping/test_roundtrip_plates.py @@ -1,10 +1,10 @@ import ada -def test_roundtrip_plate(ifc_test_dir): +def test_roundtrip_plate(tmp_path): plate = ada.Plate("MyPlate", [(0, 0), (1, 0, 0.2), (1, 1), (0, 1)], 20e-3) - fp = (ada.Assembly() / (ada.Part("MyPart") / plate)).to_ifc(ifc_test_dir / "plate1.ifc", file_obj_only=True) + fp = (ada.Assembly() / (ada.Part("MyPart") / plate)).to_ifc(tmp_path / "plate1.ifc", file_obj_only=True) a = ada.from_ifc(fp) pl: ada.Plate = a.get_by_name("MyPlate") diff --git a/tests/core/cadit/ifc/test_fasteners.py b/tests/core/cadit/ifc/test_fasteners.py index 5742424de..4259189a6 100644 --- a/tests/core/cadit/ifc/test_fasteners.py +++ b/tests/core/cadit/ifc/test_fasteners.py @@ -1,7 +1,7 @@ import ada -def test_butt_weld(): +def test_butt_weld(tmp_path): pl_points = [(0, 0), (1, 0.0), (1, 1), (0, 1)] pl1 = ada.Plate("pl1", pl_points, 0.01) @@ -18,4 +18,4 @@ def test_butt_weld(): wld = ada.Weld("weld1", p1, p2, "V", [pl1, pl2], weld_profile, groove=groove_profile, xdir=xdir) a = ada.Assembly() / (pl1, pl2, wld) - a.to_ifc("temp/welded_plates.ifc", validate=True, file_obj_only=True) + a.to_ifc(tmp_path / "welded_plates.ifc", validate=True, file_obj_only=False) diff --git a/tests/core/cadit/ifc/test_ifc_colours.py b/tests/core/cadit/ifc/test_ifc_colours.py index 10c8ba4f0..b76786b93 100644 --- a/tests/core/cadit/ifc/test_ifc_colours.py +++ b/tests/core/cadit/ifc/test_ifc_colours.py @@ -1,15 +1,8 @@ -import pytest - from ada import Assembly, Beam, Part, User from ada.visit.colors import color_dict -@pytest.fixture -def test_color_ifc(ifc_test_dir): - return ifc_test_dir / "colors" - - -def test_coloured_beams(test_color_ifc): +def test_coloured_beams(): beams = [] a = 0 for color_name, color in color_dict.items(): @@ -19,4 +12,4 @@ def test_coloured_beams(test_color_ifc): a += 1 a = Assembly("SiteTest", project="projA", user=User("krande")) / (Part("TestBldg") / beams) - _ = a.to_ifc(test_color_ifc / "colours.ifc", file_obj_only=True) + _ = a.to_ifc(file_obj_only=True) diff --git a/tests/core/cadit/ifc/test_ifc_spatial_containers.py b/tests/core/cadit/ifc/test_ifc_spatial_containers.py index 6996df7d7..863eff18c 100644 --- a/tests/core/cadit/ifc/test_ifc_spatial_containers.py +++ b/tests/core/cadit/ifc/test_ifc_spatial_containers.py @@ -2,8 +2,8 @@ from ada.base.ifc_types import SpatialTypes -def test_all_spatial_containers(): +def test_all_spatial_containers(tmp_path): for spatial_class in SpatialTypes: (ada.Assembly() / ada.Part(f"Spatial{spatial_class}", ifc_class=spatial_class)).to_ifc( - file_obj_only=True, validate=True + destination=tmp_path / f"{spatial_class}.ifc", file_obj_only=False, validate=True ) diff --git a/tests/core/cadit/ifc/test_instancing.py b/tests/core/cadit/ifc/test_instancing.py index cebdc26dc..652c0dd85 100644 --- a/tests/core/cadit/ifc/test_instancing.py +++ b/tests/core/cadit/ifc/test_instancing.py @@ -1,15 +1,9 @@ import numpy as np -import pytest import ada -@pytest.fixture -def test_instancing_dir(ifc_test_dir): - return ifc_test_dir / "instancing" - - -def test_ifc_instancing(test_instancing_dir): +def test_ifc_instancing(): a = ada.Assembly("my_test_assembly") p = ada.Part("MyBoxes") box = p.add_shape(ada.PrimBox("Cube_original", (0, 0, 0), (1, 1, 1))) @@ -19,4 +13,4 @@ def test_ifc_instancing(test_instancing_dir): origin = np.array([x, y, z]) * 1.1 + box.placement.origin p.add_instance(box, ada.Placement(origin)) - _ = (a / p).to_ifc(test_instancing_dir / "my_test.ifc", file_obj_only=True) + _ = (a / p).to_ifc(file_obj_only=True) diff --git a/tests/core/cadit/ifc/test_roundtripping.py b/tests/core/cadit/ifc/test_roundtripping.py index 36082191f..323392f25 100644 --- a/tests/core/cadit/ifc/test_roundtripping.py +++ b/tests/core/cadit/ifc/test_roundtripping.py @@ -1,31 +1,24 @@ -import pytest - import ada from ada import Assembly, Part, Pipe, Section, Wall from ada.param_models.basic_module import SimpleStru from ada.param_models.basic_structural_components import Door, Window -@pytest.fixture -def ifc_basics_test_dir(test_dir): - return test_dir / "ifc_basics" - - -def test_ifc_roundtrip(ifc_basics_test_dir): +def test_ifc_roundtrip(): a = ada.Assembly("my_test_assembly") / SimpleStru("my_simple_stru") - fp = a.to_ifc(ifc_basics_test_dir / "my_test.ifc", file_obj_only=True) + fp = a.to_ifc(file_obj_only=True) b = ada.from_ifc(fp) - _ = b.to_ifc(ifc_basics_test_dir / "my_test_re_exported.ifc", file_obj_only=True) + _ = b.to_ifc(file_obj_only=True) all_parts = b.get_all_parts_in_assembly() assert len(all_parts) == 3 -def test_ifc_external_elements_import(ifc_basics_test_dir): +def test_ifc_external_elements_import(): # Model to be re-imported a0 = Assembly("my_test_assembly") / SimpleStru("my_simple_stru") - fp = a0.to_ifc(ifc_basics_test_dir / "my_exported_param_model.ifc", file_obj_only=True) + fp = a0.to_ifc(file_obj_only=True) points = [(0, 0, 0), (5, 0, 0), (5, 5, 0)] w = Wall("MyWall", points, 3, 0.15, offset="LEFT") @@ -58,4 +51,4 @@ def test_ifc_external_elements_import(ifc_basics_test_dir): ) p.add_pipe(pipe1) - _ = a.to_ifc(ifc_basics_test_dir / "my_reimport_of_elements.ifc", file_obj_only=True) + _ = a.to_ifc(file_obj_only=True) diff --git a/tests/core/cadit/ifc/write/test_export_ifc_plates.py b/tests/core/cadit/ifc/write/test_export_ifc_plates.py index 9d208e971..834864d8f 100644 --- a/tests/core/cadit/ifc/write/test_export_ifc_plates.py +++ b/tests/core/cadit/ifc/write/test_export_ifc_plates.py @@ -1,5 +1,5 @@ import ada -def test_export_ifc_plate(plate1, ifc_test_dir): - _ = (ada.Assembly() / (ada.Part("MyPart") / plate1)).to_ifc(ifc_test_dir / "exported_plate.ifc", file_obj_only=True) +def test_export_ifc_plate(plate1): + _ = (ada.Assembly() / (ada.Part("MyPart") / plate1)).to_ifc(file_obj_only=True) diff --git a/tests/core/cadit/ifc/write/test_ifc_write.py b/tests/core/cadit/ifc/write/test_ifc_write.py index 1fdcb7b3c..4fd2965ed 100644 --- a/tests/core/cadit/ifc/write/test_ifc_write.py +++ b/tests/core/cadit/ifc/write/test_ifc_write.py @@ -1,19 +1,20 @@ from ada import Assembly, Beam, Part, Plate, Section, User -def test_export_basic(ifc_test_dir): +def test_export_basic(tmp_path): bm = Beam( "MyBeam", (0, 0, 0), (2, 0, 0), Section("MySec", from_str="BG300x200x10x20"), + mat="S420", metadata=dict(hidden=True), ) - bm1 = Beam("bm1", n1=[0, 0, 0], n2=[2, 0, 0], sec="IPE220", color="red") - bm2 = Beam("bm2", n1=[0, 0, 0], n2=[0, 2, 0], sec="IPE220", color="blue") - bm3 = Beam("bm3", n1=[0, 0, 0], n2=[0, 0, 2], sec="IPE220", color="green") - bm4 = Beam("bm4", n1=[0, 0, 0], n2=[2, 0, 2], sec="IPE220", color="gray") - bm5 = Beam("bm5", n1=[0, 0, 2], n2=[2, 0, 2], sec="IPE220", color="white") + bm1 = Beam("bm1", n1=[0, 0, 0], n2=[2, 0, 0], sec="IPE220", color="red", mat="S355") + bm2 = Beam("bm2", n1=[0, 0, 0], n2=[0, 2, 0], sec="IPE220", color="blue", mat="S355") + bm3 = Beam("bm3", n1=[0, 0, 0], n2=[0, 0, 2], sec="IPE220", color="green", mat="S355") + bm4 = Beam("bm4", n1=[0, 0, 0], n2=[2, 0, 2], sec="IPE220", color="gray", mat="S420") + bm5 = Beam("bm5", n1=[0, 0, 2], n2=[2, 0, 2], sec="IPE220", color="white", mat="S420") user = User(user_id="krande", org_id="ADA", org_name="Assembly Test") pl1 = Plate.from_3d_points("pl1", [(0, 0, 0), (0, 0, 2), (0, 2, 2), (0, 2.0, 0.0)], 0.01) @@ -22,10 +23,15 @@ def test_export_basic(ifc_test_dir): Part("MyBldg", metadata=dict(ifctype="building")) / [bm, bm1, bm2, bm3, bm4, bm5, pl1] ) - a.to_ifc(ifc_test_dir / "my_test.ifc", file_obj_only=True) + ifc_obj = a.to_ifc(tmp_path / "my_test.ifc", file_obj_only=False) + assert ifc_obj -def test_ifc_groups(ifc_test_dir): + result = ifc_obj.by_type("IFCMATERIALPROPERTIES") + assert len(result) == 2 + + +def test_ifc_groups(): a = Assembly("MySiteName", project="MyTestProject") p = Part( "MyTopSpatialLevel", @@ -49,10 +55,10 @@ def test_ifc_groups(ifc_test_dir): newp2.add_plate(Plate.from_3d_points("pl1", [(0, 0, 0), (0, 0, 2), (0, 2, 2), (0, 2.0, 0.0)], 0.01)) newp.add_part(newp2) - _ = a.to_ifc(ifc_test_dir / "my_test_groups.ifc", file_obj_only=True) + _ = a.to_ifc(file_obj_only=True) -def test_profiles_to_ifc(ifc_test_dir): +def test_profiles_to_ifc(): a = Assembly("MyAssembly") p = Part("MyPart") p.add_beam(Beam("bm1", n1=[0, 0, 0], n2=[2, 0, 0], sec="IPE220", color="red")) @@ -61,4 +67,4 @@ def test_profiles_to_ifc(ifc_test_dir): p.add_beam(Beam("bm4", n1=[0, 0, 3], n2=[2, 0, 3], sec="CIRC200", color="green")) p.add_beam(Beam("bm5", n1=[0, 0, 4], n2=[2, 0, 4], sec="TUB200x10", color="green")) a.add_part(p) - _ = a.to_ifc(ifc_test_dir / "my_beam_profiles.ifc", file_obj_only=True) + _ = a.to_ifc(file_obj_only=True) diff --git a/tests/core/cadit/ifc/write/test_ifc_write_layers.py b/tests/core/cadit/ifc/write/test_ifc_write_layers.py index c53e7142e..2751947c3 100644 --- a/tests/core/cadit/ifc/write/test_ifc_write_layers.py +++ b/tests/core/cadit/ifc/write/test_ifc_write_layers.py @@ -52,8 +52,7 @@ def test_export_layers(): p = Part("MyBldg") a = Assembly("MySite", project="MyLayersProject") / (p / [bm, pl1, pl2, pl3, pl4]) - ifc_name = "MyLayerTest.ifc" - fp = a.to_ifc(test_dir / ifc_name, file_obj_only=True) + fp = a.to_ifc(file_obj_only=True) print(a) b = ada.from_ifc(fp) print(b) diff --git a/tests/core/cadit/sat/test_read_curved_plate_def.py b/tests/core/cadit/sat/test_read_curved_plate_def.py index a8b3b317a..266f79114 100644 --- a/tests/core/cadit/sat/test_read_curved_plate_def.py +++ b/tests/core/cadit/sat/test_read_curved_plate_def.py @@ -4,7 +4,7 @@ from ada.cadit.sat.store import SatReaderFactory -def test_read_a_curved_plate(example_files): +def test_read_a_curved_plate(example_files, tmp_path): sat_reader = SatReaderFactory(example_files / "sat_files/curved_plate.sat") bsplines = list(sat_reader.iter_bspline_objects()) assert len(bsplines) == 1 @@ -14,4 +14,4 @@ def test_read_a_curved_plate(example_files): # https://standards.buildingsmart.org/IFC/RELEASE/IFC4_1/FINAL/HTML/schema/ifcgeometryresource/lexical/ifcrationalbsplinesurfacewithknots.htm # ifc.add(ifc.create_entity('IfcRationalBSplineSurfaceWithKnots', ...)) os.makedirs("temp", exist_ok=True) - ifc_store.save_to_file("temp/curved_plate.ifc") + ifc_store.save_to_file(tmp_path / "curved_plate.ifc") diff --git a/tests/core/cadit/step/write/test_write_step.py b/tests/core/cadit/step/write/test_write_step.py index 0ea058d9a..0e600189a 100644 --- a/tests/core/cadit/step/write/test_write_step.py +++ b/tests/core/cadit/step/write/test_write_step.py @@ -1,25 +1,18 @@ -import pytest - import ada from ada import Beam, CurvePoly2d, Section -@pytest.fixture -def test_step_dir(test_dir): - return test_dir / "step_basics" - - -def test_simple_beam(test_step_dir): +def test_simple_beam(tmp_path): bm = Beam("MyBeam", (0, 0, 0), (1, 0, 0), Section("mysec", from_str="HP200x10")) - bm.to_stp(test_step_dir / "MySimpleBeam.stp") + bm.to_stp(tmp_path / "MySimpleBeam.stp") -def test_advanced_beam(test_step_dir): +def test_advanced_beam(tmp_path): poly = CurvePoly2d([(0, 0), (0.1, 0, 0.01), (0.1, 0.1, 0.01), (0, 0.1)], (0, 0, 0), (1, 0, 0), (0, 1, 0)) bm = Beam("MyBeam", (0, 0, 0), (1, 0, 0), Section("MySec", outer_poly=poly)) - bm.to_stp(test_step_dir / "MySimpleBeamPoly.stp") + bm.to_stp(tmp_path / "MySimpleBeamPoly.stp") -def test_plate1_w_hole(test_step_dir, plate1): +def test_plate1_w_hole(tmp_path, plate1): plate1.add_boolean(ada.PrimCyl("MyPen", (0.5, 0.5, -0.2), (0.5, 0.5, 0.2), 0.2)) - plate1.to_stp(test_step_dir / "MyPlateWithHole.stp") + plate1.to_stp(tmp_path / "MyPlateWithHole.stp") diff --git a/tests/core/connections/conftest.py b/tests/core/connections/conftest.py deleted file mode 100644 index ed21083f6..000000000 --- a/tests/core/connections/conftest.py +++ /dev/null @@ -1,8 +0,0 @@ -import pytest - -import ada - - -@pytest.fixture -def joints_test_dir(): - return ada.config.Settings.test_dir / "joints" diff --git a/tests/core/connections/test_joints.py b/tests/core/connections/test_joints.py index cc4be38d2..9580c0243 100644 --- a/tests/core/connections/test_joints.py +++ b/tests/core/connections/test_joints.py @@ -25,30 +25,30 @@ def bm3(): return Beam("Ymem", (1, 0, 0), (1, 2, 0), "IPE300") -def test_ipe_x2_90deg_Z(bm1, bm2, joints_test_dir): +def test_ipe_x2_90deg_Z(bm1, bm2, tmp_path): a = Assembly("IPE") / [bm1, bm2] a.connections.find(joint_func=joint_map) - _ = a.to_ifc(joints_test_dir / "ipe_x2_90deg_Z.ifc", file_obj_only=True) + _ = a.to_ifc(tmp_path / "ipe_x2_90deg_Z.ifc", file_obj_only=True) -def test_ipe_x2_45deg_Z(bm1, bm2_1, joints_test_dir): +def test_ipe_x2_45deg_Z(bm1, bm2_1, tmp_path): a = Assembly("IPE") / [bm1, bm2_1] a.connections.find(joint_func=joint_map) - _ = a.to_ifc(joints_test_dir / "ipe_x2_45deg_Z.ifc", file_obj_only=True) + _ = a.to_ifc(tmp_path / "ipe_x2_45deg_Z.ifc", file_obj_only=True) -def test_ipe_x2_90deg_Y(bm1, bm3, joints_test_dir): +def test_ipe_x2_90deg_Y(bm1, bm3, tmp_path): a = Assembly("IPE") / [bm1, bm3] a.connections.find(joint_func=joint_map) - _ = a.to_ifc(joints_test_dir / "ipe_x2_90deg_Y.ifc", file_obj_only=True) + _ = a.to_ifc(tmp_path / "ipe_x2_90deg_Y.ifc", file_obj_only=True) # TODO: Fix cause behind this test case no longer producing a correct result -def test_joint_auto_map_param(joints_test_dir): +def test_joint_auto_map_param(tmp_path): a = Assembly() / SimpleStru("MySimpleStru") - _ = a.to_ifc(joints_test_dir / "simplestru_no_joints.ifc", file_obj_only=True) + _ = a.to_ifc(tmp_path / "simplestru_no_joints.ifc", file_obj_only=True) a.connections.find(joint_func=joint_map) - a.to_ifc(joints_test_dir / "simplestru_joints_b.ifc", file_obj_only=True) + a.to_ifc(tmp_path / "simplestru_joints_b.ifc", file_obj_only=True) diff --git a/tests/core/fem/formats/abaqus/test_io_fem_abaqus.py b/tests/core/fem/formats/abaqus/test_io_fem_abaqus.py index c4f01bbe8..d955cab68 100644 --- a/tests/core/fem/formats/abaqus/test_io_fem_abaqus.py +++ b/tests/core/fem/formats/abaqus/test_io_fem_abaqus.py @@ -1,4 +1,5 @@ from ada.fem.formats.abaqus.read import cards +from ada.fem.formats.abaqus.read.read_sections import conn_from_groupdict def test_consec(consec): @@ -22,9 +23,17 @@ def test_consec(consec): def test_conn_beha(conbeh): - for m in cards.connector_behaviour.regex.finditer(conbeh): - _ = m.groupdict() - # print(_) + results = list(cards.connector_behaviour.regex.finditer(conbeh)) + assert len(results) == 1 + + result = results[0] + gd = result.groupdict() + assert gd["name"] == "ConnProp-1_VISC_DAMPER_ELEM" + assert gd["component"] == "1" + + conn = conn_from_groupdict(gd, None) + assert conn.name == "ConnProp-1_VISC_DAMPER_ELEM" + assert len(conn.elastic_comp) == 1 def test_shell2solid(shell2solids): diff --git a/tests/core/fem/formats/calculix/test_io_fem_calculix.py b/tests/core/fem/formats/calculix/test_io_fem_calculix.py index f9a048d56..cdce6c7d9 100644 --- a/tests/core/fem/formats/calculix/test_io_fem_calculix.py +++ b/tests/core/fem/formats/calculix/test_io_fem_calculix.py @@ -1,14 +1,7 @@ -import pytest - from ada import Assembly from ada.fem import LoadGravity, StepImplicitStatic -@pytest.fixture -def test_calculix_dir(test_dir): - return test_dir / "calculix" - - def test_read_C3D20(example_files): a = Assembly() a.read_fem(example_files / "fem_files/calculix/contact2e.inp") @@ -17,11 +10,11 @@ def test_read_C3D20(example_files): assert vol == (0.49999999627471, 1.2499999925494, 3.9999999701977) -def test_write_test_model(test_shell_beam, test_calculix_dir): +def test_write_test_model(test_shell_beam, tmp_path): a = test_shell_beam my_step = StepImplicitStatic("static", total_time=1, max_incr=1, init_incr=1, nl_geom=True) my_step.add_load(LoadGravity("Gravity")) a.fem.add_step(my_step) - a.to_fem("my_calculix", fem_format="calculix", overwrite=True, scratch_dir=test_calculix_dir) + a.to_fem("my_calculix", fem_format="calculix", overwrite=True, scratch_dir=tmp_path) diff --git a/tests/core/fem/formats/code_aster/test_io_fem_code_aster.py b/tests/core/fem/formats/code_aster/test_io_fem_code_aster.py index 2fc4ff1f3..f34899dac 100644 --- a/tests/core/fem/formats/code_aster/test_io_fem_code_aster.py +++ b/tests/core/fem/formats/code_aster/test_io_fem_code_aster.py @@ -6,18 +6,13 @@ from ada.param_models.fem_models import beam_ex1 -@pytest.fixture -def code_aster_test_dir(test_dir): - return test_dir / "code_aster" - - -def test_read_write_cylinder(example_files, code_aster_test_dir): +def test_read_write_cylinder(example_files, tmp_path): name = "cylinder" a = ada.from_fem(example_files / "fem_files/code_aster/cylinder.med", "code_aster", name="cylinder_rewritten") - a.to_fem(name, "code_aster", overwrite=True, scratch_dir=code_aster_test_dir) + a.to_fem(name, "code_aster", overwrite=True, scratch_dir=tmp_path) - b = ada.from_fem((code_aster_test_dir / name / name).with_suffix(".med"), fem_format="code_aster") + b = ada.from_fem((tmp_path / name / name).with_suffix(".med"), fem_format="code_aster") p_a = a.parts["cylinder_rewritten"] p_b = b.parts["cylinder"] @@ -25,13 +20,13 @@ def test_read_write_cylinder(example_files, code_aster_test_dir): compare_fem_objects(p_a.fem, p_b.fem) -def test_read_write_box(example_files, code_aster_test_dir): +def test_read_write_box(example_files, tmp_path): name = "box" a = ada.from_fem(example_files / "fem_files/code_aster/box.med", "code_aster", name="box") - a.to_fem(name, "code_aster", overwrite=True, scratch_dir=code_aster_test_dir) + a.to_fem(name, "code_aster", overwrite=True, scratch_dir=tmp_path) - b = ada.from_fem((code_aster_test_dir / name / name).with_suffix(".med"), fem_format="code_aster") + b = ada.from_fem((tmp_path / name / name).with_suffix(".med"), fem_format="code_aster") p_a = a.parts["box"] p_b = b.parts["box"] @@ -39,13 +34,13 @@ def test_read_write_box(example_files, code_aster_test_dir): compare_fem_objects(p_a.fem, p_b.fem) -def test_read_write_portal_frame(example_files, code_aster_test_dir): +def test_read_write_portal_frame(example_files, tmp_path): name = "portal" a = ada.from_fem(example_files / "fem_files/code_aster/portal_01.med", "code_aster", name=name) - a.to_fem(name, "code_aster", overwrite=True, scratch_dir=code_aster_test_dir) + a.to_fem(name, "code_aster", overwrite=True, scratch_dir=tmp_path) - b = ada.from_fem((code_aster_test_dir / name / name).with_suffix(".med"), fem_format="code_aster") + b = ada.from_fem((tmp_path / name / name).with_suffix(".med"), fem_format="code_aster") p_a = a.parts[name] p_b = b.parts[name] @@ -54,13 +49,13 @@ def test_read_write_portal_frame(example_files, code_aster_test_dir): @pytest.mark.parametrize("geom_repr", ["solid", "shell", "line"]) -def test_roundtrip_cantilever(code_aster_test_dir, geom_repr): +def test_roundtrip_cantilever(tmp_path, geom_repr): name = f"cantilever_code_aster_{geom_repr}" a = beam_ex1(geom_repr=geom_repr) - a.to_fem(name, fem_format="code_aster", overwrite=True, scratch_dir=code_aster_test_dir) - b = ada.from_fem((code_aster_test_dir / name / name).with_suffix(".med"), fem_format="code_aster") + a.to_fem(name, fem_format="code_aster", overwrite=True, scratch_dir=tmp_path) + b = ada.from_fem((tmp_path / name / name).with_suffix(".med"), fem_format="code_aster") p_a = a.parts["MyPart"] p_b = b.parts[name] diff --git a/tests/core/fem/formats/meshio/test_io_fem_meshio.py b/tests/core/fem/formats/meshio/test_io_fem_meshio.py index d34b34cc8..b7ae885ad 100644 --- a/tests/core/fem/formats/meshio/test_io_fem_meshio.py +++ b/tests/core/fem/formats/meshio/test_io_fem_meshio.py @@ -1,21 +1,14 @@ -import pytest - import ada -@pytest.fixture -def test_meshio_dir(test_dir): - return test_dir / "meshio" - - -def test_read_write_code_aster_to_xdmf(example_files, test_meshio_dir): +def test_read_write_code_aster_to_xdmf(example_files, tmp_path): a = ada.from_fem(example_files / "fem_files/code_aster/box.med", fem_converter="meshio") - a.to_fem("box_xdmf", fem_format="xdmf", fem_converter="meshio", overwrite=True, scratch_dir=test_meshio_dir) + a.to_fem("box_xdmf", fem_format="xdmf", fem_converter="meshio", overwrite=True, scratch_dir=tmp_path) -def test_read_write_code_aster_to_abaqus(example_files, test_meshio_dir): +def test_read_write_code_aster_to_abaqus(example_files, tmp_path): a = ada.from_fem(example_files / "fem_files/code_aster/box.med", fem_converter="meshio") - a.to_fem("box_abaqus", fem_format="abaqus", fem_converter="meshio", overwrite=True, scratch_dir=test_meshio_dir) + a.to_fem("box_abaqus", fem_format="abaqus", fem_converter="meshio", overwrite=True, scratch_dir=tmp_path) def test_read_C3D20(example_files): diff --git a/tests/core/fem/formats/vtu/test_vtu_write.py b/tests/core/fem/formats/vtu/test_vtu_write.py index 0ade11ce9..4b4e8ca7b 100644 --- a/tests/core/fem/formats/vtu/test_vtu_write.py +++ b/tests/core/fem/formats/vtu/test_vtu_write.py @@ -6,7 +6,7 @@ from ada.fem.shapes.definitions import LineShapes, ShellShapes -def test_basic_vtu_write(): +def test_basic_vtu_write(tmp_path): # Sample usage elem_info = ElementInfo(type=ShellShapes.TRI, source_software=FEATypes.CODE_ASTER, source_type="ELGA3") element_block = ElementBlock( @@ -22,10 +22,10 @@ def test_basic_vtu_write(): point_data = {"Temperature": np.array([30.5, 32.5, 34.0, 36.0], dtype=np.float32)} cell_data = {"Stress": np.array([1.0, 2.0], dtype=np.float32)} - write_to_vtu_file(fem_nodes, [element_block], point_data, cell_data, "temp/vtu/basic_mesh.vtu") + write_to_vtu_file(fem_nodes, [element_block], point_data, cell_data, tmp_path / "basic_mesh.vtu") -def test_mixed_mesh(): +def test_mixed_mesh(tmp_path): # Sample usage element_blocks = [ ElementBlock( @@ -47,4 +47,4 @@ def test_mixed_mesh(): point_data = {"Temperature": np.array([30.5, 32.5, 34.0, 36.0], dtype=np.float32)} cell_data = {"Stress": np.array([1.0, 2.0, 0.5, 0.8], dtype=np.float32)} - write_to_vtu_file(fem_nodes, element_blocks, point_data, cell_data, "temp/vtu/mixed_mesh.vtu") + write_to_vtu_file(fem_nodes, element_blocks, point_data, cell_data, tmp_path / "mixed_mesh.vtu") diff --git a/tests/core/fem/meshing/conftest.py b/tests/core/fem/meshing/conftest.py index 49099c428..a12a43c91 100644 --- a/tests/core/fem/meshing/conftest.py +++ b/tests/core/fem/meshing/conftest.py @@ -3,11 +3,6 @@ import ada -@pytest.fixture -def test_meshing_dir(test_dir): - return test_dir / "meshing" - - @pytest.fixture def pl1(): place1 = dict(origin=(0, 0, 0), xdir=(1, 0, 0), n=(0, 0, 1)) diff --git a/tests/core/fem/meshing/test_mesh_combined_fem.py b/tests/core/fem/meshing/test_mesh_combined_fem.py index 7a0552320..f26c23c66 100644 --- a/tests/core/fem/meshing/test_mesh_combined_fem.py +++ b/tests/core/fem/meshing/test_mesh_combined_fem.py @@ -4,7 +4,7 @@ from ada.core.alignment_utils import align_to_plate -def test_plate_mesh_from_2_fem(pl1, pl2, test_dir): +def test_plate_mesh_from_2_fem(pl1, pl2, tmp_path): points = [(1, 1, 0.2), (2, 1, 0.2), (2, 2, 0.2), (1, 2, 0.2)] pl1.color.opacity = 0.5 pl2.color.opacity = 0.5 @@ -23,10 +23,10 @@ def test_plate_mesh_from_2_fem(pl1, pl2, test_dir): el_types = {el_type.value: list(group) for el_type, group in p.fem.elements.group_by_type()} - # a.to_ifc(test_dir / "ADA_pl_w_holes_mesh.ifc", include_fem=False) - # a.to_gltf(test_dir / "ADA_pl_w_holes_mesh.glb") - # a.to_stp(test_dir / "ADA_pl_w_holes_mesh.step") - # a.to_fem("ADA_pl_mesh", "code_aster", scratch_dir=test_dir, overwrite=True) + # a.to_ifc(tmp_path / "ADA_pl_w_holes_mesh.ifc", include_fem=False) + # a.to_gltf(tmp_path / "ADA_pl_w_holes_mesh.glb") + # a.to_stp(tmp_path / "ADA_pl_w_holes_mesh.step") + # a.to_fem("ADA_pl_mesh", "code_aster", scratch_dir=tmp_path, overwrite=True) assert len(el_types.keys()) == 1 assert len(el_types["TRIANGLE"]) == pytest.approx(276, abs=15) diff --git a/tests/core/fem/meshing/test_mesh_intersecting_edges.py b/tests/core/fem/meshing/test_mesh_intersecting_edges.py index 949f7ba0c..1501de975 100644 --- a/tests/core/fem/meshing/test_mesh_intersecting_edges.py +++ b/tests/core/fem/meshing/test_mesh_intersecting_edges.py @@ -5,7 +5,7 @@ from ada.fem.shapes.definitions import LineShapes -def test_edges_intersect(test_meshing_dir): +def test_edges_intersect(tmp_path): bm_name = Counter(1, "bm") pl = ada.Plate("pl1", [(0, 0), (1, 0), (1, 1), (0, 1)], 10e-3) points = pl.poly.points3d @@ -31,8 +31,8 @@ def test_edges_intersect(test_meshing_dir): n = p.fem.nodes.get_by_volume(p=(0.5, 0.5, 0))[0] assert len(list(filter(lambda x: x.type == LineShapes.LINE, n.refs))) == 4 - # a.to_fem("MyIntersectingedge_ufo", "usfos", overwrite=True, scratch_dir=test_meshing_dir) - # a.to_ifc(test_meshing_dir / "IntersectingFEM", include_fem=False) + # a.to_fem("MyIntersectingedge_ufo", "usfos", overwrite=True, scratch_dir=tmp_path) + # a.to_ifc(tmp_path / "IntersectingFEM", include_fem=False) def test_crossing_free_beams(): diff --git a/tests/core/fem/meshing/test_mesh_mixed_geom_repr.py b/tests/core/fem/meshing/test_mesh_mixed_geom_repr.py index 33d117bb2..4a5af5ba0 100644 --- a/tests/core/fem/meshing/test_mesh_mixed_geom_repr.py +++ b/tests/core/fem/meshing/test_mesh_mixed_geom_repr.py @@ -27,7 +27,7 @@ def assembly() -> Assembly: return Assembly() / (Part("MyFemObjects") / [bm1, bm2, bm3, pl1, shp1, pipe]) -def test_mix_geom_repr_in_same_session(assembly, test_dir): +def test_mix_geom_repr_in_same_session(assembly, tmp_path): shape = ada.fem.shapes.ElemShape.TYPES bm1 = assembly.get_by_name("bm1") bm2 = assembly.get_by_name("bm2") @@ -59,8 +59,8 @@ def test_mix_geom_repr_in_same_session(assembly, test_dir): p.fem = gs.get_fem() # print(p.fem.elements) - # assembly.to_stp(test_dir / "test_mix_geom_repr_in_same_session.stp") - # assembly.to_ifc(test_dir / "test_mix_geom_repr_in_same_session.ifc") + # assembly.to_stp(tmp_path / "test_mix_geom_repr_in_same_session.stp") + # assembly.to_ifc(tmp_path / "test_mix_geom_repr_in_same_session.ifc") # assembly.to_fem("test_mix_geom_repr_in_same_session", "abaqus", overwrite=True) map_assert = {shape.lines.LINE3: 9, shape.solids.TETRA10: 5310, shape.shell.TRI6: 840} @@ -76,7 +76,7 @@ def test_mix_geom_repr_in_same_session(assembly, test_dir): assert map_assert[key] == num_el -def test_diff_geom_repr_in_separate_sessions(assembly, test_meshing_dir): +def test_diff_geom_repr_in_separate_sessions(assembly): shape = ada.fem.shapes.ElemShape.TYPES bm1 = assembly.get_by_name("bm1") bm2 = assembly.get_by_name("bm2") diff --git a/tests/core/fem/meshing/test_mesh_shell_quad.py b/tests/core/fem/meshing/test_mesh_shell_quad.py index 4180cff60..f6895959d 100644 --- a/tests/core/fem/meshing/test_mesh_shell_quad.py +++ b/tests/core/fem/meshing/test_mesh_shell_quad.py @@ -9,7 +9,7 @@ def plate() -> ada.Plate: return ada.Plate("pl1", [(0, 0), (1, 0), (1, 1), (0, 1)], 10e-3) -def test_quad_meshed_plate(plate, test_meshing_dir): +def test_quad_meshed_plate(plate): with GmshSession(silent=True) as gs: gs.add_obj(plate, "shell") gs.mesh(0.1, use_quads=True) @@ -26,7 +26,7 @@ def test_quad_meshed_plate(plate, test_meshing_dir): # ) -def test_quad_quadratic_meshed_plate(plate, test_meshing_dir): +def test_quad_quadratic_meshed_plate(plate): with GmshSession(silent=True, options=GmshOptions(Mesh_ElementOrder=2)) as gs: gs.add_obj(plate, "shell") gs.mesh(0.1, use_quads=True) @@ -44,7 +44,7 @@ def test_quad_quadratic_meshed_plate(plate, test_meshing_dir): # ) -def test_quad_meshed_beam(test_meshing_dir): +def test_quad_meshed_beam(): bm = ada.Beam("pl1", (0, 0, 0), (1, 0, 0), "IPE400") with GmshSession(silent=True) as gs: @@ -62,7 +62,7 @@ def test_quad_meshed_beam(test_meshing_dir): # ) -def test_quad_meshed_plate_with_hole(test_meshing_dir): +def test_quad_meshed_plate_with_hole(): pl = ada.Plate("pl1", [(0, 0), (1, 0), (1, 1), (0, 1)], 10e-3) pl.add_boolean(ada.PrimCyl("Mycyl", (0.5, 0.5, -0.5), (0.5, 0.5, 0.5), 0.2)) diff --git a/tests/core/fem/meshing/test_mesh_shell_triangle.py b/tests/core/fem/meshing/test_mesh_shell_triangle.py index 46d71101b..6f8aa1874 100644 --- a/tests/core/fem/meshing/test_mesh_shell_triangle.py +++ b/tests/core/fem/meshing/test_mesh_shell_triangle.py @@ -3,7 +3,7 @@ import ada -def test_basic_plate(pl1, test_meshing_dir): +def test_basic_plate(pl1): p = ada.Part("MyFem") / pl1 p.fem = pl1.to_fem_obj(5, "shell") diff --git a/tests/core/fem/meshing/test_mesh_solid_hex.py b/tests/core/fem/meshing/test_mesh_solid_hex.py index a9b79b9bb..e05e725ba 100644 --- a/tests/core/fem/meshing/test_mesh_solid_hex.py +++ b/tests/core/fem/meshing/test_mesh_solid_hex.py @@ -16,7 +16,7 @@ def test_hex_element(): # ada.Assembly("Assembly") / (ada.Part("BoxP", fem=fem) / box).to_gltf("temp/Box.glb") -def test_hex_meshed_plate(test_meshing_dir): +def test_hex_meshed_plate(): pl = ada.Plate("pl1", [(0, 0), (1, 0), (1, 1), (0, 1)], 10e-3) with GmshSession(silent=True) as gs: @@ -37,7 +37,7 @@ def test_hex_meshed_plate(test_meshing_dir): # ) -def test_hex_meshed_beam(test_meshing_dir): +def test_hex_meshed_beam(): bm = ada.Beam("bm1", (0, 0, 0), (1, 0, 0), "IPE400") with GmshSession(silent=True) as gs: @@ -55,7 +55,7 @@ def test_hex_meshed_beam(test_meshing_dir): assert len(el_types["HEXAHEDRON"]) == 140 -def test_hex20_meshed_beam(test_meshing_dir): +def test_hex20_meshed_beam(): bm = ada.Beam("bm1", (0, 0, 0), (1, 0, 0), "IPE400") with GmshSession(silent=True, options=GmshOptions(Mesh_ElementOrder=2)) as gs: diff --git a/tests/core/fem/meshing/test_mesh_solid_tetrahedron.py b/tests/core/fem/meshing/test_mesh_solid_tetrahedron.py index 9c0ee87e5..dded09ea8 100644 --- a/tests/core/fem/meshing/test_mesh_solid_tetrahedron.py +++ b/tests/core/fem/meshing/test_mesh_solid_tetrahedron.py @@ -34,7 +34,7 @@ def test_beam_tet_mesh_pass(): # (ada.Assembly("Test") / p).to_fem("test", "abaqus", execute=True) -def test_beam_mesh_with_hole(test_meshing_dir): +def test_beam_mesh_with_hole(): bm = ada.Beam("bm1", n1=[0, 0, 0], n2=[1, 0, 0], sec="IPE220") p = ada.Part("MyFem") / bm bm.add_boolean(ada.PrimCyl("Cylinder", (0.5, -0.5, 0), (0.5, 0.5, 0), 0.05)) diff --git a/tests/core/fem/test_elem_to_concept.py b/tests/core/fem/test_elem_to_concept.py index bd356ce4e..f01ed2e19 100644 --- a/tests/core/fem/test_elem_to_concept.py +++ b/tests/core/fem/test_elem_to_concept.py @@ -3,8 +3,6 @@ import ada from ada import Node -test_dir = ada.config.Settings.test_dir / "fem_to_concepts" - def create_shell_elem(el_id: int, nodes: List[Node], fem: ada.FEM): for n in nodes: @@ -56,6 +54,3 @@ def test_shell_elem_to_plate(): assert tuple(pl.poly.seg_global_points[1]) == tuple(nodes_eval[0].p) assert tuple(pl.poly.seg_global_points[2]) == tuple(nodes_eval[1].p) assert tuple(pl.poly.seg_global_points[3]) == tuple(nodes_eval[2].p) - - # a.to_ifc(test_dir / "Shell2Plate") - # a.to_fem("MyTest", "abaqus", overwrite=True) diff --git a/tests/core/fem/test_hinges.py b/tests/core/fem/test_hinges.py index a07d985f7..daa8d5e81 100644 --- a/tests/core/fem/test_hinges.py +++ b/tests/core/fem/test_hinges.py @@ -4,7 +4,7 @@ from ada.fem.elements import Hinge, HingeProp -def test_simple_hinged_beam(test_dir): +def test_simple_hinged_beam(): bm = Beam("MyBeam", (0, 0, 0), (1, 0, 0), "IPE400") bm.connection_props.hinge_prop = HingeProp(end1=Hinge([1, 2, 3, 4, 6], Csys("MyBeam_hinge"))) p = Part("MyPart") / bm diff --git a/tests/core/fem/test_masses.py b/tests/core/fem/test_masses.py index 4bb075799..35dc8842f 100644 --- a/tests/core/fem/test_masses.py +++ b/tests/core/fem/test_masses.py @@ -22,13 +22,8 @@ def anisotropic_mass(): return Mass("AnIsotropicMass", None, [0, 0, 10], Mass.PTYPES.ANISOTROPIC) -@pytest.fixture -def test_fem_mass_dir(test_dir): - return test_dir / "fem_mass" - - @pytest.mark.parametrize("fem_format", [str(x.value) for x in FEATypes.get_solvers_only()]) -def test_beam_with_isotropic_mass(beam_model_line, isotropic_mass: Mass, fem_format, test_fem_mass_dir): +def test_beam_with_isotropic_mass(beam_model_line, isotropic_mass: Mass, fem_format, tmp_path): bm = beam_model_line.get_by_name("Bm") fix_nodes = get_beam_end_nodes(bm) fs_fix = bm.parent.fem.add_set(FemSet("FixSet", fix_nodes, FemSet.TYPES.NSET)) @@ -43,7 +38,7 @@ def test_beam_with_isotropic_mass(beam_model_line, isotropic_mass: Mass, fem_for a.fem.add_step(StepEigen("StepEig", num_eigen_modes=10)) name = f"bm_wIsoMass_{fem_format}" try: - res = beam_model_line.to_fem(name, fem_format, scratch_dir=test_fem_mass_dir, overwrite=True) + res = beam_model_line.to_fem(name, fem_format, scratch_dir=tmp_path, overwrite=True) except IncompatibleElements as e: logging.error(e) return @@ -51,8 +46,3 @@ def test_beam_with_isotropic_mass(beam_model_line, isotropic_mass: Mass, fem_for if res is not None and res.eigen_mode_data is not None: for mode in res.eigen_mode_data.modes: print(mode) - - -if __name__ == "__main__": - retcode = pytest.main([]) - print(retcode) diff --git a/tests/core/fem/test_section_merge.py b/tests/core/fem/test_section_merge.py index f2a9b3f48..b321752db 100644 --- a/tests/core/fem/test_section_merge.py +++ b/tests/core/fem/test_section_merge.py @@ -1,17 +1,10 @@ -import pytest - import ada from ada.fem.formats.general import FEATypes from ada.fem.formats.utils import default_fem_inp_path from ada.sections.properties import GeneralProperties -@pytest.fixture -def merge_sections_dir(test_dir): - return test_dir / "merge_sections" - - -def test_merge_fem_sections(merge_sections_dir): +def test_merge_fem_sections(tmp_path): bm1 = ada.Beam("Bm1", (0, 0, 0), (10, 0, 0), "IPE300") bm2 = ada.Beam("Bm2", (10, 0, 0), (10, 10, 0), "IPE400") @@ -24,9 +17,9 @@ def test_merge_fem_sections(merge_sections_dir): name = "Merges_Sections" fem_format = FEATypes.SESAM - a.to_fem(name, fem_format, overwrite=True, scratch_dir=merge_sections_dir) + a.to_fem(name, fem_format, overwrite=True, scratch_dir=tmp_path) - inp_path = default_fem_inp_path(name, merge_sections_dir)[fem_format] + inp_path = default_fem_inp_path(name, tmp_path)[fem_format] b = ada.from_fem(inp_path) pb = b.get_part("T1") @@ -41,7 +34,7 @@ def test_merge_fem_sections(merge_sections_dir): # b.to_fem("SectionsMerged", "abaqus", overwrite=True) -def test_merge_fem_sections2(merge_sections_dir): +def test_merge_fem_sections2(tmp_path): bm1 = ada.Beam("Bm1", (0, 0, 0), (10, 0, 0), "IPE300") bm2 = ada.Beam("Bm2", (10, 0, 0), (10, 10, 0), "IPE300") a = ada.Assembly() / (ada.Part("MyPart") / [bm1, bm2]) @@ -53,9 +46,9 @@ def test_merge_fem_sections2(merge_sections_dir): name = "Merges_Sections_Same_Sections" fem_format = FEATypes.SESAM - a.to_fem(name, fem_format, overwrite=True, scratch_dir=merge_sections_dir) + a.to_fem(name, fem_format, overwrite=True, scratch_dir=tmp_path) - inp_path = default_fem_inp_path(name, merge_sections_dir)[fem_format] + inp_path = default_fem_inp_path(name, tmp_path)[fem_format] b = ada.from_fem(inp_path) pb = b.get_part("T1") @@ -70,7 +63,7 @@ def test_merge_fem_sections2(merge_sections_dir): # b.to_fem("SectionsMerged2", "abaqus", overwrite=True) -def test_merge_gen_beams(merge_sections_dir): +def test_merge_gen_beams(tmp_path): gp1 = GeneralProperties( Ax=0.00188594277, Ix=7.178e-08, @@ -119,9 +112,9 @@ def test_merge_gen_beams(merge_sections_dir): name = "Merges_Sections_GenBeams" fem_format = FEATypes.SESAM - a.to_fem(name, fem_format, overwrite=True, scratch_dir=merge_sections_dir) + a.to_fem(name, fem_format, overwrite=True, scratch_dir=tmp_path) - inp_path = default_fem_inp_path(name, merge_sections_dir)[fem_format] + inp_path = default_fem_inp_path(name, tmp_path)[fem_format] b = ada.from_fem(inp_path) pb = b.get_part("T1") diff --git a/tests/core/fem/test_surfaces.py b/tests/core/fem/test_surfaces.py index fd3882969..9b4cfe845 100644 --- a/tests/core/fem/test_surfaces.py +++ b/tests/core/fem/test_surfaces.py @@ -1,16 +1,9 @@ from __future__ import annotations -import pytest - import ada from ada.base.types import GeomRepr -@pytest.fixture -def surfaces_test_dir(test_dir): - return test_dir / "surfaces" - - def build_box_model(geom_repr: str | GeomRepr, use_hex_quad): # Build Model if isinstance(geom_repr, str): @@ -44,42 +37,42 @@ def build_box_model(geom_repr: str | GeomRepr, use_hex_quad): return a -def test_surface_box_solid_tet(surfaces_test_dir): +def test_surface_box_solid_tet(tmp_path): a = build_box_model("solid", False) surface = a.parts["MyBoxPart"].fem.surfaces["FrontSurface"] assert len(surface.fem_set) == 8 - # a.to_fem("MyFemBox_so_tet", "abaqus", overwrite=True, scratch_dir=surfaces_test_dir) + # a.to_fem("MyFemBox_so_tet", "abaqus", overwrite=True, scratch_dir=tmp_path) -def test_surface_box_solid_hex(surfaces_test_dir): +def test_surface_box_solid_hex(tmp_path): a = build_box_model("solid", True) surface = a.parts["MyBoxPart"].fem.surfaces["FrontSurface"] assert len(surface.fem_set) == 4 - # a.to_fem("MyFemBox_so_hex", "abaqus", overwrite=True, scratch_dir=surfaces_test_dir) + # a.to_fem("MyFemBox_so_hex", "abaqus", overwrite=True, scratch_dir=tmp_path) -def test_surface_box_shell_tri(surfaces_test_dir): +def test_surface_box_shell_tri(tmp_path): a = build_box_model("shell", False) surface = a.parts["MyBoxPart"].fem.surfaces["FrontSurface"] assert len(surface.fem_set.members) == 24 - # a.to_fem("MyFemBox_sh_tri", "abaqus", overwrite=True, scratch_dir=surfaces_test_dir) + # a.to_fem("MyFemBox_sh_tri", "abaqus", overwrite=True, scratch_dir=tmp_path) -def test_surface_box_shell_quad(surfaces_test_dir): +def test_surface_box_shell_quad(tmp_path): a = build_box_model("shell", True) surface = a.parts["MyBoxPart"].fem.surfaces["FrontSurface"] assert len(surface.fem_set.members) == 16 - # a.to_fem("MyFemBox_sh_quad", "abaqus", overwrite=True, scratch_dir=surfaces_test_dir) + # a.to_fem("MyFemBox_sh_quad", "abaqus", overwrite=True, scratch_dir=tmp_path) -def test_surface_beam(surfaces_test_dir): +def test_surface_beam(tmp_path): from ada.fem.meshing import GmshOptions # Build Model @@ -101,4 +94,4 @@ def test_surface_beam(surfaces_test_dir): surface_top = p.fem.add_surface(bm.bbox().sides.top(return_surface=True, surf_name="TopSurface")) step.add_load(ada.fem.LoadPressure("PressureTop", 1e6, surface_top)) - # a.to_fem("MyFemBeam_100mm_2nd_order", "abaqus", overwrite=True, execute=False, scratch_dir=surfaces_test_dir) + # a.to_fem("MyFemBeam_100mm_2nd_order", "abaqus", overwrite=True, execute=False, scratch_dir=tmp_path) diff --git a/tests/core/geom/test_solids.py b/tests/core/geom/test_solids.py index 8750bba1c..50d7c41ba 100644 --- a/tests/core/geom/test_solids.py +++ b/tests/core/geom/test_solids.py @@ -26,12 +26,12 @@ def test_cone(): assert isinstance(geo.geometry, geo_so.Cone) -def test_sphere(test_dir): +def test_sphere(tmp_path): sphere = ada.PrimSphere("my_sphere", (0, 0, 0), 1.0) geo = sphere.solid_geom() assert isinstance(geo.geometry, geo_so.Sphere) - # (ada.Assembly("a") / sphere).to_ifc(test_dir / "test_sphere.ifc", validate=True) + # (ada.Assembly("a") / sphere).to_ifc(tmp_path / "test_sphere.ifc", validate=True) def test_ipe_beam(): @@ -82,7 +82,7 @@ def test_plate_xy(): assert pl_2.poly.xdir.is_equal(pl.poly.xdir) -def test_plate_xy_offset(test_dir): +def test_plate_xy_offset(tmp_path): pl = ada.Plate("pl1", [(0, 0), (0, 1), (1, 1), (1, 0)], 0.1, origin=(0, 0, 2), color="red") geo = pl.solid_geom() @@ -103,7 +103,7 @@ def test_plate_xy_offset(test_dir): assert pl_2.poly.origin.is_equal(pl.poly.origin) assert pl_2.poly.xdir.is_equal(pl.poly.xdir) - # (ada.Assembly("a") / pl_2).to_ifc(test_dir / "test_plate_xy_offset.ifc", validate=True) + # (ada.Assembly("a") / pl_2).to_ifc(tmp_path / "test_plate_xy_offset.ifc", validate=True) def test_plate_xz(): @@ -143,7 +143,7 @@ def test_pipe1(): assert isinstance(elbow2_geo.geometry, geo_so.RevolvedAreaSolid) -def test_prim_sweep1(test_dir): +def test_prim_sweep1(tmp_path): curve3d = [ (0, 0, 0), (0.5, 0.5, 0.5, 0.2), @@ -159,4 +159,4 @@ def test_prim_sweep1(test_dir): sweep.solid_occ() a = ada.Assembly("SweptShapes") / [ada.Part("MyPart") / [sweep]] - a.to_ifc(test_dir / "my_swept_shape_m.ifc", file_obj_only=False, validate=True) + a.to_ifc(tmp_path / "my_swept_shape_m.ifc", file_obj_only=False, validate=True) diff --git a/tests/core/helpers/test_units.py b/tests/core/helpers/test_units.py index b392c6e13..20c835a9c 100644 --- a/tests/core/helpers/test_units.py +++ b/tests/core/helpers/test_units.py @@ -1,19 +1,9 @@ -import pytest - from ada import Assembly, Beam, Part, Pipe, Plate, Section, Wall -from ada.config import Settings from ada.param_models.basic_module import SimpleStru from ada.param_models.basic_structural_components import Door, Window -test_folder = Settings.test_dir / "units" - - -@pytest.fixture -def test_units_dir(test_dir): - return test_dir / "units" - -def test_meter_to_millimeter(test_units_dir): +def test_meter_to_millimeter(tmp_path): p = Part( "MyTopSpatialLevel", metadata=dict(ifctype="storey", description="MyTopLevelSpace"), @@ -47,10 +37,10 @@ def test_meter_to_millimeter(test_units_dir): # a.to_ifc(test_units_dir / "my_test_in_millimeter.ifc") -def test_ifc_reimport(): +def test_ifc_reimport(tmp_path): # Model to be re-imported a = Assembly("my_test_assembly") / SimpleStru("my_simple_stru") - fp = a.to_ifc(test_folder / "my_exported_param_model.ifc", file_obj_only=True) + fp = a.to_ifc(tmp_path / "my_exported_param_model.ifc", file_obj_only=True) points = [(0, 0, 0), (5, 0, 0), (5, 5, 0)] w = Wall("MyWall", points, 3, 0.15, offset="LEFT") @@ -85,8 +75,8 @@ def test_ifc_reimport(): b = Assembly("MyTest") / p b.units = "mm" - b.to_ifc(test_folder / "my_reimport_of_elements_mm.ifc", file_obj_only=True, validate=True) + b.to_ifc(tmp_path / "my_reimport_of_elements_mm.ifc", file_obj_only=True, validate=False) # TODO: Re-import is still not supported. Should look into same approach as BlenderBIM by # only communicating and updating the ifcopenshell file object. b.units = "m" - b.to_ifc(test_folder / "my_reimport_of_elements_m.ifc", file_obj_only=True, validate=True) + b.to_ifc(tmp_path / "my_reimport_of_elements_m.ifc", file_obj_only=False, validate=True) diff --git a/tests/core/materials/test_materials_consolidate.py b/tests/core/materials/test_materials_consolidate.py index 47504eebc..3df647d86 100644 --- a/tests/core/materials/test_materials_consolidate.py +++ b/tests/core/materials/test_materials_consolidate.py @@ -1,7 +1,7 @@ from ada import Assembly, Beam, Part -def test_beam_sections_consolidate(): +def test_beam_sections_consolidate(tmp_path): bm1 = Beam("bm1", (0, 0, 0), (1, 0, 0), "HP140x8") bm2 = Beam("bm2", (0, 0, 0), (1, 0, 0), "HP140x8") bm3 = Beam("bm3", (0, 0, 0), (1, 0, 0), "HP140x8") @@ -11,10 +11,10 @@ def test_beam_sections_consolidate(): a.consolidate_materials() assert len(a.get_all_materials()) == 1 - a.to_ifc(file_obj_only=True, validate=True) + a.to_ifc(tmp_path / "bm_sec_validate.ifc", file_obj_only=False, validate=True) -def test_mixed_materials_consolidate(mixed_model): +def test_mixed_materials_consolidate(mixed_model, tmp_path): assert len(mixed_model.get_all_materials()) == 4 mixed_model.consolidate_materials() assert len(mixed_model.get_all_materials()) == 2 @@ -23,4 +23,4 @@ def test_mixed_materials_consolidate(mixed_model): for obj in mixed_model.get_all_physical_objects(): assert obj.material.guid in all_mat_map.keys() - mixed_model.to_ifc(file_obj_only=True, validate=True) + mixed_model.to_ifc(tmp_path / "mixed_mat_validate.ifc", file_obj_only=False, validate=True) diff --git a/tests/core/materials/test_materials_io.py b/tests/core/materials/test_materials_io.py index e6e0fe195..ed7d3562b 100644 --- a/tests/core/materials/test_materials_io.py +++ b/tests/core/materials/test_materials_io.py @@ -1,19 +1,9 @@ -import pytest - import ada from ada import Assembly, Material, Part -from ada.config import Settings - -test_folder = Settings.test_dir / "materials" - - -@pytest.fixture -def materials_test_dir(test_dir): - return test_dir / "materials" -def test_material_ifc_roundtrip(materials_test_dir): - ifc_path = materials_test_dir / "my_material.ifc" +def test_material_ifc_roundtrip(tmp_path): + ifc_path = tmp_path / "my_material.ifc" p = Part("MyPart") p.add_material(Material("my_mat")) diff --git a/tests/core/materials/test_materials_protocols.py b/tests/core/materials/test_materials_protocols.py index 361cf3ae1..d680bd0c8 100644 --- a/tests/core/materials/test_materials_protocols.py +++ b/tests/core/materials/test_materials_protocols.py @@ -20,7 +20,7 @@ def test_merge_materials(): for i in range(1, 10): mat = Material(f"mat{i}", CarbonSteel("S355")) - plates.append(Plate(f"pl{i}", [(0, 0, 0), (0, 1, 0), (1, 1, 0)], 20e-3, mat=mat)) + plates.append(Plate(f"pl{i}", [(0, 0), (0, 1), (1, 1)], 20e-3, mat=mat)) a = Assembly() / (Part("MyPart") / plates) p = a.get_part("MyPart") diff --git a/tests/core/parametric_modelling/conftest.py b/tests/core/parametric_modelling/conftest.py deleted file mode 100644 index 18869c123..000000000 --- a/tests/core/parametric_modelling/conftest.py +++ /dev/null @@ -1,6 +0,0 @@ -import pytest - - -@pytest.fixture -def param_models_test_dir(test_dir): - return test_dir / "param_modelling" diff --git a/tests/core/parametric_modelling/test_param_equip_tent.py b/tests/core/parametric_modelling/test_param_equip_tent.py index 0f5c229ca..d067e6389 100644 --- a/tests/core/parametric_modelling/test_param_equip_tent.py +++ b/tests/core/parametric_modelling/test_param_equip_tent.py @@ -5,17 +5,12 @@ from ada.param_models.basic_module import EquipmentTent, SimpleStru -@pytest.fixture -def param_models_test_dir(test_dir): - return test_dir / "param_models" - - @pytest.fixture def eq_model_4legged(): return EquipmentTent("MyEqtent", 15e3, (2, 2, 1), height=1, width=1, length=2) -@pytest.fixture +@pytest.fixture(scope="function") def simple_stru(): return SimpleStru( "SimpleStructure", @@ -28,7 +23,7 @@ def simple_stru(): ) -def test_eq_model_to_ifc_and_fem(eq_model_4legged, param_models_test_dir): +def test_eq_model_to_ifc_and_fem(eq_model_4legged): eq_model_4legged.fem = eq_model_4legged.to_fem_obj(0.1) assert len(eq_model_4legged.sections) == 1 @@ -41,7 +36,7 @@ def test_eq_model_to_ifc_and_fem(eq_model_4legged, param_models_test_dir): # a.to_fem("EqtentFEM", "sesam", scratch_dir=param_models_test_dir, overwrite=True) -def test_simple_stru_with_equipment(simple_stru, eq_model_4legged, param_models_test_dir): +def test_simple_stru_with_equipment(simple_stru, eq_model_4legged, tmp_path): a = ada.Assembly() / simple_stru simple_stru.add_part(eq_model_4legged) @@ -52,7 +47,7 @@ def test_simple_stru_with_equipment(simple_stru, eq_model_4legged, param_models_ simple_stru.fem = simple_stru.to_fem_obj(0.3) simple_stru.add_bcs() - a.to_fem("MySimpleStruWEquip_aba_pre_merge", "abaqus", overwrite=True) + a.to_fem("MySimpleStruWEquip_aba_pre_merge", "abaqus", overwrite=True, scratch_dir=tmp_path) assert len(simple_stru.fem.sections) == 76 simple_stru.fem.sections.merge_by_properties() @@ -67,9 +62,9 @@ def test_simple_stru_with_equipment(simple_stru, eq_model_4legged, param_models_ # from ada.fem import Load, StepImplicit # a.to_stp(test_dir / "simple_stru_with_equipments_before_fem") - a.to_ifc("temp/simple_stru_with_equipments_before_fem.ifc", include_fem=False) + a.to_ifc(tmp_path / "simple_stru_with_equipments_before_fem.ifc", include_fem=False, file_obj_only=True) # a.to_fem("MySimpleStruWEquip_ca", "code_aster", overwrite=True, execute=True) # a.to_fem("MySimpleStruWEquip_ufo", "usfos", overwrite=True) # a.to_fem("MySimpleStruWEquip_ses", "sesam", overwrite=True) - a.to_fem("MySimpleStruWEquip_aba", "abaqus", overwrite=True) + # a.to_fem("MySimpleStruWEquip_aba", "abaqus", overwrite=True, scratch_dir=tmp_path) # a.to_ifc(param_models_test_dir / "simple_stru_with_equipments_after_fem", include_fem=True) diff --git a/tests/core/parametric_modelling/test_param_models.py b/tests/core/parametric_modelling/test_param_models.py index b04bbb52e..251c14a92 100644 --- a/tests/core/parametric_modelling/test_param_models.py +++ b/tests/core/parametric_modelling/test_param_models.py @@ -5,7 +5,7 @@ from ada.param_models.basic_module import SimpleStru -def test_to_fem(param_models_test_dir): +def test_to_fem(tmp_path): a = build_test_simplestru_fem(use_quads=True) param_model: SimpleStru = a.get_by_name("ParametricModel") @@ -21,7 +21,7 @@ def test_to_fem(param_models_test_dir): my_step.add_load(ada.fem.Load("Gravity", "gravity", -9.81)) # a.to_fem("SimpleStru_ca", fem_format="code_aster", overwrite=True, execute=False) - # a.to_ifc(param_models_test_dir / "SimpleStru", file_obj_only=True, validate=True) + # a.to_ifc(tmp_path / "SimpleStru", file_obj_only=True, validate=True) assert abs(roundoff(cog.p[0]) - 2.5) < tol assert abs(roundoff(cog.p[1]) - 2.5) < tol diff --git a/tests/core/sections/test_sections_consolidate.py b/tests/core/sections/test_sections_consolidate.py index f2ccc364e..805acc294 100644 --- a/tests/core/sections/test_sections_consolidate.py +++ b/tests/core/sections/test_sections_consolidate.py @@ -12,16 +12,16 @@ def three_beams(): return Assembly() / [(Part("P1") / bm1), (Part("P2") / bm2), (Part("P3") / bm3)] -def test_beam_sections_consolidate(three_beams): +def test_beam_sections_consolidate(three_beams, tmp_path): a = three_beams assert len(a.get_all_sections()) == 3 a.consolidate_sections() assert len(a.get_all_sections()) == 1 - a.to_ifc(file_obj_only=True, validate=True) + a.to_ifc(tmp_path / "sec_consolidate.ifc", file_obj_only=False, validate=True) -def test_mixed_sections_consolidate(mixed_model): +def test_mixed_sections_consolidate(mixed_model, tmp_path): assert len(mixed_model.get_all_sections()) == 4 all_sec_map = {sec.guid: sec for sec in mixed_model.get_all_sections()} for obj in mixed_model.get_all_physical_objects(): @@ -41,17 +41,17 @@ def test_mixed_sections_consolidate(mixed_model): if hasattr(obj, "taper") and obj.taper is not None and obj.taper.guid not in all_sec_map.keys(): raise ValueError() - mixed_model.to_ifc(file_obj_only=True, validate=True) + mixed_model.to_ifc(tmp_path / "mixed_model_validate.ifc", file_obj_only=False, validate=True) -def test_mixed_multi_sync_sections_consolidate(three_beams, pipe_w_multiple_bends): +def test_mixed_multi_sync_sections_consolidate(three_beams, pipe_w_multiple_bends, tmp_path): assert len(three_beams.get_all_sections()) == 3 three_beams.ifc_store.sync() three_beams.add_object(pipe_w_multiple_bends) - three_beams.to_ifc(file_obj_only=True, validate=True) + three_beams.to_ifc(tmp_path / "three_beams.ifc", file_obj_only=False, validate=True) -def test_mixed_roundtrip_sections_consolidate(three_beams, pipe_w_multiple_bends): +def test_mixed_roundtrip_sections_consolidate(three_beams, pipe_w_multiple_bends, tmp_path): assert len(three_beams.get_all_sections()) == 3 f_res = three_beams.to_ifc(file_obj_only=True) @@ -59,4 +59,4 @@ def test_mixed_roundtrip_sections_consolidate(three_beams, pipe_w_multiple_bends p2 = a.get_by_name("P2") p2.add_object(pipe_w_multiple_bends) - a.to_ifc(file_obj_only=True, validate=True) + a.to_ifc(tmp_path / "three_beams_roundtrip_validate.ifc", file_obj_only=False, validate=True) diff --git a/tests/core/visit/fem/test_viz_fem.py b/tests/core/visit/fem/test_viz_fem.py index 7c0b7ac2e..8465c4212 100644 --- a/tests/core/visit/fem/test_viz_fem.py +++ b/tests/core/visit/fem/test_viz_fem.py @@ -66,14 +66,14 @@ def test_double_ses_elem(fem_files): # a.to_gltf("temp/sesam_2el_sh.glb") -def test_bm_fem(): +def test_bm_fem(tmp_path): bm = ada.Beam("bm1", n1=[0, 0, 0], n2=[1, 0, 0], sec="IPE220", color="red") p = ada.Part("MyBmFEM") p.fem = bm.to_fem_obj(0.5, "shell") - (ada.Assembly() / p).to_gltf("temp/bm.glb") + (ada.Assembly() / p).to_gltf(tmp_path / "bm.glb") -def test_mix_fem(): +def test_mix_fem(tmp_path): bm = ada.Beam("bm1", n1=[0, 0, 0], n2=[2, 0, 0], sec="IPE220", color="red") poly = [(0, 0, 0), (1, 0, 0), (1, 1, 0), (0, 1, 0)] @@ -86,5 +86,5 @@ def test_mix_fem(): p.fem = part.to_fem_obj(0.5, interactive=False) mix_fem = ada.Assembly() / p - mix_fem.to_fem("mixed-fem", "usfos", "temp", overwrite=True) + mix_fem.to_fem("mixed-fem", "usfos", overwrite=True, scratch_dir=tmp_path) # mix_fem.to_gltf("temp/mix_fem.glb") diff --git a/tests/core/visit/plotting/test_easy_plotly.py b/tests/core/visit/plotting/test_easy_plotly.py index 3520f37e2..1e5b98d32 100644 --- a/tests/core/visit/plotting/test_easy_plotly.py +++ b/tests/core/visit/plotting/test_easy_plotly.py @@ -1,7 +1,7 @@ from ada.visit.plots import easy_plotly -def test_easy_plotly_simple_graph_to_file(test_dir): +def test_easy_plotly_simple_graph_to_file(tmp_path): # If this tests runs indefinitely on win10/11 try downgrading to kaleido-core==0.1.0. plot_file_name = "MyEasyPlotlyPlot.png" easy_plotly( @@ -9,5 +9,5 @@ def test_easy_plotly_simple_graph_to_file(test_dir): [(0, 0), (1, 0.5), (1.5, 0.8), (2, 1.75)], "X label", "Y label", - save_filename=test_dir / plot_file_name, + save_filename=tmp_path / plot_file_name, ) diff --git a/tests/core/visit/test_animation.py b/tests/core/visit/test_animation.py index 0064ee4ae..54047df7c 100644 --- a/tests/core/visit/test_animation.py +++ b/tests/core/visit/test_animation.py @@ -6,7 +6,7 @@ from ada.api.animations import Animation, AnimationStore -def test_polygon_animation_simple(polygon_mesh): +def test_polygon_animation_simple(polygon_mesh, tmp_path): scene = trimesh.Scene() scene.add_geometry(polygon_mesh, node_name="test", geom_name="test") @@ -70,15 +70,15 @@ def add_animation_to_buffer(buffer_items, tree, node_no=1): primitive.pop("mode") primitive["targets"] = [{"POSITION": pos}] - os.makedirs("temp", exist_ok=True) + os.makedirs(tmp_path, exist_ok=True) scene.export( - file_obj="temp/polygon_animation.glb", + file_obj=tmp_path / "polygon_animation.glb", file_type=".glb", buffer_postprocessor=add_animation_to_buffer, ) -def test_single_polygon_animate_using_store(polygon_mesh): +def test_single_polygon_animate_using_store(polygon_mesh, tmp_path): scene = trimesh.Scene() node_name = scene.add_geometry(polygon_mesh, node_name="test", geom_name="test") @@ -108,7 +108,7 @@ def test_single_polygon_animate_using_store(polygon_mesh): ) -def test_single_polygon_multiple_animations(polygon_mesh): +def test_single_polygon_multiple_animations(polygon_mesh, tmp_path): scene = trimesh.Scene() node_name = scene.add_geometry(polygon_mesh, node_name="test", geom_name="test") @@ -139,9 +139,9 @@ def test_single_polygon_multiple_animations(polygon_mesh): ) animation_store.add(animation) - os.makedirs("temp", exist_ok=True) + os.makedirs(tmp_path, exist_ok=True) scene.export( - file_obj="temp/animated_poly_x2.glb", + file_obj=tmp_path / "animated_poly_x2.glb", file_type=".glb", buffer_postprocessor=animation_store, tree_postprocessor=animation_store.tree_postprocessor, diff --git a/tests/core/visit/test_tessellating.py b/tests/core/visit/test_tessellating.py index 13924ba2e..0252362de 100644 --- a/tests/core/visit/test_tessellating.py +++ b/tests/core/visit/test_tessellating.py @@ -9,7 +9,7 @@ from ada.visit.gltf.store import merged_mesh_to_trimesh_scene -def test_shape_grid(): +def test_shape_grid(tmp_path): bg = ShapeGenerator(grid_size=1) shape_grid = list(bg.generate_shape_grid()) @@ -29,5 +29,5 @@ def test_shape_grid(): assert len(mesh_map) == len(scene.geometry) mat_id0, meshes0, merged_store0 = mesh_map[0] scene.geometry.get(f"node{mat_id0}") - os.makedirs("temp", exist_ok=True) - scene.export("temp/test.glb") + os.makedirs(tmp_path, exist_ok=True) + scene.export(tmp_path / "test.glb") diff --git a/tests/core/visit/test_vertex_coloring.py b/tests/core/visit/test_vertex_coloring.py index 4def33877..d8aafa1ac 100644 --- a/tests/core/visit/test_vertex_coloring.py +++ b/tests/core/visit/test_vertex_coloring.py @@ -10,18 +10,18 @@ from ada.core.vector_utils import unit_vector -def test_vertex_coloring_simple(polygon_mesh): +def test_vertex_coloring_simple(polygon_mesh, tmp_path): scene = trimesh.Scene() assert polygon_mesh.visual.kind == "vertex" scene.add_geometry(polygon_mesh, node_name="test", geom_name="test") - os.makedirs("temp", exist_ok=True) - scene.export(file_obj="temp/polygon2.glb", file_type=".glb") + os.makedirs(tmp_path, exist_ok=True) + scene.export(file_obj=tmp_path / "polygon2.glb", file_type=".glb") -def test_instanced_mapped_geometry(): +def test_instanced_mapped_geometry(tmp_path): bm = Beam("bm1", (0, 0, 0), (1, 0, 0), sec="IPE300") obj_mesh = bm.to_obj_mesh() scale_vector = bm.xvec * 0.1 @@ -51,10 +51,10 @@ def test_instanced_mapped_geometry(): m4x4 = np.r_[m3x3_with_col, [np.array([0, 0, 0, 1])]] scene.apply_transform(m4x4) - scene.export(file_obj="temp/mapped_instances.glb", file_type=".glb") + scene.export(file_obj=tmp_path / "mapped_instances.glb", file_type=".glb") -def test_vertex_coloring_advanced(root_dir): +def test_vertex_coloring_advanced(root_dir, tmp_path): neutral_dir = root_dir / "files/fem_files/numpy_files/simple_stru_eig1" vertices = np.load(neutral_dir / "vertices.npy") faces = np.load(neutral_dir / "faces.npy") @@ -65,19 +65,19 @@ def test_vertex_coloring_advanced(root_dir): new_mesh.visual.material = PBRMaterial(doubleSided=True) scene.add_geometry(new_mesh, node_name="test", geom_name="test") - os.makedirs("temp", exist_ok=True) - scene.export(file_obj="temp/planes.glb", file_type=".glb") + os.makedirs(tmp_path, exist_ok=True) + scene.export(file_obj=tmp_path / "planes.glb", file_type=".glb") -def test_single_line_segments(): +def test_single_line_segments(tmp_path): scene = trimesh.Scene() points = [(0, 0, 0), (1, 0, 0), (1, 1, 0), (1, 1, 1)] path = trimesh.load_path(np.asarray(points)) scene.add_geometry(path) - scene.export(file_obj="temp/lines.glb", file_type=".glb") + scene.export(file_obj=tmp_path / "lines.glb", file_type=".glb") -def test_multiple_line_segments(): +def test_multiple_line_segments(tmp_path): scene = trimesh.Scene() points = np.asarray([(0, 0, 0.5), (1, 0, 0.5), (0, 1, 0.5), (1, 1, 0.5)], dtype=float) path = trimesh.path.Path3D(entities=[Line([0, 1]), Line([2, 3])], vertices=points) @@ -87,5 +87,5 @@ def test_multiple_line_segments(): m3x3_with_col = np.append(m3x3, np.array([[0], [0], [0]]), axis=1) m4x4 = np.r_[m3x3_with_col, [np.array([0, 0, 0, 1])]] scene.apply_transform(m4x4) - os.makedirs("temp", exist_ok=True) - scene.export(file_obj="temp/multi_lines.glb", file_type=".glb") + os.makedirs(tmp_path, exist_ok=True) + scene.export(file_obj=tmp_path / "multi_lines.glb", file_type=".glb") diff --git a/tests/core/visit/test_viz_geometry.py b/tests/core/visit/test_viz_geometry.py index 8cd85aed8..c2962f3a6 100644 --- a/tests/core/visit/test_viz_geometry.py +++ b/tests/core/visit/test_viz_geometry.py @@ -1,7 +1,7 @@ from ada import Assembly, Beam, Plate -def test_viz_structural_glb(): +def test_viz_structural_glb(tmp_path): components = [ Beam("bm1", n1=[0, 0, 0], n2=[2, 0, 0], sec="IPE220", color="red"), Beam("bm2", n1=[0, 0, 1], n2=[2, 0, 1], sec="HP220x10", color="blue"), @@ -15,4 +15,4 @@ def test_viz_structural_glb(): ), ] a = Assembly("my_test_assembly") / components - a.to_gltf("temp/model.glb") + a.to_gltf(tmp_path / "model.glb") diff --git a/tests/core/visit/test_viz_new_api.py b/tests/core/visit/test_viz_new_api.py index d7d504f7b..0c1c6e978 100644 --- a/tests/core/visit/test_viz_new_api.py +++ b/tests/core/visit/test_viz_new_api.py @@ -9,7 +9,7 @@ def beam(): return Beam("MyBeam", (0, 0, 0), (1, 0, 0), "IPE300") -def test_viz_beam_manual(test_dir, beam): +def test_viz_beam_manual(beam): geom = beam.solid_occ() quality = 1.0 render_edges = False diff --git a/tests/profiling/test_fem_creation.py b/tests/profiling/test_fem_creation.py new file mode 100644 index 000000000..e69de29bb