diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..d2dea2b --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,90 @@ +name: Build + +on: + workflow_call: + +jobs: + # Build every wheel from the source distribution that will be published. + # The wheels are abi3 (cp310-abi3): they work with any Python >= 3.10, + # so they do not need to be built per Python version. + wheels: + name: Wheel from sdist (${{ matrix.os }}) + needs: sdist + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - os: ubuntu-latest # x86_64 + manylinux: auto + - os: ubuntu-24.04-arm # aarch64 + manylinux: auto + - os: windows-latest + manylinux: "off" + - os: macos-15-intel # x86_64 + manylinux: "off" + - os: macos-latest # arm64 + manylinux: "off" + steps: + - uses: actions/setup-python@v7 + with: + python-version: "3.12" + + - uses: actions/download-artifact@v8 + with: + name: dist-sdist + path: sdist + + - name: Extract source distribution + shell: bash + run: | + mkdir source + tar -xzf sdist/*.tar.gz --directory source --strip-components=1 + + - uses: PyO3/maturin-action@v1 + with: + command: build + working-directory: source + args: --release --out dist + manylinux: ${{ matrix.manylinux }} + + - uses: actions/upload-artifact@v7 + with: + name: dist-wheel-${{ matrix.os }} + path: source/dist/ + if-no-files-found: error + + sdist: + name: Source distribution + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 + + - uses: PyO3/maturin-action@v1 + with: + command: sdist + args: --out dist + + - uses: actions/upload-artifact@v7 + with: + name: dist-sdist + path: dist/ + + # All wheels + sdist in one artifact, as published to PyPI. + dist: + name: Collect distribution + needs: [wheels, sdist] + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v8 + with: + pattern: dist-* + merge-multiple: true + path: dist + + - run: ls -l dist + + - uses: actions/upload-artifact@v7 + with: + name: dist + path: dist/ diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b1cf4d1..b62656f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,15 +4,10 @@ on: workflow_dispatch: jobs: - # Build Python package - build: - uses: ewoks-kit/.github/.github/workflows/python-build.yml@main - - # Run tests + # Build the wheels + sdist and run the tests on them tests: - needs: build - uses: ewoks-kit/.github/.github/workflows/python-tests.yml@main - + uses: ./.github/workflows/test.yml + secrets: inherit # Publish package to TestPyPI publish-testpypi: @@ -23,7 +18,10 @@ jobs: permissions: id-token: write steps: - - uses: ewoks-kit/.github/.github/actions/setup-python-package@main + - uses: actions/download-artifact@v8 + with: + name: dist + path: dist - uses: pypa/gh-action-pypi-publish@release/v1 with: repository-url: https://test.pypi.org/legacy/ @@ -37,17 +35,27 @@ jobs: permissions: id-token: write steps: - - uses: ewoks-kit/.github/.github/actions/setup-python-package@main + - uses: actions/download-artifact@v8 + with: + name: dist + path: dist - uses: pypa/gh-action-pypi-publish@release/v1 - # Tag + # Tag (the version is read from the installed Linux wheel) tag-release: needs: publish-pypi runs-on: ubuntu-latest permissions: contents: write steps: - - uses: ewoks-kit/.github/.github/actions/setup-python-package@main + - uses: actions/setup-python@v7 + with: + python-version: "3.12" + - uses: actions/download-artifact@v8 + with: + name: dist-wheel-ubuntu-latest + path: dist + - run: pip install --pre dist/*.whl - uses: ewoks-kit/.github/.github/actions/tag-release@main with: - github-token: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 65d3652..001835e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,42 +7,84 @@ on: pull_request: workflow_dispatch: workflow_call: + secrets: + CODECOV_TOKEN: + required: false jobs: - # Build Python package + # Build the native wheels and the sdist build: - uses: ewoks-kit/.github/.github/workflows/python-build.yml@main + uses: ./.github/workflows/build.yml - # Run tests + # Run tests on the wheel built for the platform of each job tests: needs: build - uses: ewoks-kit/.github/.github/workflows/python-tests.yml@main - secrets: - codecov_token: ${{ secrets.CODECOV_TOKEN }} - with: - os: ${{ matrix.os }} - python-version: ${{ matrix.python-version }} - enable-coverage: ${{ matrix.enable-coverage }} - jupyter-platform-dirs: "1" - codecov-flags: "unit" + name: Tests (${{ matrix.os }}, Python ${{ matrix.python-version }}) + runs-on: ${{ matrix.os }} + env: + JUPYTER_PLATFORM_DIRS: "1" strategy: fail-fast: false matrix: include: - os: ubuntu-latest python-version: "3.10" - enable-coverage: "false" - extra-pytest-warnings: "" + enable-coverage: false - os: ubuntu-latest python-version: "3.14" - enable-coverage: "true" - extra-pytest-warnings: "" + enable-coverage: true + + - os: ubuntu-24.04-arm + python-version: "3.14" + enable-coverage: false - os: windows-latest python-version: "3.14" - enable-coverage: "false" - extra-pytest-warnings: "" + enable-coverage: false + + - os: macos-15-intel + python-version: "3.14" + enable-coverage: false + + - os: macos-latest + python-version: "3.14" + enable-coverage: false + steps: + - uses: actions/setup-python@v7 + with: + python-version: ${{ matrix.python-version }} + + - uses: actions/download-artifact@v8 + with: + name: dist-wheel-${{ matrix.os }} + path: dist + + # No checkout and no Rust toolchain: only the wheel is tested + - name: Install wheel + shell: bash + run: | + python -m pip install --upgrade pip + pip install --pre "$(ls dist/*.whl)[test]" + + - name: Run pytest + if: ${{ !matrix.enable-coverage }} + run: pytest -v -ra -W error --pyargs ewoksdraw + + - name: Run pytest with coverage + if: ${{ matrix.enable-coverage }} + run: | + pip install pytest-cov "coverage[toml]" + pytest -v -ra -W error --cov=ewoksdraw --cov-report=term --cov-report=xml --pyargs ewoksdraw + + - name: Upload coverage to Codecov + if: ${{ matrix.enable-coverage }} + uses: codecov/codecov-action@v7 + with: + files: coverage.xml + flags: unit + token: ${{ secrets.CODECOV_TOKEN }} + fail_ci_if_error: false # Run linter / checks checks: diff --git a/.gitignore b/.gitignore index fe84dfe..8bbae86 100644 --- a/.gitignore +++ b/.gitignore @@ -12,9 +12,10 @@ __pycache__/ # Distribution / packaging /build/ /dist/ +/rust/target/ *.egg-info/ .eggs/ /doc/_generated .svg # pixi environments -.pixi/* \ No newline at end of file +.pixi/* diff --git a/LICENSES/elk-rs/LICENSE b/LICENSES/elk-rs/LICENSE new file mode 100644 index 0000000..c79b74e --- /dev/null +++ b/LICENSES/elk-rs/LICENSE @@ -0,0 +1,264 @@ +Eclipse Public License - v 2.0 + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF +THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + + a) in the case of the initial Contributor, the initial content + Distributed under this Agreement, and + b) in the case of each subsequent Contributor: + i) changes to the Program, and + ii) additions to the Program; + + where such changes and/or additions to the Program originate from + and are Distributed by that particular Contributor. A Contribution + "originates" from a Contributor if it was added to the Program by + such Contributor itself or anyone acting on such Contributor's + behalf. Contributions do not include changes or additions to the + Program that are not Modified Works. + +"Contributor" means any person or entity that Distributes the Program. + +"Licensed Patents" mean patent claims licensable by a Contributor which +are necessarily infringed by the use or sale of its Contribution alone +or when combined with the Program. + +"Program" means the Contributions Distributed in accordance with this +Agreement. + +"Recipient" means anyone who receives the Program under this Agreement +or any Secondary License (as applicable), including Contributors. + +"Derivative Works" shall mean any work, whether in Source Code or other +form, that is based on (or derived from) the Program and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. + +"Modified Works" shall mean any work in Source Code or other form that +results from an addition to, deletion from, or modification of the +contents of the Program, including, for purposes of clarity any new file +in Source Code form that contains any contents of the Program. Modified +Works shall not include works that contain only declarations, +interfaces, types, classes, structures, or files of the Program solely +in each case in order to link to, bind by name, or subclass the Program +or Modified Works thereof. + +"Distribute" means the acts of a) distributing or b) making available in +any manner that enables the transfer of a copy. + +"Source Code" means the form of a Program preferred for making +modifications, including but not limited to software source code, +documentation source, and configuration files. + +"Secondary License" means either the GNU General Public License, Version +2.0, or any later versions of that license, including any exceptions or +additional permissions as identified by the initial Contributor. + +2. GRANT OF RIGHTS + + a) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free copyright + license to reproduce, prepare Derivative Works of, publicly display, + publicly perform, Distribute and sublicense the Contribution of such + Contributor, if any, and such Derivative Works. + b) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free patent license + under Licensed Patents to make, use, sell, offer to sell, import and + otherwise transfer the Contribution of such Contributor, if any, in + Source Code or other form. This patent license shall apply to the + combination of the Contribution and the Program if, at the time the + Contribution is added by the Contributor, such addition of the + Contribution causes such combination to be covered by the + Licensed Patents. The patent license shall not apply to any other + combinations which include the Contribution. No hardware per se is + licensed hereunder. + c) Recipient understands that although each Contributor grants the + licenses to its Contributions set forth herein, no assurances are + provided by any Contributor that the Program does not infringe the + patent or other intellectual property rights of any other entity. Each + Contributor disclaims any liability to Recipient for claims brought by + any other entity based on infringement of intellectual property rights + or otherwise. As a condition to exercising the rights and licenses + granted hereunder, each Recipient hereby assumes sole responsibility to + secure any other intellectual property rights needed, if any. For + example, if a third party patent license is required to allow Recipient + to Distribute the Program, it is Recipient's responsibility to acquire + that license before distributing the Program. + d) Each Contributor represents that to its knowledge it has sufficient + copyright rights in its Contribution, if any, to grant the copyright + license set forth in this Agreement. + e) Notwithstanding the terms of any Secondary License, no Contributor + makes additional grants to any Recipient (other than those set forth in + this Agreement) as a result of such Recipient's receipt of the Program + under the terms of a Secondary License (if permitted under the terms of + Section 3). + +3. REQUIREMENTS + +3.1 If a Contributor Distributes the Program in any form, then: + + a) the Program must also be made available as Source Code, in accordance + with section 3.2, and the Contributor must accompany the Program with a + statement that the Source Code for the Program is available under this + Agreement, and informs Recipients how to obtain it in a reasonable + manner on or through a medium customarily used for software exchange; + and + b) the Contributor may Distribute the Program under a license different + than this Agreement, provided that such license: + i) effectively disclaims on behalf of all other Contributors all + warranties and conditions, express and implied, including warranties or + conditions of title and non-infringement, and implied warranties or + conditions of merchantability and fitness for a particular purpose; + ii) effectively excludes on behalf of all other Contributors all + liability for damages, including direct, indirect, special, incidental + and consequential damages, such as lost profits; + iii) does not attempt to limit or alter the recipients' rights in the + Source Code under section 3.2; and + iv) requires any subsequent distribution of the Program by any party to + be under a license that satisfies the requirements of this section 3. + +3.2 When the Program is Distributed as Source Code: + + a) it must be made available under this Agreement, or if the Program (i) + is combined with other material in a separate file or files made + available under a Secondary License, and (ii) the initial Contributor + attached to the Source Code the notice described in Exhibit A of this + Agreement, then the Program may be made available under the terms of + such Secondary Licenses, and + b) a copy of this Agreement must be included with each copy of + the Program. + +3.3 Contributors may not remove or alter any copyright, patent, +trademark, attribution notices, disclaimers of warranty, or limitations +of liability ('notices') contained within the Program from any copy of +the Program which they Distribute, provided that Contributors may add +their own appropriate notices. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities +with respect to end users, business partners and the like. While this +license is intended to facilitate the commercial use of the Program, the +Contributor who includes the Program in a commercial product offering +should do so in a manner which does not create potential liability for +other Contributors. Therefore, if a Contributor includes the Program in +a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified +Contributor to the extent caused by the acts or omissions of such +Commercial Contributor in connection with its distribution of the +Program in a commercial product offering. The obligations in this +section do not apply to any claims or Losses relating to any actual or +alleged intellectual property infringement. In order to qualify, an +Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial +Contributor to control, and cooperate with the Commercial Contributor +in, the defense and any related settlement negotiations. The Indemnified +Contributor may participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT +PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS" +BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR +IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF +TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR +PURPOSE. Each Recipient is solely responsible for determining the +appropriateness of using and distributing the Program and assumes all +risks associated with its exercise of rights under this Agreement, +including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT +PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS +SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST +PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE +EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against any entity (including +a cross-claim or counterclaim in a lawsuit) alleging that the Program +itself (excluding combinations of the Program with other software or +hardware) infringes such Recipient's patent(s), then such Recipient's +rights granted under Section 2(b) shall terminate as of the date such +litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it fails +to comply with any of the material terms or conditions of this Agreement +and does not cure such failure in a reasonable period of time after +becoming aware of such noncompliance. If all Recipient's rights under +this Agreement terminate, Recipient agrees to cease use and distribution +of the Program as soon as reasonably practicable. However, Recipient's +obligations under this Agreement and any licenses granted by Recipient +relating to the Program shall continue and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, +but in order to avoid inconsistency the Agreement is copyrighted and may +only be modified in the following manner. The Agreement Steward reserves +the right to publish new versions (including revisions) of this +Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. The Eclipse Foundation is the +initial Agreement Steward. The Eclipse Foundation may assign the +responsibility to serve as the Agreement Steward to a suitable separate +entity. Each new version of the Agreement will be given a distinguishing +version number. The Program (including Contributions) may always be +Distributed subject to the version of the Agreement under which it was +received. In addition, after a new version of the Agreement is +published, Contributor may elect to Distribute the Program (including +its Contributions) under the new version. + +Except as expressly stated in Sections 2(a) and 2(b) above, Recipient +receives no rights or licenses to the intellectual property of any +Contributor under this Agreement, whether expressly, by implication, +estoppel or otherwise. All rights in the Program not expressly granted +under this Agreement are reserved. Nothing in this Agreement is intended +to be enforceable by any entity that is not a Contributor or Recipient. +No third-party beneficiary rights are created under this Agreement. + +Exhibit A - Form of Secondary Licenses Notice + +"This Source Code may also be made available under the following +Secondary Licenses when the conditions for such availability set forth +in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), +version(s), and exceptions or additional permissions here}." + + Simply including a copy of this Agreement, including this Exhibit A is + not sufficient to license the Source Code under Secondary Licenses. + + If it is not possible or desirable to put the notice in a particular + file, then You may include the notice in a location (such as a LICENSE + file in a relevant directory) where a recipient would be likely to + look for such a notice. + + You may add additional accurate notices of copyright ownership. diff --git a/LICENSES/elk-rs/NOTICE b/LICENSES/elk-rs/NOTICE new file mode 100644 index 0000000..010918f --- /dev/null +++ b/LICENSES/elk-rs/NOTICE @@ -0,0 +1,57 @@ +Notices for Eclipse Layout Kernel + +This content is produced and maintained by the Eclipse Layout Kernel project. + + Project home: https://projects.eclipse.org/projects/modeling.elk + +Trademarks + +Eclipse Layout Kernel is a trademark of the Eclipse Foundation. + +Copyright + +All content is the property of the respective authors or their employers. For +more information regarding authorship of content, please consult the listed +source code repository logs. + +Declared Project Licenses + +This program and the accompanying materials are made available under the +terms of the Eclipse Public License 2.0 which is available at +http://www.eclipse.org/legal/epl-2.0. + +SPDX-License-Identifier: EPL-2.0 + +Source Code + +The project maintains the following source code repositories: + + https://github.com/eclipse-elk/elk + https://github.com/eclipse-elk/elk-models + +Third-party Content + +This project leverages the following third party content. + +Dependencies automatically captured by the license-check-plugin: see DEPENDENCIES + +The following third-party content and licences are either not automatically +captured or are used in the elk-models repository +(https://github.com/eclipse-elk/elk-models). + +libavoid (0.3.1) + + License: GNU Lesser General Public License, 2.1 + +Ptolemy demo models (n/a) + + License: Ptolemy License (Custom) + +Cryptography + +Content may contain encryption software. The country in which you are currently +may have restrictions on the import, possession, and use, and/or re-export to +another country, of encryption software. BEFORE using any encryption software, +please check the country's laws, regulations and policies concerning the import, +possession, or use, and re-export of encryption software, to see if this is +permitted. diff --git a/README.md b/README.md index bb96564..92364a9 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,9 @@ Using pixi: ```bash pixi add --pypi "ewoksdraw @ git+https://github.com/ewoks-kit/ewoksdraw.git" ``` + +> **Note:** the layout engine is a Rust extension. Prebuilt wheels are provided for Linux (x86_64, aarch64), Windows (x64) and macOS (Intel, arm64). Installing from Git, or on any other platform, builds it from source and requires a [Rust toolchain](https://rustup.rs) and network access to GitHub. + ### Python ```python @@ -29,3 +32,10 @@ graph = load_graph(...) # Generate the SVG graph_to_svg(graph, output_path="my_workflow.svg") ``` + +## License + +The ewoksdraw code and Rust binding use the [MIT license](LICENSE.md). The +bundled elk-rs layout engine uses EPL-2.0; see +[third-party notices](THIRD_PARTY_NOTICES.md) for its license, attribution, and +corresponding source code. diff --git a/THIRD_PARTY_NOTICES.md b/THIRD_PARTY_NOTICES.md new file mode 100644 index 0000000..c18af94 --- /dev/null +++ b/THIRD_PARTY_NOTICES.md @@ -0,0 +1,24 @@ +# Third-party notices + +The ewoksdraw Python code and its Rust binding are licensed under the MIT +license in [LICENSE.md](LICENSE.md). + +## elk-rs (Eclipse Layout Kernel) + +The compiled layout engine includes code from +[elk-rs](https://github.com/openedges/elk-rs), a Rust port of the Eclipse Layout +Kernel. This code is licensed under the Eclipse Public License 2.0 (EPL-2.0). + +The corresponding source code is available under EPL-2.0 at revision +`2191680292b9565592223c22a28b5ef33c3acbad`: + +- [Browse the source](https://github.com/openedges/elk-rs/tree/2191680292b9565592223c22a28b5ef33c3acbad). +- [Download the source archive](https://github.com/openedges/elk-rs/archive/2191680292b9565592223c22a28b5ef33c3acbad.tar.gz). + +The layout engine is compiled directly from this revision. The upstream +[license](LICENSES/elk-rs/LICENSE) and [attribution notice](LICENSES/elk-rs/NOTICE) +are reproduced without modification and included in the wheel and source +distributions. The upstream notice describes the wider ELK project. + +When updating the elk-rs revision in `rust/Cargo.toml`, update these source +links and the copies of the upstream license and notice together. diff --git a/pixi.lock b/pixi.lock index 2ae0b47..052165e 100644 --- a/pixi.lock +++ b/pixi.lock @@ -26,459 +26,459 @@ environments: - url: https://conda.anaconda.org/conda-forge/ indexes: - https://pypi.org/simple + options: + pypi-prerelease-mode: explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h54a6638_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.1.0-ha9f2e26_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.1.0-he0feb66_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.4-hf4e2dac_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.1.0-h934c35e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.5-hd2095e1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.14.8-hdc7f604_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.4-h0737f62_103.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.4-hcfc3c73_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_101_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.8-hcd007b5_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - pypi: ./ - - pypi: git+https://github.com/LudoBroche/pyelk.git?rev=ewoksdraw-modifications#d9957c0cccbd7dbd0cc58c2fd26b01b592485368 - pypi: https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0b/3e/ede57f735d4766b57de8088d72988edaf5e821d04cee89aa1d4b8aab23fa/ewokscore-5.1.0rc4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/18/24/bad3ac4271589df29cf5ce2f5ae490518a5739358052bd0d61209e6fea54/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/22/9d/d08a1128ab199b2f0cf25bfeb0639bd05119fff4b7c47bec24ef9a8ec23f/rpds_py-2026.9.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/26/56/3f788afb8d7fc451d20a66a64ea58bbe189f6f11780b28ba09148974fb33/hdf5plugin-7.1.0-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/30/14/4d0204867623df3f33f86efd3d3692ba5e01321443f4d6eab35a22697618/librt-0.13.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/2c/9b/59634b7ac631c63b2a37760eb6943af3e29573d6b59a4abc5e7f019d4cee/pydantic_core-2.46.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/38/34/98a2f52245f4d47be93b580dae5f9861ef58977d73a79eb47c58f1ad1f3a/xmltodict-1.0.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/41/5f/0f992cb24560673496c5d68de61913b57166ce530ffda07c1f280e0cc464/numpy-2.5.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/42/3d/ef4dcfffd22d27a61805d8ed9f7fb888495bc6aa88648fa07c1eaa5586b6/lxml-6.1.1-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/49/49/f0dd91ff7d95dd4be65c754fd926cf914bb201eb0ba63c4055755fddeb97/silx-3.0.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/43/4e/6989aa5355a6f274b345c20fe3386c202f62e0f98875f49bc38f6fc024da/silx-3.1.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/45/8f/9beacf79ca7c650688ad0baa80931adb988fe6e6e5d5903c23cc3dbd70eb/numpy-2.5.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/50/07/79007d2165f649ea93e08c0962d1d62c70af9cde77965255095bf9d96f9a/librt-0.16.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/56/43/4ca9e49d27a1fcf6bece6f6aec0ea46bb9112489b93d4b688fb415457bdb/iniconfig-2.3.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/5c/44/c85361f65dbe00eea8576ee467c768d25129989efb76e94f205e9ca9bb46/pillow-12.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/67/81/4add07e5172b7ac40d8ed5ff580409a7801a4fe26d529bdd915401dabfbe/typing_inspection-0.4.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/85/37/e0bea29f84169ef3736284c0c25d6b777bb4aad11180817f94cdab6f19fb/ewokscore-5.1.0rc3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7e/cd/fe58041e9011f307c490e3e17dd48cc516448f7c698a3f2d9d9d65d7e6a8/networkx-3.7-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/89/1d/8eff589b45bb8190a9d12c49cfad0f176a5cbd1534908a6b5125e2886239/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/8f/44/aa8bc0a660581663fb957d9005851d23736757cae3e58231a8a1030c9f9e/fabio-2026.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/91/66/6bd3cf90500653d55dc0ffc8507aa8300bd49d0214b2e8cb4d3fef2943ba/ruff-0.16.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/99/91/8acff4f5e50511b911bbccb72b8628a49c68ce14148cd9f6431094859a90/annotated_types-0.8.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a3/07/70085c17a369605f15e301d10ab902115019b1126c7253d964afc230c7d6/reportlab-5.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/ae/77/70d7a10732063beb74ad713682cf871e88f5c5fa39bfc8beff8a524bf9cb/mypy-2.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/bc/1c/26e16977e25ef2494a74f8ffc872a76ec2c3aa43c3156057cbdf88f352c5/mypy-2.4.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/c0/32/89b00b99a78026a37daab12ecb9b52853182de7854e325cd2ff80b7a6e66/ewoksutils-2.0.0rc2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/c1/e8/72f8cef9fdfeffe06213fe8508039396ee48daa0e3259457ed766173bfd6/filelock-3.32.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/ca/87/b4d6c38e0ccd5e85dc54cecdf933a152c60b28fe5d993a6d8a72fa6d5896/ast_serialize-0.6.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/d1/9c/0d1fdc2e7aba23e290d603bc494e97bd205bae262ce33c6b32a69768ed5e/rpds_py-2026.6.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/d7/0b/855e50e27eab8338c71c3157672c065cd2a2ab38887b3ea4bf128cbd89a1/hdf5plugin-7.0.0-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c0/60/58961e7fd129e226ce36788fe328d20034f3105f5d3380df690050517737/ast_serialize-0.12.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/da/a1/b047e1c486a2c66283633b7dbb73872ca16ca1ce6a426f70d4d037fc8e1c/filelock-4.0.12-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/db/cb/dacbc268cb68d0428ea2cbd85266195a9ab3e677449589ddae59bd7542ac/reportlab-5.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e4/03/17234145f302a645a123e8c3bb2411ecf4669fbc350de3b0d803230a1729/ruff-0.16.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/e9/44/27e3cee3dcdb3b7bc09727b642bdbfcd098490ea77df04611db9060d7722/lxml-6.1.3-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/eb/47/c95ffc2009878c7aac0c5e08528022dcb885933252a88b5f170058014464/pydantic-2.13.5-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f1/16/d905e7f53e661ce2c24686c38048d8e2b750ffc4350009d41c4e6c6c9826/h5py-3.16.0-cp314-cp314-manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/f4/c4/b3e049d2aa3766180c78507110543d9d50894cc97f57de543f1be521dcdc/charset_normalizer-3.4.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl osx-64: - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h500dc9f_9.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.5.2-hd1f9c09_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libmpdec-4.0.0-hf3981d6_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.4-h77d7759_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h374f1ed_10.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-23.1.3-h19cb2f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.5-h6e061ac_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.7.0-h6b3a05b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libmpdec-4.0.0-ha1e9b39_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libpython-3.14.8-hfe304d0_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.4-ha5db789_103.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.14.6-h7c6738f_101_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.3-h68b038d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-hb794df6_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-h3eecb57_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.5-h332eb6d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.14.8-hafa0b4b_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.3-h000c2f7_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-ha6c374e_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-hbc1a06c_7.conda - pypi: ./ - - pypi: git+https://github.com/LudoBroche/pyelk.git?rev=ewoksdraw-modifications#d9957c0cccbd7dbd0cc58c2fd26b01b592485368 - - pypi: https://files.pythonhosted.org/packages/03/5a/00d0f491d420d491b5134ee044cd8ead5103382d88f4c8aee623258a6348/hdf5plugin-7.0.0-py3-none-macosx_10_13_x86_64.whl - pypi: https://files.pythonhosted.org/packages/06/bd/9b43ef1abfc9481bfa1ceb8dd550a2e9231723d4eae7e29212f2dffe7a15/fabio-2026.6.0.tar.gz - pypi: https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/23/df/beaf59c09d68db84304d555f188b276a77132a5d5b0b67a5c762aa143628/ruff-0.16.0-py3-none-macosx_10_12_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/0b/3e/ede57f735d4766b57de8088d72988edaf5e821d04cee89aa1d4b8aab23fa/ewokscore-5.1.0rc4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1e/93/9e0cf7da129a93c3dc7f45bc3cd4a660f2aaa995aa8a6f95c2583ef41239/librt-0.16.0-cp314-cp314-macosx_10_15_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/1f/f4/f6ddc8b802d0025459429d20a3ff75264da7dd9a248a17baf43035a8c618/hdf5plugin-7.1.0-py3-none-macosx_10_13_x86_64.whl - pypi: https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/38/34/98a2f52245f4d47be93b580dae5f9861ef58977d73a79eb47c58f1ad1f3a/xmltodict-1.0.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/48/3c/7fcd9b4c9eed82e91fb15568992561019ae7a829d1f696b2c844355d95dd/h5py-3.16.0-cp314-cp314-macosx_10_15_x86_64.whl - pypi: https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/52/19/ac8348ae8711c9b5ae834634f635780cab62a0f5e6f988882e048b89c2ae/ast_serialize-0.6.0-cp39-abi3-macosx_10_12_x86_64.whl - pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/56/43/4ca9e49d27a1fcf6bece6f6aec0ea46bb9112489b93d4b688fb415457bdb/iniconfig-2.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/67/81/4add07e5172b7ac40d8ed5ff580409a7801a4fe26d529bdd915401dabfbe/typing_inspection-0.4.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/70/78/cf416f15dc29375a229d9dfebf8db6e313f291580b39fa1a568b6052bb07/numpy-2.5.3-cp314-cp314-macosx_10_15_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/7b/66/f49ae0d592bd45b6941e9a8bafcb6a87cddcd501ee7874707e767f01b585/librt-0.13.0-cp314-cp314-macosx_10_15_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/7e/8d/496817fa0944239ecae662dd57ea765cfeaec6a735f9f025d4b7b72e7143/charset_normalizer-3.4.9-cp314-cp314-macosx_10_15_universal2.whl - - pypi: https://files.pythonhosted.org/packages/85/37/e0bea29f84169ef3736284c0c25d6b777bb4aad11180817f94cdab6f19fb/ewokscore-5.1.0rc3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7c/8a/40db9aa9f5907bb0e6f8b6d64064bf8852fb33d4b813ff9414911df7647c/charset_normalizer-3.5.2-cp314-cp314-macosx_10_15_universal2.whl + - pypi: https://files.pythonhosted.org/packages/7e/cd/fe58041e9011f307c490e3e17dd48cc516448f7c698a3f2d9d9d65d7e6a8/networkx-3.7-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/80/fb/1eabd2c0673283054468b1c6cb539aeb877636d6c84b280279f2d7a177a9/ast_serialize-0.12.1-cp39-abi3-macosx_10_12_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/81/12/46ae8670c98a3cd0286ca5645c2f918f8f6be65edfed81b916010619f668/mypy-2.4.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/84/ef/398fcf9018f881ec9aeaafae1ddd6586dfb13314a35d35e899de373dcae0/lxml-6.1.3-cp314-cp314-macosx_10_15_x86_64.whl - pypi: https://files.pythonhosted.org/packages/85/e2/73c77d218410b14f5f2d565e8a998d5317b7b9c75368d29985139f7a46f0/pillow-12.3.0-cp314-cp314-macosx_10_15_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/8d/74/228a26ddad29c6672b805d9fd78e8d251cd04004fa7eed0e622096cd0250/pydantic_core-2.46.4-cp314-cp314-macosx_10_12_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/93/cf/5630b5e4be7d2e6bee8efe83865c925221103cf0221303b104ce134b01e2/lxml-6.1.1-cp314-cp314-macosx_10_15_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/94/5a/7863a34c277a238d64049e3c9f51e9fc4cc012fec63ac64ac9ab4114701b/silx-3.0.1-cp314-cp314-macosx_10_15_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/8a/f2/67b94be1532767803415c1c5a1fd88ea487643d74a673cec1ba140af77bb/rpds_py-2026.9.1-cp314-cp314-macosx_10_12_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/8e/8a/14596f2a8367da50cf7cbac48169ee5d9c8e11d486a3b527082384630c72/pydantic_core-2.46.5-cp314-cp314-macosx_10_12_x86_64.whl - pypi: https://files.pythonhosted.org/packages/99/91/8acff4f5e50511b911bbccb72b8628a49c68ce14148cd9f6431094859a90/annotated_types-0.8.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a3/07/70085c17a369605f15e301d10ab902115019b1126c7253d964afc230c7d6/reportlab-5.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a4/58/fa0ae047da911f540284009b4f44b96fe09d83c076d7c103e9d645f46303/mypy-2.3.0-cp314-cp314-macosx_10_15_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/b6/36/7fbe9dcdaf857fb3f63c2a2284b62492d95f5e8334e947e5fb6e7f68c9be/rpds_py-2026.6.3-cp314-cp314-macosx_10_12_x86_64.whl - pypi: https://files.pythonhosted.org/packages/c0/32/89b00b99a78026a37daab12ecb9b52853182de7854e325cd2ff80b7a6e66/ewoksutils-2.0.0rc2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/c1/e8/72f8cef9fdfeffe06213fe8508039396ee48daa0e3259457ed766173bfd6/filelock-3.32.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/db/f4/731b6085a83faf6ca843394cbd5e217280c214399f7e8b21b9f552af0ae2/numpy-2.5.1-cp314-cp314-macosx_10_15_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/cb/98/a54de85876a8b2612bfa0d84c7b9abfb39c6a3354aee7800b09c1649b9e3/ruff-0.16.10-py3-none-macosx_10_12_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/da/a1/b047e1c486a2c66283633b7dbb73872ca16ca1ce6a426f70d4d037fc8e1c/filelock-4.0.12-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/db/cb/dacbc268cb68d0428ea2cbd85266195a9ab3e677449589ddae59bd7542ac/reportlab-5.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e2/8a/7e0d810251776dfa431bc1695c095000d1978603e4b838cc3b39eb92bf80/silx-3.1.3-cp314-cp314-macosx_10_15_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/eb/47/c95ffc2009878c7aac0c5e08528022dcb885933252a88b5f170058014464/pydantic-2.13.5-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl osx-arm64: - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-hc7cc350_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.1-hf6b4638_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.5.2-hcf2aa1b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.4-h1ae2325_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-23.1.3-h55c6f16_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.5-h6111c0a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-h47dc5ef_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.14.8-h4311e70_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.4-h34a968b_103.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-h1d4f5a5_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.3-hd24854e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.6-h156bc91_101_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hd3d0363_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.5-h55eecbc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.8-h0ae1c2c_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h8b90a29_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda - pypi: ./ - - pypi: git+https://github.com/LudoBroche/pyelk.git?rev=ewoksdraw-modifications#d9957c0cccbd7dbd0cc58c2fd26b01b592485368 + - pypi: https://files.pythonhosted.org/packages/04/37/b751de2b59b0197a1d92a5dd491de88e8a5e928c2e6562581974f1e85263/rpds_py-2026.9.1-cp314-cp314-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/13/e2/2e325795566de01d0d7c3bb57d3c370616b2d07b01214e84eec5d3b10963/lxml-6.1.1-cp314-cp314-macosx_10_15_universal2.whl - - pypi: https://files.pythonhosted.org/packages/15/14/2ba1d61452d7c2a7fe12741e8d374e52b183476b07aa7f9e2a0d02b0720a/mypy-2.3.0-cp314-cp314-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/0a/67/c1710b6da92cc307e4402cacb41f890dd0d7a413b49ced6ff5aa8420a60f/silx-3.1.3-cp314-cp314-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/0b/3e/ede57f735d4766b57de8088d72988edaf5e821d04cee89aa1d4b8aab23fa/ewokscore-5.1.0rc4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0c/15/fc75a70b0af6021d0ea16811f1fc71cc42cd06ce90fe10f007a69b2eed84/lxml-6.1.3-cp314-cp314-macosx_10_15_universal2.whl + - pypi: https://files.pythonhosted.org/packages/1b/d7/c56955934a431a0fa3e4e9aa7af4a53ceab2a61241005427545208945eb4/ast_serialize-0.12.1-cp39-abi3-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/38/34/98a2f52245f4d47be93b580dae5f9861ef58977d73a79eb47c58f1ad1f3a/xmltodict-1.0.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/3d/50/51c76d74014d04fb95b6506d286808984b78a2f7a41039094e6b2194ac48/librt-0.13.0-cp314-cp314-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/42/ce/741cd197496a1abbf51352710fd15ed995d2a2be87189c1da26a450d6e83/ruff-0.16.0-py3-none-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/56/43/4ca9e49d27a1fcf6bece6f6aec0ea46bb9112489b93d4b688fb415457bdb/iniconfig-2.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/64/a4/369f31daf13c58683698c03f7e05528cd2710994ba7dbed5ea843db4ab20/fabio-2026.6.0-cp314-cp314-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/67/81/4add07e5172b7ac40d8ed5ff580409a7801a4fe26d529bdd915401dabfbe/typing_inspection-0.4.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/6a/b7/9366ed44ced9b7ef357ab48c94205280276db9d7f064aa3012a97227e966/h5py-3.16.0-cp314-cp314-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/7e/8d/496817fa0944239ecae662dd57ea765cfeaec6a735f9f025d4b7b72e7143/charset_normalizer-3.4.9-cp314-cp314-macosx_10_15_universal2.whl - - pypi: https://files.pythonhosted.org/packages/85/37/e0bea29f84169ef3736284c0c25d6b777bb4aad11180817f94cdab6f19fb/ewokscore-5.1.0rc3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/96/ad/b28f4102e619c262b29bfcd13ccf6799e26f9ff113d2fdce19050ae29448/hdf5plugin-7.0.0-py3-none-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/7c/8a/40db9aa9f5907bb0e6f8b6d64064bf8852fb33d4b813ff9414911df7647c/charset_normalizer-3.5.2-cp314-cp314-macosx_10_15_universal2.whl + - pypi: https://files.pythonhosted.org/packages/7e/cd/fe58041e9011f307c490e3e17dd48cc516448f7c698a3f2d9d9d65d7e6a8/networkx-3.7-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/8f/26/8a90d2a8f2b2e471bb486b7aec117b8ae622715ed6c39853aec48ea20073/librt-0.16.0-cp314-cp314-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/99/91/8acff4f5e50511b911bbccb72b8628a49c68ce14148cd9f6431094859a90/annotated_types-0.8.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a3/07/70085c17a369605f15e301d10ab902115019b1126c7253d964afc230c7d6/reportlab-5.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/ad/1f/8970b150a4b4365623ae00fc88603491f763c627311ae8031e3111356d6e/pydantic_core-2.46.4-cp314-cp314-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/ba/54/f785cc3d3f60839ca57a5af4927a9f347b07b2799c373fc20f7949f87c7e/rpds_py-2026.6.3-cp314-cp314-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/9e/59/abcc2d8def4fd60eec7d87f92d27c13448ffd9ab14339bcc63a0d7a2fdea/numpy-2.5.3-cp314-cp314-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/9f/16/1a5a4a2657effe4806110f2b907313802f1367fcdbb29e8122766e407fab/ruff-0.16.10-py3-none-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/ae/d5/d8a4eb6d6c7f66b91dd37c576d76e9e60fba900caf5372c17bcf949febc2/pydantic_core-2.46.5-cp314-cp314-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/bf/64/0e215f2048dd11a55bb989ed41b3585ef57452404e638d703a211a3e4157/numpy-2.5.1-cp314-cp314-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/c0/32/89b00b99a78026a37daab12ecb9b52853182de7854e325cd2ff80b7a6e66/ewoksutils-2.0.0rc2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/c1/01/39d6dc9bcd6872f4132366597acd0294496db843243d18ab26ee9e5da044/silx-3.0.1-cp314-cp314-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/c1/e8/72f8cef9fdfeffe06213fe8508039396ee48daa0e3259457ed766173bfd6/filelock-3.32.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/c1/f6/ec7ec652c51db77c2f61d8573338e13e4704303265ccc658cb4031d9f354/ast_serialize-0.6.0-cp39-abi3-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/c7/da/32c752228ae345f489e3a42499d817b6c3996da7e8a3bc7a04fc806b243b/pillow-12.3.0-cp314-cp314-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/da/a1/b047e1c486a2c66283633b7dbb73872ca16ca1ce6a426f70d4d037fc8e1c/filelock-4.0.12-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/db/cb/dacbc268cb68d0428ea2cbd85266195a9ab3e677449589ddae59bd7542ac/reportlab-5.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e0/66/924be0b653372ed31ad5c48e26044cc00840e591943a56e61621cf05b60e/mypy-2.4.0-cp314-cp314-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/eb/47/c95ffc2009878c7aac0c5e08528022dcb885933252a88b5f170058014464/pydantic-2.13.5-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f3/af/8244d480b2096e8ce79e22c1d1472bf43ad10fb1e55a044334b0b2a69456/hdf5plugin-7.1.0-py3-none-macosx_11_0_arm64.whl win-64: - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.4-hf5d6505_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.5-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.7.0-h3d046cb_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.14.8-h4f90d01_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.4-hf5d6505_103.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_101_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.5-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.8-h53f6dd8_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-ha367084_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36247-habf1de7_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda - pypi: ./ - - pypi: git+https://github.com/LudoBroche/pyelk.git?rev=ewoksdraw-modifications#d9957c0cccbd7dbd0cc58c2fd26b01b592485368 - pypi: https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/11/12/baf0b62b4064d36684f776e5f8648995e8b14e68a619e48bb7668ee5715d/silx-3.0.1-cp314-cp314-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/0a/f6/8c56a26e3183f24606168e00aca7ebc3096fcfd5f0806cea10acb7864002/silx-3.1.3-cp314-cp314-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/0b/3e/ede57f735d4766b57de8088d72988edaf5e821d04cee89aa1d4b8aab23fa/ewokscore-5.1.0rc4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0f/bc/5811cc73cac05e324e05ba9b0924e1a163a317a167ede8a9c748b11db30a/lxml-6.1.3-cp314-cp314-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/38/34/98a2f52245f4d47be93b580dae5f9861ef58977d73a79eb47c58f1ad1f3a/xmltodict-1.0.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3a/87/61ffee58b25a956532a6006fae84918a2de849ed25f397492b2e815fe7b3/mypy-2.4.0-cp314-cp314-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/3e/14/615a450205e1b56d16c6783f5ccd116cde05550faad70ae077c955654a75/h5py-3.16.0-cp314-cp314-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/47/ae/6710c14ecb276031cf10249f6adf5a59e2d3fdb3b5183bd59f70524067ee/ast_serialize-0.6.0-cp39-abi3-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/49/fd/a1d26144398c67486422a72bf5812cda22cb4ccfcd95a290fb41ceb4b8e2/charset_normalizer-3.4.9-cp314-cp314-win_amd64.whl - - pypi: https://files.pythonhosted.org/packages/4e/14/32cf2aae083c74b95678875e11d25d0cb9e51a33d27f4218eb9aeacfcd70/hdf5plugin-7.0.0-py3-none-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/63/ce/0cb99efe6086b46cd985dc26672166fae312a239690e75871f7fafbd3fc5/librt-0.13.0-cp314-cp314-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/56/43/4ca9e49d27a1fcf6bece6f6aec0ea46bb9112489b93d4b688fb415457bdb/iniconfig-2.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/65/4c/c3f8bfd6ed0e5e38b5a244403b27f821d433443df5a15a278417c10a3a3c/mypy-2.3.0-cp314-cp314-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/67/81/4add07e5172b7ac40d8ed5ff580409a7801a4fe26d529bdd915401dabfbe/typing_inspection-0.4.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/85/37/e0bea29f84169ef3736284c0c25d6b777bb4aad11180817f94cdab6f19fb/ewokscore-5.1.0rc3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/85/62/a3892ba945f4e24c78f352e5de3c7620d8479f73f211406a97263d13c7d2/rpds_py-2026.6.3-cp314-cp314-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/7e/cd/fe58041e9011f307c490e3e17dd48cc516448f7c698a3f2d9d9d65d7e6a8/networkx-3.7-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/86/14/5d4fb733c18a1d69e237c067b183842f3a7ea1c999a51ddc87093a281c88/ast_serialize-0.12.1-cp39-abi3-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/99/29/cfb0df9448d4d4ad48c2de029ada9ebd71baa6da983a6c77ee6c6cd0fe82/ruff-0.16.10-py3-none-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/99/91/8acff4f5e50511b911bbccb72b8628a49c68ce14148cd9f6431094859a90/annotated_types-0.8.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a3/07/70085c17a369605f15e301d10ab902115019b1126c7253d964afc230c7d6/reportlab-5.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b2/a3/d5e4ef7a56be3f928ffb90b94c25ba7d3cb9c7fe0736aeaaedf361770712/ruff-0.16.0-py3-none-win_amd64.whl - - pypi: https://files.pythonhosted.org/packages/b8/ce/3cf9a827342269f54d405a6202397de63f07c69cbd6ce7d183a3f0cba1e9/lxml-6.1.1-cp314-cp314-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/a4/0b/489d48abbcc7d70cf3fbf662d9d22abf1f4650761c0a9ae05260800800d3/rpds_py-2026.9.1-cp314-cp314-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/a4/73/d2c08231e4fde7e415501fd02c715d96e98599b2d8384445933944152984/numpy-2.5.3-cp314-cp314-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/a9/3e/b3a66a07d99b52cfaf9d64ccaf7667ce7d75ec733d6c0ab6755eaa3944a1/hdf5plugin-7.1.0-py3-none-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/c0/32/89b00b99a78026a37daab12ecb9b52853182de7854e325cd2ff80b7a6e66/ewoksutils-2.0.0rc2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/c1/1a/837f9ed7405adcd7a40538792eb169eddd8fa5630c16a1ef49dae71a30f4/numpy-2.5.1-cp314-cp314-win_amd64.whl - - pypi: https://files.pythonhosted.org/packages/c1/e8/72f8cef9fdfeffe06213fe8508039396ee48daa0e3259457ed766173bfd6/filelock-3.32.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c2/98/769712f356a1e897df3581bb0c3100375d054a000de26099360ea65b5111/librt-0.16.0-cp314-cp314-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/d1/78/5ed86f743d4bc350db307e7636419a0a5ee1d91806d30c7f667bd5c80dae/charset_normalizer-3.5.2-cp314-cp314-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/d8/1b/3d85ec02e3712058197fdeee9db41ad18e8a3baeb8cfd9bc1be74e8218c0/fabio-2026.6.0-cp314-cp314-win_amd64.whl - - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/da/a1/b047e1c486a2c66283633b7dbb73872ca16ca1ce6a426f70d4d037fc8e1c/filelock-4.0.12-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/db/cb/dacbc268cb68d0428ea2cbd85266195a9ab3e677449589ddae59bd7542ac/reportlab-5.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/eb/47/c95ffc2009878c7aac0c5e08528022dcb885933252a88b5f170058014464/pydantic-2.13.5-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f1/e0/492879f69d94f91f60fc8cd05ba03650e9520afebb2fb7aa12777d7c7f38/pillow-12.3.0-cp314-cp314-win_amd64.whl - - pypi: https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/fc/b6/6b8de4c0a7d7ab3004c439c80c5c1e0a3e8d78bbae19379b01960383d9e5/pydantic_core-2.46.4-cp314-cp314-win_amd64.whl - - pypi: https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f7/3c/60674207246bc0a4009d2391b7c7251c7159f279c8d2ab8aae8ef46f3dee/pydantic_core-2.46.5-cp314-cp314-win_amd64.whl test-lowest: channels: - url: https://conda.anaconda.org/conda-forge/ indexes: - https://pypi.org/simple + options: + pypi-prerelease-mode: explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h54a6638_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h3435931_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.1.0-ha9f2e26_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-16.1.0-h69a702a_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.1.0-he0feb66_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.5-hd2095e1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.4-hf4e2dac_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.1.0-h934c35e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_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/libsqlite-3.53.4-h0737f62_103.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.4-hcfc3c73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.38-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.10.20-h267e890_1_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.10.22-h267e890_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - pypi: ./ - - pypi: git+https://github.com/LudoBroche/pyelk.git?rev=ewoksdraw-modifications#d9957c0cccbd7dbd0cc58c2fd26b01b592485368 - pypi: https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0b/3e/ede57f735d4766b57de8088d72988edaf5e821d04cee89aa1d4b8aab23fa/ewokscore-5.1.0rc4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/26/56/3f788afb8d7fc451d20a66a64ea58bbe189f6f11780b28ba09148974fb33/hdf5plugin-7.1.0-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/34/a1/c8e6b66f499f510752c07a092dfe27621f9c255635e59d38704b5681c35a/pydantic_core-2.46.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/38/34/98a2f52245f4d47be93b580dae5f9861ef58977d73a79eb47c58f1ad1f3a/xmltodict-1.0.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/4e/89/36f4cd76cf4baf05c50ababb976249153f18c959171c7f6ba09a6f217260/pillow-12.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/4f/12/b7424f96a1c35311f801ee5c87b7703dfa49d067a3c9cf5513bfaabb78f7/silx-3.0.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/56/43/4ca9e49d27a1fcf6bece6f6aec0ea46bb9112489b93d4b688fb415457bdb/iniconfig-2.3.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/61/b5/707f6cf0066a6412aacc11d17920ea2e19e5b2f04081c64526eb35b5c6e7/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/67/81/4add07e5172b7ac40d8ed5ff580409a7801a4fe26d529bdd915401dabfbe/typing_inspection-0.4.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/7a/16/cb391ee4b90186fa16d9ebcbe3ea96c71b8da3b0686386c8dcbcc3c67d44/lxml-6.1.1-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/7a/1e/7acc4f0e74c4b3d9531e24739e0ab832a5edf40e64fbae1a9c01941cabd7/pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/85/37/e0bea29f84169ef3736284c0c25d6b777bb4aad11180817f94cdab6f19fb/ewokscore-5.1.0rc3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/8b/66/9b4f0ece6074db992125e83670f5f9b0e23ec2ee172a2315629facf6a158/silx-3.1.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/99/91/8acff4f5e50511b911bbccb72b8628a49c68ce14148cd9f6431094859a90/annotated_types-0.8.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a3/07/70085c17a369605f15e301d10ab902115019b1126c7253d964afc230c7d6/reportlab-5.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a1/ce/dbea34cd115ae9b8ef53816daa912563615adf4daed42531878a2fb29c77/lxml-6.1.3-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/ba/1e/acc4d70f88a0a277e4a1fa77ebb985ceabaf900430f875bf9338e11c9420/pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/c0/32/89b00b99a78026a37daab12ecb9b52853182de7854e325cd2ff80b7a6e66/ewoksutils-2.0.0rc2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c4/9f/9f52d2886d52645987d603425482c63c5045a3005db1354a7097e5ed1ae9/charset_normalizer-3.5.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/cb/92/a8851d936547efe30cc0ce5245feac01f3ec6171f7899bc3f775c72030b3/h5py-3.16.0-cp310-cp310-manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/d6/50/56cf20e2ee5127b603b81d5a69580a1a325083e2b921aa8f067da83927c0/backports_strenum-1.3.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/d7/0b/855e50e27eab8338c71c3157672c065cd2a2ab38887b3ea4bf128cbd89a1/hdf5plugin-7.0.0-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/e8/5f/b98b8da398637b551e427e7be922bdec19177dc54d6811dcdaa503f23aac/charset_normalizer-3.4.9-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/da/a1/b047e1c486a2c66283633b7dbb73872ca16ca1ce6a426f70d4d037fc8e1c/filelock-4.0.12-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/db/cb/dacbc268cb68d0428ea2cbd85266195a9ab3e677449589ddae59bd7542ac/reportlab-5.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/eb/47/c95ffc2009878c7aac0c5e08528022dcb885933252a88b5f170058014464/pydantic-2.13.5-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/fd/15/a70400eeea394dbcf34f926713499c3f7334b2ee0ec3639b794491ffc9c0/fabio-2025.10.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl osx-64: - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h500dc9f_9.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.7.0-h8c408c4_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.4-h77d7759_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h374f1ed_10.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.5-h6e061ac_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.7.0-h6b3a05b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.4-ha5db789_103.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.10.20-hea035f4_1_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.3-h68b038d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-hb794df6_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.5-h332eb6d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.10.22-hea035f4_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.3-h000c2f7_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-ha6c374e_4.conda - pypi: ./ - - pypi: git+https://github.com/LudoBroche/pyelk.git?rev=ewoksdraw-modifications#d9957c0cccbd7dbd0cc58c2fd26b01b592485368 - - pypi: https://files.pythonhosted.org/packages/03/5a/00d0f491d420d491b5134ee044cd8ead5103382d88f4c8aee623258a6348/hdf5plugin-7.0.0-py3-none-macosx_10_13_x86_64.whl - pypi: https://files.pythonhosted.org/packages/06/0c/0c411a0ec64ccb6d104dcabe0e713e05e153a9a2c3c2bd2b32ce412166fe/rpds_py-0.30.0-cp310-cp310-macosx_10_12_x86_64.whl - pypi: https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0b/3e/ede57f735d4766b57de8088d72988edaf5e821d04cee89aa1d4b8aab23fa/ewokscore-5.1.0rc4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1f/f4/f6ddc8b802d0025459429d20a3ff75264da7dd9a248a17baf43035a8c618/hdf5plugin-7.1.0-py3-none-macosx_10_13_x86_64.whl - pypi: https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/25/c2/669d88644cddb1485bd9534e63e8cf476c8e51cb3c3a1297677023505c0e/pillow-12.3.0-cp310-cp310-macosx_10_10_x86_64.whl - pypi: https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/32/d1/c9f42e6cf899957ef6e95c18143a1d00bdbe30969cf33aaddbd0b385e135/silx-3.0.1-cp310-cp310-macosx_10_9_x86_64.whl - pypi: https://files.pythonhosted.org/packages/38/34/98a2f52245f4d47be93b580dae5f9861ef58977d73a79eb47c58f1ad1f3a/xmltodict-1.0.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3a/6b/231413e58a787a89b316bb0d1777da3c62257e4797e09afd8d17ad3549dc/h5py-3.16.0-cp310-cp310-macosx_10_9_x86_64.whl - pypi: https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/56/43/4ca9e49d27a1fcf6bece6f6aec0ea46bb9112489b93d4b688fb415457bdb/iniconfig-2.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/59/1a/0c58377b29992aab5a65646950d0031bb53a7515ce5f79188dc26364e20d/silx-3.1.3-cp310-cp310-macosx_10_9_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/67/81/4add07e5172b7ac40d8ed5ff580409a7801a4fe26d529bdd915401dabfbe/typing_inspection-0.4.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/78/20/f7095ed9fc2c025f9cfe71cc6ec9f1feb05624edc1812423b5f1aecf3d4b/lxml-6.1.1-cp310-cp310-macosx_10_9_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/74/6b/8f79692844269427abb3e4dd9e68edfcbe65ae25527d99183214de716c59/pydantic_core-2.46.5-cp310-cp310-macosx_10_12_x86_64.whl - pypi: https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/85/37/e0bea29f84169ef3736284c0c25d6b777bb4aad11180817f94cdab6f19fb/ewokscore-5.1.0rc3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/94/d4/23cdb18ad1d919ac59d1155698453f66c0a3719b9dc5862f3a3672cb1d08/fabio-2025.10.0-cp310-cp310-macosx_11_0_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/96/dd/c25a32f9f6039a96cfd52296a4630075868aa16e71858b3076699a059201/lxml-6.1.3-cp310-cp310-macosx_10_9_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/98/77/46e87bcfc45d25ab4db7cfc9bb544bfa3ffd302289ed31ae93f5433eb899/charset_normalizer-3.5.2-cp310-cp310-macosx_10_9_universal2.whl - pypi: https://files.pythonhosted.org/packages/99/91/8acff4f5e50511b911bbccb72b8628a49c68ce14148cd9f6431094859a90/annotated_types-0.8.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/a3/07/70085c17a369605f15e301d10ab902115019b1126c7253d964afc230c7d6/reportlab-5.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/ad/81/8e983840c6e5b93b33c2ba81aa3d52c2e42f0e9a690ce7607a2e61da4a5c/charset_normalizer-3.4.9-cp310-cp310-macosx_10_9_universal2.whl - pypi: https://files.pythonhosted.org/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c0/32/89b00b99a78026a37daab12ecb9b52853182de7854e325cd2ff80b7a6e66/ewoksutils-2.0.0rc2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/d6/50/56cf20e2ee5127b603b81d5a69580a1a325083e2b921aa8f067da83927c0/backports_strenum-1.3.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/e7/08/f1ba952f1c8ae5581c70fa9c6da89f247b83e3dd8c09c035d5d7931fc23d/pydantic_core-2.46.4-cp310-cp310-macosx_10_12_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/da/a1/b047e1c486a2c66283633b7dbb73872ca16ca1ce6a426f70d4d037fc8e1c/filelock-4.0.12-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/db/cb/dacbc268cb68d0428ea2cbd85266195a9ab3e677449589ddae59bd7542ac/reportlab-5.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/eb/47/c95ffc2009878c7aac0c5e08528022dcb885933252a88b5f170058014464/pydantic-2.13.5-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f4/a0/39350dd17dd6d6c6507025c0e53aef67a9293a6d37d3511f23ea510d5800/pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl osx-arm64: - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-hc7cc350_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.1-hf6b4638_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-hcf2aa1b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.4-h1ae2325_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.5-h6111c0a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-h47dc5ef_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.4-h34a968b_103.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-h1d4f5a5_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.3-hd24854e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.10.20-hac0b6dc_1_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hd3d0363_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.5-h55eecbc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.10.22-hac0b6dc_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h8b90a29_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda - pypi: ./ - - pypi: git+https://github.com/LudoBroche/pyelk.git?rev=ewoksdraw-modifications#d9957c0cccbd7dbd0cc58c2fd26b01b592485368 - pypi: https://files.pythonhosted.org/packages/05/14/52d505b5c59ce73244f59c7a50ecf47093ce4765f116cdb98286a71eeca2/pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/12/da/dbe4dfc01ac226fb0504fad035f4d69f3202f3502e20e68537631daddd96/lxml-6.1.1-cp310-cp310-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/0b/3e/ede57f735d4766b57de8088d72988edaf5e821d04cee89aa1d4b8aab23fa/ewokscore-5.1.0rc4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/19/6a/4ba3d0fb7297ebae71171822554abe48d7cab29c28b8f9f2c04b79988c05/rpds_py-0.30.0-cp310-cp310-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/29/6b/a7d5c08e19a8e69887ed722fffaefdbaffc8959d5ef5c370a65e52c895ac/lxml-6.1.3-cp310-cp310-macosx_10_9_universal2.whl - pypi: https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/38/34/98a2f52245f4d47be93b580dae5f9861ef58977d73a79eb47c58f1ad1f3a/xmltodict-1.0.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/56/c6/65f646c7ff09bd257f660434adb45c4dfcbbcebcc030562fecf6f5bf887d/pydantic_core-2.46.4-cp310-cp310-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/56/43/4ca9e49d27a1fcf6bece6f6aec0ea46bb9112489b93d4b688fb415457bdb/iniconfig-2.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/67/81/4add07e5172b7ac40d8ed5ff580409a7801a4fe26d529bdd915401dabfbe/typing_inspection-0.4.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/6b/ba/3762f376a2948e3036488d773a146e0ae6ecc2ca03ac20e2615bd0b2ba02/pillow-12.3.0-cp310-cp310-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/74/f9/557ce3aad0fe8471fb5279bab0fc56ea473858a022c4ce8a0b8f303d64e9/h5py-3.16.0-cp310-cp310-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/85/37/e0bea29f84169ef3736284c0c25d6b777bb4aad11180817f94cdab6f19fb/ewokscore-5.1.0rc3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/96/ad/b28f4102e619c262b29bfcd13ccf6799e26f9ff113d2fdce19050ae29448/hdf5plugin-7.0.0-py3-none-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/98/77/46e87bcfc45d25ab4db7cfc9bb544bfa3ffd302289ed31ae93f5433eb899/charset_normalizer-3.5.2-cp310-cp310-macosx_10_9_universal2.whl - pypi: https://files.pythonhosted.org/packages/99/91/8acff4f5e50511b911bbccb72b8628a49c68ce14148cd9f6431094859a90/annotated_types-0.8.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a3/07/70085c17a369605f15e301d10ab902115019b1126c7253d964afc230c7d6/reportlab-5.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a8/e0/7c5c2c0c93b80d5f07101ef7cc0ed9f27e860f01c8e68dc2553d00a67442/silx-3.0.1-cp310-cp310-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/ad/81/8e983840c6e5b93b33c2ba81aa3d52c2e42f0e9a690ce7607a2e61da4a5c/charset_normalizer-3.4.9-cp310-cp310-macosx_10_9_universal2.whl - pypi: https://files.pythonhosted.org/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bd/d0/c787604c71c2bdcda1a5656942fc822cd0f9cd879b9484bb84fc42172703/pydantic_core-2.46.5-cp310-cp310-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/c0/32/89b00b99a78026a37daab12ecb9b52853182de7854e325cd2ff80b7a6e66/ewoksutils-2.0.0rc2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c0/d1/5ddb92494517fa5453c46872a87fd0d0e4a497543b353ce0aad6466f406a/fabio-2025.10.0-cp310-cp310-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/d6/50/56cf20e2ee5127b603b81d5a69580a1a325083e2b921aa8f067da83927c0/backports_strenum-1.3.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/da/a1/b047e1c486a2c66283633b7dbb73872ca16ca1ce6a426f70d4d037fc8e1c/filelock-4.0.12-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/db/cb/dacbc268cb68d0428ea2cbd85266195a9ab3e677449589ddae59bd7542ac/reportlab-5.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/eb/47/c95ffc2009878c7aac0c5e08528022dcb885933252a88b5f170058014464/pydantic-2.13.5-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f3/af/8244d480b2096e8ce79e22c1d1472bf43ad10fb1e55a044334b0b2a69456/hdf5plugin-7.1.0-py3-none-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/fe/f6/f285f5240010944a23c91b025fb033bff5a6b0bc4ba38da7ee25efdbf1ae/silx-3.1.3-cp310-cp310-macosx_11_0_arm64.whl win-64: - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.7.0-h3d046cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.4-hf5d6505_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.5-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.7.0-h3d046cb_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.4-hf5d6505_103.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.10.20-hc20f281_1_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.5-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.10.22-hc20f281_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-ha367084_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36247-habf1de7_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda - pypi: ./ - - pypi: git+https://github.com/LudoBroche/pyelk.git?rev=ewoksdraw-modifications#d9957c0cccbd7dbd0cc58c2fd26b01b592485368 - - pypi: https://files.pythonhosted.org/packages/01/aa/62f082da2c91fac1c234bc9ee0066257ce83f0604abd72e4c9d5991f2d84/pydantic_core-2.46.4-cp310-cp310-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0b/3e/ede57f735d4766b57de8088d72988edaf5e821d04cee89aa1d4b8aab23fa/ewokscore-5.1.0rc4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/2a/fa/926c003379b19fca39dd4634818b00dec6c62d87faf628d1394e137354d4/pyyaml-6.0.3-cp310-cp310-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/37/8d/ca39a7559a4797505530d084fd3a49a2c959efbbbff146302fb7be4e3b35/charset_normalizer-3.4.9-cp310-cp310-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/37/93/a5795be591f057c8e6c955add526ebb872e03150e1b50a90832e1e7c01af/fabio-2025.10.0-cp310-cp310-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/38/34/98a2f52245f4d47be93b580dae5f9861ef58977d73a79eb47c58f1ad1f3a/xmltodict-1.0.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/46/78/2d3b77ea511ad3732fbcd8d968c4cb2bdc269d9ef259745b4d466e4e724f/silx-3.0.1-cp310-cp310-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/48/7c/8fa0039574c476d7c6fa57dd7c32a130436877c6ec1e5ce1cc8ec44878c1/pillow-12.3.0-cp310-cp310-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/4e/14/32cf2aae083c74b95678875e11d25d0cb9e51a33d27f4218eb9aeacfcd70/hdf5plugin-7.0.0-py3-none-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/56/43/4ca9e49d27a1fcf6bece6f6aec0ea46bb9112489b93d4b688fb415457bdb/iniconfig-2.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/66/35/d88fd6718832133c885004c61ceeeb24dbd6397ef877dbed6b3a64d6a286/h5py-3.16.0-cp310-cp310-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/67/81/4add07e5172b7ac40d8ed5ff580409a7801a4fe26d529bdd915401dabfbe/typing_inspection-0.4.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7a/bf/74b6785beac6488fd395e78796339bc197fbad6fd6103b41b15a4009dc4b/lxml-6.1.3-cp310-cp310-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/85/37/e0bea29f84169ef3736284c0c25d6b777bb4aad11180817f94cdab6f19fb/ewokscore-5.1.0rc3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/96/cb/156d7a5cf4f78a7cc571465d8aec7a3c447c94f6749c5123f08438bcf7bc/rpds_py-0.30.0-cp310-cp310-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/99/91/8acff4f5e50511b911bbccb72b8628a49c68ce14148cd9f6431094859a90/annotated_types-0.8.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/9e/97/33691c66a4d7ec1a5a98e7c909a5b83ee45c7f7ba4cf92b1c4cf26e98079/lxml-6.1.1-cp310-cp310-win_amd64.whl - - pypi: https://files.pythonhosted.org/packages/a3/07/70085c17a369605f15e301d10ab902115019b1126c7253d964afc230c7d6/reportlab-5.0.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/a9/3e/b3a66a07d99b52cfaf9d64ccaf7667ce7d75ec733d6c0ab6755eaa3944a1/hdf5plugin-7.1.0-py3-none-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/ae/ab/fb8b5178fdf7bf68efa61cbe892286bc9f73846f26147d4725fb89388475/charset_normalizer-3.5.2-cp310-cp310-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c0/32/89b00b99a78026a37daab12ecb9b52853182de7854e325cd2ff80b7a6e66/ewoksutils-2.0.0rc2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/d6/50/56cf20e2ee5127b603b81d5a69580a1a325083e2b921aa8f067da83927c0/backports_strenum-1.3.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/da/a1/b047e1c486a2c66283633b7dbb73872ca16ca1ce6a426f70d4d037fc8e1c/filelock-4.0.12-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/db/cb/dacbc268cb68d0428ea2cbd85266195a9ab3e677449589ddae59bd7542ac/reportlab-5.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/eb/47/c95ffc2009878c7aac0c5e08528022dcb885933252a88b5f170058014464/pydantic-2.13.5-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f2/94/205ed9d7ddaf44acd489889708ea124a3f41bdb42c141c8684d528ad0e7a/pydantic_core-2.46.5-cp310-cp310-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/f8/f3/5e1bd1c3cde3a3a2c03c309016cad42ae037b3b2a1ba3fb6cb8411bc2341/silx-3.1.3-cp310-cp310-win_amd64.whl packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda build_number: 20 @@ -492,31 +492,25 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: + strong: + - _openmp_mutex >=4.5 size: 28948 timestamp: 1770939786096 -- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda - sha256: 0b75d45f0bba3e95dc693336fa51f40ea28c980131fec438afb7ce6118ed05f6 - md5: d2ffd7602c02f2b316fd921d39876885 +- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda + sha256: 1a0d382c515ebf55f8ee1f38c8b81bc95af5c2acc42ad53b66bc5df932032f96 + md5: e675fabcf81499adc7edf58124fb1e01 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 license: bzip2-1.0.6 license_family: BSD purls: [] - size: 260182 - timestamp: 1771350215188 -- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h54a6638_2.conda - sha256: d7c260b7e1cf22ce04d6ba8a86eabf4e6c50bc96a5c27fe2ecb32298af3e88eb - md5: 4ef4b977bb216a3001a3334696a80850 - depends: - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - license: MIT - license_family: MIT - purls: [] - size: 14455340 - timestamp: 1784916378180 + run_exports: + weak: + - bzip2 >=1.0.8,<2.0a0 + size: 257808 + timestamp: 1785906269155 - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda sha256: 27d83f1188cd19bcb7754a078b3fa7f4cfb8527f8eb2fde54dd01fc529d1adec md5: 449500f2c089da11c40f5c21312e3e07 @@ -528,77 +522,68 @@ packages: license: GPL-3.0-only license_family: GPL purls: [] + run_exports: {} size: 745303 timestamp: 1784214507189 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - sha256: 16feffd9ddbbe5b718515d38ee376c685ba95491cd901244e24671d20b952a77 - md5: b24d3c612f71e7aa74158d92106318b2 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.5-hd2095e1_0.conda + sha256: 6de73033a7c5f712c9c5a54124e4581e025691029835e5bceaf10a333a7e7bc0 + md5: 72cfd2b95b0540247220b42f58a148d7 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 + - libgcc >=15 constrains: - - expat 2.8.1.* - license: MIT - license_family: MIT - purls: [] - size: 77856 - timestamp: 1781203599810 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - sha256: 31f19b6a88ce40ebc0d5a992c131f57d919f73c0b92cd1617a5bec83f6e961e6 - md5: a360c33a5abe61c07959e449fa1453eb - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 + - expat 2.8.5.* license: MIT license_family: MIT purls: [] - size: 58592 - timestamp: 1769456073053 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h3435931_0.conda - sha256: ac38603008bf1e99b8ed379b1a656a67a70e2841f2b6a069c630cdf6316012d2 - md5: 0abe40a9880086ca4d2e5daf09dceff9 + run_exports: {} + size: 77893 + timestamp: 1790346247149 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda + sha256: c8c7583ef063bc3c430f1d48298e5ad24f796a35c22ed5b14183325825a61106 + md5: 6525a0b06aa4fd390795f0740636a9dd depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 + - libgcc >=15 license: MIT license_family: MIT purls: [] - size: 67576 - timestamp: 1783520858222 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.1.0-ha9f2e26_1.conda - sha256: d5cb8475131c31680f8fd30512c418f373064e272e452063276a8fb14c9fa42f - md5: 5a7d954665c707c93311657cd779c705 + run_exports: + weak: + - libffi >=3.7.0,<3.8.0a0 + size: 68004 + timestamp: 1787753412298 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda + sha256: e031634c3a928f9594eba868bc46ef5230d6571a364a0c63215b06c4563bfcea + md5: 735629b400b70eeab21a2ba8f5b1c2ce depends: - __glibc >=2.17,<3.0.a0 - _openmp_mutex >=4.5 constrains: - - libgomp 16.1.0 he0feb66_1 - - libgcc-ng ==16.1.0=*_1 - license: GPL-3.0-only WITH GCC-exception-3.1 - purls: [] - size: 1057877 - timestamp: 1785375436766 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-16.1.0-h69a702a_1.conda - sha256: 225275c562337a1cd61705da0ee4235dde7bba7504de1c34b74c894adb2b0eee - md5: 7ed870c014a6f23c7dfafda53d2763a9 - depends: - - libgcc 16.1.0 ha9f2e26_1 + - libgcc-ng ==16.2.0=*_7 + - libgomp 16.2.0 he0feb66_7 license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL purls: [] - size: 28210 - timestamp: 1785375440733 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.1.0-he0feb66_1.conda - sha256: 62cb599ad0539d99386515326d9d5e8f51f75a60c69c2131b21df76edf35bd89 - md5: 88f2d91cb1533194c323534253094d23 + run_exports: {} + size: 1058444 + timestamp: 1790303109576 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda + sha256: 92a0bb350c7be6a4eedcb4e111c60aefd176018e6b1c009a6e025dbe9bbcd758 + md5: d904c7ddd95e026254b4b80808ee9e12 depends: - __glibc >=2.17,<3.0.a0 license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL purls: [] - size: 640415 - timestamp: 1785375373755 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - sha256: ec30e52a3c1bf7d0425380a189d209a52baa03f22fb66dd3eb587acaa765bd6d - md5: b88d90cad08e6bc8ad540cb310a761fb + run_exports: + strong: + - _openmp_mutex >=4.5 + size: 640566 + timestamp: 1790303046034 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda + sha256: 9787df8c22a59c9a70d3e5a10db9ad663485e75e9ccc3f09bd092cb7b95e0dab + md5: 1390b7c5ac0b1d8e447bc5efa6d3c8c2 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 @@ -606,19 +591,23 @@ packages: - xz 5.8.3.* license: 0BSD purls: [] - size: 113478 - timestamp: 1775825492909 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - sha256: fe171ed5cf5959993d43ff72de7596e8ac2853e9021dec0344e583734f1e0843 - md5: 2c21e66f50753a083cbe6b80f38268fa + run_exports: + weak: + - liblzma >=5.8.3,<6.0a0 + size: 112995 + timestamp: 1786348617826 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_2.conda + sha256: 46820b4a835e175940ae20bec00fdddaff804cda27a1408ab1b95e77a2196437 + md5: fcfed1dc5053eb1901b66e7b1fc32588 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 license: BSD-2-Clause license_family: BSD purls: [] - size: 92400 - timestamp: 1769482286018 + run_exports: {} + size: 92759 + timestamp: 1786650399772 - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda sha256: 927fe72b054277cde6cb82597d0fcf6baf127dcbce2e0a9d8925a68f1265eef5 md5: d864d34357c3b65a4b731f78c0801dc4 @@ -628,52 +617,83 @@ packages: license: LGPL-2.1-only license_family: GPL purls: [] + run_exports: + weak: + - libnsl >=2.0.1,<2.1.0a0 size: 33731 timestamp: 1750274110928 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.4-hf4e2dac_0.conda - sha256: 72023efc207fe681e26b65fc9d668062cf0b4f0eacf3431e6eb099b95c1f2efd - md5: df088a279cd5e6fd2790b4c196434da1 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.14.8-hdc7f604_101_cp314.conda + build_number: 101 + sha256: 3dc27daa3470f9b6f863942d99db623d79204ea478955ea73e97d3519cae2ab5 + md5: 5782a594549b816514ca434a42bbf11a depends: - __glibc >=2.17,<3.0.a0 - - icu >=78.3,<79.0a0 - - libgcc >=14 + - libgcc >=15 + - libstdcxx >=15 + license: Python-2.0 + purls: [] + run_exports: + weak: + - libpython >=3.14,<4.0a0 + size: 10544845 + timestamp: 1791333423324 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.4-h0737f62_103.conda + sha256: 66f4831f4ee3055f0ffe94e01901198cf3601e2c1b4f6b51d05c3f2d8557ce1d + md5: cc1ad2520049c35344239454a17560ac + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=15 - libzlib >=1.3.2,<2.0a0 + constrains: + - icu <0.0a0 license: blessing purls: [] - size: 964200 - timestamp: 1785016112246 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.1.0-h934c35e_1.conda - sha256: 79721dd08aeb0ab9e773f1f9ef41cf4e6c17477e3d72319147619045bce05a09 - md5: aed6cf89adc1e9b846e4367ac538e434 + run_exports: + weak: + - libsqlite >=3.53.4,<4.0a0 + size: 967489 + timestamp: 1791288185694 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda + sha256: fa7018298629fc429971fffd6ecba3d27a7b02e4e890d6a93ea01ffebe8cb745 + md5: 9b6707e0caca917fa6ea9ee473f37a5d depends: - __glibc >=2.17,<3.0.a0 - - libgcc 16.1.0 ha9f2e26_1 + - libgcc 16.2.0 ha9f2e26_7 constrains: - - libstdcxx-ng ==16.1.0=*_1 + - libstdcxx-ng ==16.2.0=*_7 license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL purls: [] - size: 6631744 - timestamp: 1785375462643 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda - sha256: 9b1bdce27a7e31f7d241aeecff67a1f3101d52a2b1e33ccc2cdf2613072bf81f - md5: 01bb81d12c957de066ea7362007df642 + run_exports: {} + size: 6615436 + timestamp: 1790303132935 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.4-hcfc3c73_0.conda + sha256: f34b8d1de9a2bf62476d8608057d9b8a918d97444236dc53a47128f2fae79041 + md5: 54a948337e66706380ff24d6b5fde63f depends: - - libgcc >=14 + - libgcc >=15 - __glibc >=2.17,<3.0.a0 license: BSD-3-Clause license_family: BSD purls: [] - size: 40017 - timestamp: 1781625522462 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda - sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c - md5: 5aa797f8787fe7a17d1b0821485b5adc + run_exports: + weak: + - libuuid >=2.42.4,<3.0a0 + size: 34442 + timestamp: 1790121449161 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.38-h280c20c_0.conda + sha256: f7e9292dd219a6435bbb1223da9586c3e70d66d169c5a92f08db3f2127df04e9 + md5: f7a7ff5a6ab331e037abd34f379a631d depends: - - libgcc-ng >=12 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 license: LGPL-2.1-or-later purls: [] - size: 100393 - timestamp: 1702724383534 + run_exports: + weak: + - libxcrypt >=4.4.38 + size: 101957 + timestamp: 1785887123445 - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda sha256: eb8a0db0aa570124f7d2a93d7c7f596e3390df5e047818d873baad32985fc736 md5: 0de0122d9570a8ab637c6b73db268389 @@ -684,49 +704,57 @@ packages: license: Zlib license_family: Other purls: [] + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 size: 63713 timestamp: 1785362952714 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda - sha256: fc89f74bbe362fb29fa3c037697a89bec140b346a2469a90f7936d1d7ea4d8a3 - md5: fc21868a1a5aacc937e7a18747acb8a5 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda + sha256: 5d46557214ed184381dafe835b7c94a474a1c3b307a08a250b1ea4779b44ffb3 + md5: ee6c0cd80a60961a1f48aa3e0b91f986 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 license: X11 AND BSD-3-Clause purls: [] - size: 918956 - timestamp: 1777422145199 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda - sha256: d48f5c22b9897c01e4dff3680f1f57ceb02711ab9c62f74339b080419dfad34b - md5: 79dd2074b5cd5c5c6b2930514a11e22d + run_exports: + weak: + - ncurses >=6.6,<7.0a0 + size: 911196 + timestamp: 1786355078102 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda + sha256: 9c1533f1cf784f0e250919c0c9762d0b0e6bc727a79290ffb7cea1ceca1d038c + md5: 5a51a2ea653f120240b1a9bf76e0aae9 depends: - __glibc >=2.17,<3.0.a0 - ca-certificates - - libgcc >=14 + - libgcc >=15 license: Apache-2.0 license_family: Apache purls: [] - size: 3159683 - timestamp: 1781069855778 -- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.10.20-h267e890_1_cpython.conda - build_number: 1 - sha256: c15d8585b7a52fdb734bd16dbdcae4b81ed59268862d3a2588eb8ed69c8cbc52 - md5: c5eace1c2d8dae0bb08c094617ea8cc7 + run_exports: + weak: + - openssl >=3.6.5,<4.0a0 + size: 3195299 + timestamp: 1791098052301 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.10.22-h267e890_0_cpython.conda + sha256: 819fa140a71ab005c448bf164eb182f91610b50f0bffca5b0b94cb6773c5e2f4 + md5: 4dd10eb73930c39aa7bc48b979fa24e0 depends: - __glibc >=2.17,<3.0.a0 - bzip2 >=1.0.8,<2.0a0 - ld_impl_linux-64 >=2.36.1 - - libexpat >=2.8.1,<3.0a0 + - libexpat >=2.8.5,<3.0a0 - libffi >=3.4,<4.0a0 - libgcc >=14 - liblzma >=5.8.3,<6.0a0 - libnsl >=2.0.1,<2.1.0a0 - - libsqlite >=3.53.2,<4.0a0 - - libuuid >=2.42.1,<3.0a0 - - libxcrypt >=4.4.36 + - libsqlite >=3.53.4,<4.0a0 + - libuuid >=2.42.4,<3.0a0 + - libxcrypt >=4.4.38 - libzlib >=1.3.2,<2.0a0 - ncurses >=6.6,<7.0a0 - - openssl >=3.5.7,<4.0a0 + - openssl >=3.5.9,<4.0a0 - readline >=8.3,<9.0a0 - tk >=8.6.13,<8.7.0a0 - tzdata @@ -734,26 +762,32 @@ packages: - python_abi 3.10.* *_cp310 license: Python-2.0 purls: [] - size: 25403213 - timestamp: 1781149348162 -- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_101_cp314.conda + run_exports: + weak: + - python_abi 3.10.* *_cp310 + noarch: + - python + size: 25334749 + timestamp: 1791328449078 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.8-hcd007b5_101_cp314.conda build_number: 101 - sha256: ee8f2006e1724b1f2e9e0ccc5a7cfdcab973460faa2f63ac1f6e44fdad4c0344 - md5: 78975a41cf3c525da654f17e35bfca9e + sha256: e22f6a79d290935b2c854d325e260f70f364c7cc7ec0bc8308ded4f2f1eef7e6 + md5: 5cb98b237dfc2c64a65e660d7b99cfa5 depends: - __glibc >=2.17,<3.0.a0 - bzip2 >=1.0.8,<2.0a0 - ld_impl_linux-64 >=2.36.1 - - libexpat >=2.8.1,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 + - libexpat >=2.8.5,<3.0a0 + - libffi >=3.7.0,<3.8.0a0 + - libgcc >=15 - liblzma >=5.8.3,<6.0a0 - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.53.3,<4.0a0 - - libuuid >=2.42.2,<3.0a0 + - libpython 3.14.8 hdc7f604_101_cp314 + - libsqlite >=3.53.4,<4.0a0 + - libuuid >=2.42.4,<3.0a0 - libzlib >=1.3.2,<2.0a0 - ncurses >=6.6,<7.0a0 - - openssl >=3.5.7,<4.0a0 + - openssl >=3.5.9,<4.0a0 - python_abi 3.14.* *_cp314 - readline >=8.3,<9.0a0 - tk >=8.6.13,<8.7.0a0 @@ -761,46 +795,60 @@ packages: - zstd >=1.5.7,<1.6.0a0 license: Python-2.0 purls: [] - size: 36869055 - timestamp: 1784910110714 + run_exports: + weak: + - python_abi 3.14.* *_cp314 + noarch: + - python + size: 26633451 + timestamp: 1791333464567 python_site_packages_path: lib/python3.14/site-packages -- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - sha256: 12ffde5a6f958e285aa22c191ca01bbd3d6e710aa852e00618fa6ddc59149002 - md5: d7d95fc8287ea7bf33e0e7116d2b95ec +- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda + sha256: 01b3fe073a66e321970d09e04b388708f8cbdca5cdfbfcb7c9eeb470ad10383d + md5: 69c01c781e7c8190bbdaf79e3848c5ca depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - ncurses >=6.5,<7.0a0 + - libgcc >=15 + - ncurses >=6.6,<7.0a0 license: GPL-3.0-only license_family: GPL purls: [] - size: 345073 - timestamp: 1765813471974 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda - build_number: 103 - sha256: 43624eab22f5f29df7d6ffe914cf442f28fd559b55b290906255492826e636e8 - md5: 48a1049e710857572fc2a832aa394d9f - depends: + run_exports: + weak: + - readline >=8.3,<9.0a0 + size: 348899 + timestamp: 1787033801506 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda + build_number: 104 + sha256: a1a241d172c1ccab067ba245206dd048bc3c2d1b84504b53c9468e99adfc16a1 + md5: 676a2f9b1c4fcf57b70aa5c65f6c60d0 + depends: + - libgcc >=15 - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - libzlib >=1.3.2,<2.0a0 constrains: - xorg-libx11 >=1.8.13,<2.0a0 license: TCL purls: [] - size: 3550916 - timestamp: 1784229071544 -- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - sha256: 68f0206ca6e98fea941e5717cec780ed2873ffabc0e1ed34428c061e2c6268c7 - md5: 4a13eeac0b5c8e5b8ab496e6c4ddd829 + run_exports: + weak: + - tk >=8.6.13,<8.7.0a0 + size: 3566806 + timestamp: 1787272857910 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda + sha256: 47d682b9f6d6ec9eb1a6e6c3e75ea6273e899e78fb7fc59f81d39745009fbc60 + md5: aa459086047c0e5e27023ab19f8cb86a depends: - __glibc >=2.17,<3.0.a0 - - libzlib >=1.3.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 license: BSD-3-Clause license_family: BSD purls: [] - size: 601375 - timestamp: 1764777111296 + run_exports: + weak: + - zstd >=1.5.7,<1.6.0a0 + size: 601301 + timestamp: 1786599621503 - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda sha256: 95e8e74062a5fe5f870ac8c90302b6e89945165fdaed7810606e84ddee6aac12 md5: e27d2ac27b096dc51fedfcf775a53f9b @@ -808,6 +856,7 @@ packages: - __win license: ISC purls: [] + run_exports: {} size: 132136 timestamp: 1784754918886 - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda @@ -817,99 +866,133 @@ packages: - __unix license: ISC purls: [] + run_exports: {} size: 131780 timestamp: 1784754889428 -- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - build_number: 8 - sha256: ad6d2e9ac39751cc0529dd1566a26751a0bf2542adb0c232533d32e176e21db5 - md5: 0539938c55b6b1a59b560e843ad864a4 +- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda + build_number: 9 + sha256: e7f8e965bbfb98e08feb2365cacdad8bb218fa5b5a0a2752f747287f425f213c + md5: 350d89b50d7de805abf2e63e29dee451 constrains: - python 3.14.* *_cp314 license: BSD-3-Clause license_family: BSD purls: [] - size: 6989 - timestamp: 1752805904792 + run_exports: {} + size: 6791 + timestamp: 1788302824440 - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda sha256: b928c30ddcb0e3f544c6eade8352737e6e610e263276b90232db6a578ef899d8 md5: fcb489df604d100968b737f2cb6076c6 license: LicenseRef-Public-Domain purls: [] + run_exports: {} size: 118849 timestamp: 1784250406640 -- conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h500dc9f_9.conda - sha256: 9f242f13537ef1ce195f93f0cc162965d6cc79da578568d6d8e50f70dd025c42 - md5: 4173ac3b19ec0a4f400b4f782910368b +- conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h374f1ed_10.conda + sha256: 4ed83961876dc8844a6f0df49c07b408efbaea275ffb0b37133e24c006990b3a + md5: 9d9a39212a876e4bb751c1cc3927b678 depends: - - __osx >=10.13 + - __osx >=11.0 license: bzip2-1.0.6 license_family: BSD purls: [] - size: 133427 - timestamp: 1771350680709 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda - sha256: 9c96cc05e056e1bba5b545cbbd57b6e01db622dc2c82934caaaa25cfb22fe666 - md5: dcfdea7b7013beef0a4d744d776ea38f + run_exports: + weak: + - bzip2 >=1.0.8,<2.0a0 + size: 133271 + timestamp: 1785906721507 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-23.1.3-h19cb2f5_0.conda + sha256: 19ec3adf903c04aac6f31b180d283f0beb6d0393c5c1603f1d57355eb3a8fd66 + md5: 55664c771bbae09ac41bd7c940c3a7e1 depends: - __osx >=11.0 - constrains: - - expat 2.8.1.* - license: MIT - license_family: MIT + license: Apache-2.0 WITH LLVM-exception + license_family: Apache purls: [] - size: 76020 - timestamp: 1781204303305 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.5.2-hd1f9c09_0.conda - sha256: 951958d1792238006fdc6fce7f71f1b559534743b26cc1333497d46e5903a2d6 - md5: 66a0dc7464927d0853b590b6f53ba3ea + run_exports: {} + size: 573303 + timestamp: 1791337833929 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.5-h6e061ac_0.conda + sha256: c58d84e9455db8161fa6a2413c1bf11de30682c02f9a3c1ddfaf24ea73dbe10f + md5: 082b0cec641dcb5bbf71d2aa4b37bfd4 depends: - - __osx >=10.13 + - __osx >=11.0 + constrains: + - expat 2.8.5.* license: MIT license_family: MIT purls: [] - size: 53583 - timestamp: 1769456300951 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.7.0-h8c408c4_0.conda - sha256: 525e9b574d6a62b73ccd4cb616495fccd11e80c7e6f4fd7e97a9dd5804bf4c0e - md5: b85d1868b8d9af5306443978da2961d6 + run_exports: {} + size: 75347 + timestamp: 1790370393156 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.7.0-h6b3a05b_1.conda + sha256: c4793041226c87f987b9903e6503b76f02f52855cc193be2729ac127e600529b + md5: e077b71ae65754eda067e4125364b905 depends: - __osx >=11.0 license: MIT license_family: MIT purls: [] - size: 61307 - timestamp: 1783521470318 -- conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_0.conda - sha256: d9e2006051529aec5578c6efeb13bb6a7200a014b2d5a77a579e83a8049d5f3c - md5: becdfbfe7049fa248e52aa37a9df09e2 + run_exports: + weak: + - libffi >=3.7.0,<3.8.0a0 + size: 60786 + timestamp: 1787754056669 +- conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_1.conda + sha256: 7915dac7c71c208e40e716e2f6d3eff41a8d5584e0e7c2d46f9bf9bd5f9aa739 + md5: daf49067580fbfeae3ac7f9535400494 depends: - __osx >=11.0 constrains: - xz 5.8.3.* license: 0BSD purls: [] - size: 105724 - timestamp: 1775826029494 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libmpdec-4.0.0-hf3981d6_1.conda - sha256: 1096c740109386607938ab9f09a7e9bca06d86770a284777586d6c378b8fb3fd - md5: ec88ba8a245855935b871a7324373105 + run_exports: + weak: + - liblzma >=5.8.3,<6.0a0 + size: 104919 + timestamp: 1786349094608 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libmpdec-4.0.0-ha1e9b39_2.conda + sha256: 6438d0ef76e81f2b75ad7599685a525407c1d9fb2d6a7c18f360614ae6807970 + md5: b10a43915a31193e06b2781b9d11aec3 depends: - - __osx >=10.13 + - __osx >=11.0 license: BSD-2-Clause license_family: BSD purls: [] - size: 79899 - timestamp: 1769482558610 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.4-h77d7759_0.conda - sha256: 5725d44a17d196adba9798a5fd9f692b7039a827cd6145556a072a80e1931c49 - md5: 993009426e1d3aa90eed155171bd59d8 + run_exports: {} + size: 79639 + timestamp: 1786651070313 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libpython-3.14.8-hfe304d0_101_cp314.conda + build_number: 101 + sha256: 00fa627d39047acaee98bac32821cc5dac92c60a49b3e62f1ad7cb8d03c2187e + md5: 466f99da218bc7b6713db0d5404ca8d5 + depends: + - __osx >=11.0 + - libcxx >=20 + license: Python-2.0 + purls: [] + run_exports: + weak: + - libpython >=3.14,<4.0a0 + size: 2120464 + timestamp: 1791334549048 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.4-ha5db789_103.conda + sha256: 6ab024b8ec426ff3cb2856f77e3bcca3b0be619330d9bf422f90c934c5d836dc + md5: f8903c56faaf28af430e6aa3a9a33943 depends: - __osx >=11.0 - libzlib >=1.3.2,<2.0a0 + constrains: + - icu <0.0a0 license: blessing purls: [] - size: 1008531 - timestamp: 1785016345740 + run_exports: + weak: + - libsqlite >=3.53.4,<4.0a0 + size: 1009387 + timestamp: 1791288417901 - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_3.conda sha256: b2dba286dd6632292b12296e761193b5ef9fb0eaeecaa481f5ba9af72c0c18e1 md5: 7d3fa28263bb7f8ea32db11f570a5bb6 @@ -920,42 +1003,50 @@ packages: license: Zlib license_family: Other purls: [] + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 size: 58993 timestamp: 1785276808631 -- conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_0.conda - sha256: f5f7e006ff4271305ab4cc08eedd855c67a571793c3d18aff73f645f088a8cae - md5: 31b8740cf1b2588d4e61c81191004061 +- conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_1.conda + sha256: 12c1d676b9a0e8109b576672519312c5428308f3f3d7706f8717e2f536d5d9e7 + md5: 88a79390f87c8f3334b9999a892e78d4 depends: - __osx >=11.0 license: X11 AND BSD-3-Clause purls: [] - size: 831711 - timestamp: 1777423052277 -- conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_0.conda - sha256: 819d4368d6b5b298fa40d4bc836c1250842489002cacf3fb918a13ee2033b7c6 - md5: 46be42ab403712fd349d007d763bf767 + run_exports: + weak: + - ncurses >=6.6,<7.0a0 + size: 834865 + timestamp: 1786356957789 +- conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.5-h332eb6d_0.conda + sha256: d992d27aec2f1beac81f792c85b449546c030f06937b5b3ea7cf58431861dde4 + md5: 615ac6cff316565b442cd1af8b94837f depends: - __osx >=11.0 - ca-certificates license: Apache-2.0 license_family: Apache purls: [] - size: 2775300 - timestamp: 1781071391999 -- conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.10.20-hea035f4_1_cpython.conda - build_number: 1 - sha256: 9bc83a907d13a532f3a38ddc666a58d612cf548347d5e8eec2ce1ad1dacbe420 - md5: b0564ca60a54a4087fcd11326e1169e2 + run_exports: + weak: + - openssl >=3.6.5,<4.0a0 + size: 2786968 + timestamp: 1791099439455 +- conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.10.22-hea035f4_0_cpython.conda + sha256: 437aa5d2b40484307293785892c738039092262a56573bde15159d0894352f6f + md5: 8598a289055f87b52267636305e6a009 depends: - __osx >=11.0 - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.8.1,<3.0a0 + - libexpat >=2.8.5,<3.0a0 - libffi >=3.4,<4.0a0 - liblzma >=5.8.3,<6.0a0 - - libsqlite >=3.53.2,<4.0a0 + - libsqlite >=3.53.4,<4.0a0 - libzlib >=1.3.2,<2.0a0 - ncurses >=6.6,<7.0a0 - - openssl >=3.5.7,<4.0a0 + - openssl >=3.5.9,<4.0a0 - readline >=8.3,<9.0a0 - tk >=8.6.13,<8.7.0a0 - tzdata @@ -963,23 +1054,29 @@ packages: - python_abi 3.10.* *_cp310 license: Python-2.0 purls: [] - size: 13071051 - timestamp: 1781151393975 -- conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.14.6-h7c6738f_101_cp314.conda + run_exports: + weak: + - python_abi 3.10.* *_cp310 + noarch: + - python + size: 12116349 + timestamp: 1791329159840 +- conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.14.8-hafa0b4b_101_cp314.conda build_number: 101 - sha256: 08c788453bdf61071e075a97684291286877536ee92f23a73b4127f1b85bdbcd - md5: c773b2aa854bf3d37e26aeb677c0e732 + sha256: 91874ead4971c6d3b5a2b50b25c34ce8a312f2aa6a862469547c6e4d8b5af2f6 + md5: a66d7bb9eb54ce5939e5b0993d228bc5 depends: - __osx >=11.0 - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.8.1,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 + - libexpat >=2.8.5,<3.0a0 + - libffi >=3.7.0,<3.8.0a0 - liblzma >=5.8.3,<6.0a0 - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.53.3,<4.0a0 + - libpython 3.14.8 hfe304d0_101_cp314 + - libsqlite >=3.53.4,<4.0a0 - libzlib >=1.3.2,<2.0a0 - ncurses >=6.6,<7.0a0 - - openssl >=3.5.7,<4.0a0 + - openssl >=3.5.9,<4.0a0 - python_abi 3.14.* *_cp314 - readline >=8.3,<9.0a0 - tk >=8.6.13,<8.7.0a0 @@ -987,125 +1084,159 @@ packages: - zstd >=1.5.7,<1.6.0a0 license: Python-2.0 purls: [] - size: 14497574 - timestamp: 1784958042787 + run_exports: + weak: + - python_abi 3.14.* *_cp314 + noarch: + - python + size: 12690138 + timestamp: 1791334717743 python_site_packages_path: lib/python3.14/site-packages -- conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.3-h68b038d_0.conda - sha256: 4614af680aa0920e82b953fece85a03007e0719c3399f13d7de64176874b80d5 - md5: eefd65452dfe7cce476a519bece46704 +- conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.3-h000c2f7_1.conda + sha256: feb9248a062b7a0738e56339d8c9e87bc9adf8e8c76549fb55b0b2456bec3a57 + md5: 434eb49340f57827ef7ca3bb21f77c32 depends: - - __osx >=10.13 - - ncurses >=6.5,<7.0a0 + - __osx >=11.0 + - ncurses >=6.6,<7.0a0 license: GPL-3.0-only license_family: GPL purls: [] - size: 317819 - timestamp: 1765813692798 -- conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-hb794df6_3.conda - sha256: 670a364b8285887e5738880bb026f721af2662cfefe9ef64aa9e93eff1981535 - md5: bc699b366e49399bf8e5c6de99bb8cfb + run_exports: + weak: + - readline >=8.3,<9.0a0 + size: 319279 + timestamp: 1787034454836 +- conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-ha6c374e_4.conda + sha256: 74e5fabcaf6ca0db052c645646ea04ded98a5eb7540483217f8101a819eb3107 + md5: 71c9f1f0267f2639523e898c6b50a4dc depends: - __osx >=11.0 - libzlib >=1.3.2,<2.0a0 license: TCL purls: [] - size: 3516600 - timestamp: 1784229134070 -- conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-h3eecb57_6.conda - sha256: 47101a4055a70a4876ffc87b750ab2287b67eca793f21c8224be5e1ee6394d3f - md5: 727109b184d680772e3122f40136d5ca + run_exports: + weak: + - tk >=8.6.13,<8.7.0a0 + size: 3512384 + timestamp: 1787272935349 +- conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-hbc1a06c_7.conda + sha256: 5277886d9704a624dc9b79ac985861e1e431bdb39a57c082507ab577a138ec6c + md5: c1d11f04327e40537ffe6cad5b131019 depends: - - __osx >=10.13 - - libzlib >=1.3.1,<2.0a0 + - __osx >=11.0 + - libzlib >=1.3.2,<2.0a0 license: BSD-3-Clause license_family: BSD purls: [] - size: 528148 - timestamp: 1764777156963 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda - sha256: 540fe54be35fac0c17feefbdc3e29725cce05d7367ffedfaaa1bdda234b019df - md5: 620b85a3f45526a8bc4d23fd78fc22f0 + run_exports: + weak: + - zstd >=1.5.7,<1.6.0a0 + size: 528228 + timestamp: 1786599702092 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda + sha256: 8ec22f0ba25cbfc2e64d70cf29459eccd7ffdf6436f6a6ff15bbfef799f7d4f6 + md5: b50612e7d190b8061ab4e7dc119cf4d5 depends: - __osx >=11.0 license: bzip2-1.0.6 license_family: BSD purls: [] - size: 124834 - timestamp: 1771350416561 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-hc7cc350_2.conda - sha256: f0b22bc30e4cc29e29ba3234cb38497fe8def2c2aae4b775d42fe5b378a018c9 - md5: 6133ddbb17ba2b50700dd88e9303ce27 + run_exports: + weak: + - bzip2 >=1.0.8,<2.0a0 + size: 124965 + timestamp: 1785906749812 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-23.1.3-h55c6f16_0.conda + sha256: 2d9d31172d7919bd276a8d1be338de567dd5afdd181e8d3d3d8c2d8695e09de2 + md5: 424521e52e65ef7f6cf957c4966e6386 depends: - __osx >=11.0 - license: MIT - license_family: MIT + license: Apache-2.0 WITH LLVM-exception + license_family: Apache purls: [] - size: 14070698 - timestamp: 1784916459058 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.1-hf6b4638_1.conda - sha256: 5af74261101e3c777399c6294b2b5d290e508153268eb2e9ff99c4d69834612f - md5: a915151d5d3c5bf039f5ccc8402a436f + run_exports: {} + size: 577501 + timestamp: 1791337239735 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.5-h6111c0a_0.conda + sha256: 50aa761b83fc7a116ca88fe0cb4cefce5abababb10a926bf8afbafd5c298d102 + md5: 5383c550b785bdaafcc4eaf638071a7c depends: - __osx >=11.0 constrains: - - expat 2.8.1.* - license: MIT - license_family: MIT - purls: [] - size: 69362 - timestamp: 1781203631990 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.5.2-hcf2aa1b_0.conda - sha256: 6686a26466a527585e6a75cc2a242bf4a3d97d6d6c86424a441677917f28bec7 - md5: 43c04d9cb46ef176bb2a4c77e324d599 - depends: - - __osx >=11.0 + - expat 2.8.5.* license: MIT license_family: MIT purls: [] - size: 40979 - timestamp: 1769456747661 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-hcf2aa1b_0.conda - sha256: 2c6ac9a6cd65af89b2bd448518bb1e13b44a2e48c0d469398e37bcfc0092e832 - md5: 92e8690d170d46d768c32553458c0105 + run_exports: {} + size: 69565 + timestamp: 1790370026495 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-h47dc5ef_1.conda + sha256: 2783389a7b9dda04c62cc54c6bbeb03dd3cef24b3fc642715d02a3fa19464a9a + md5: 216bbcc23c11e9695b3db4a8771d76eb depends: - __osx >=11.0 license: MIT license_family: MIT purls: [] - size: 43734 - timestamp: 1783521647536 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_0.conda - sha256: 34878d87275c298f1a732c6806349125cebbf340d24c6c23727268184bba051e - md5: b1fd823b5ae54fbec272cea0811bd8a9 + run_exports: + weak: + - libffi >=3.7.0,<3.8.0a0 + size: 43637 + timestamp: 1787753403688 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda + sha256: 23d0630046a3e8b164d8f80f2b74ed2605af2e7050ab9913018056402fae4311 + md5: 8ab10323068b107661a4b9a4af84f3b5 depends: - __osx >=11.0 constrains: - xz 5.8.3.* license: 0BSD purls: [] - size: 92472 - timestamp: 1775825802659 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_1.conda - sha256: 1089c7f15d5b62c622625ec6700732ece83be8b705da8c6607f4dabb0c4bd6d2 - md5: 57c4be259f5e0b99a5983799a228ae55 + run_exports: + weak: + - liblzma >=5.8.3,<6.0a0 + size: 91720 + timestamp: 1786348695846 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_2.conda + sha256: 04cc136c5a956a73aa14e0a160b5822b0b29714e67b299fa1b1fd16dbcba5366 + md5: ff33a4dbd93abc8a798cc4e0e7c8136d depends: - __osx >=11.0 license: BSD-2-Clause license_family: BSD purls: [] - size: 73690 - timestamp: 1769482560514 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.4-h1ae2325_0.conda - sha256: 745662565e103f290e9dc4263bbd88285082f8cf699854fe2d5f1e35a4a0d326 - md5: 0e3477c0c3e718dcf2eb74ccc8f68570 + run_exports: {} + size: 73289 + timestamp: 1786651074391 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.14.8-h4311e70_101_cp314.conda + build_number: 101 + sha256: 257d8491de0514a5da3b3fd0d81a64802df6a7e3a72c31d639bd92d0cb110a0f + md5: af47f048c7a22af82a66a912794fe4ee + depends: + - __osx >=11.0 + - libcxx >=20 + license: Python-2.0 + purls: [] + run_exports: + weak: + - libpython >=3.14,<4.0a0 + size: 1895946 + timestamp: 1791332518303 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.4-h34a968b_103.conda + sha256: b7c1d5a15d21948eec177a00e90801ad0d1c35e552404da9fbf0d657421aa0dd + md5: 68c3a50b8a8abfcc926f2d7e12d1fef5 depends: - __osx >=11.0 - - icu >=78.3,<79.0a0 - libzlib >=1.3.2,<2.0a0 + constrains: + - icu <0.0a0 license: blessing purls: [] - size: 929203 - timestamp: 1785016131414 + run_exports: + weak: + - libsqlite >=3.53.4,<4.0a0 + size: 938370 + timestamp: 1791288154128 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda sha256: a18fa5d5bac452401459f966cf0d872224e8080c4ff93c77e168d43ab42ef9d7 md5: f39288f0ea63ae962e1a2e4f355a0d75 @@ -1116,42 +1247,50 @@ packages: license: Zlib license_family: Other purls: [] + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 size: 47822 timestamp: 1785277049190 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-h1d4f5a5_0.conda - sha256: 4ea6c620b87bd1d42bb2ccc2c87cd2483fa2d7f9e905b14c223f11ff3f4c455d - md5: 343d10ed5b44030a2f67193905aea159 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda + sha256: 7024a48c8c0d0114ed4ab53c76bf9275d50e91ba7cea367a9aead638d3c29c68 + md5: 3dfa0d0316dc246cd44937a557de4501 depends: - __osx >=11.0 license: X11 AND BSD-3-Clause purls: [] - size: 805509 - timestamp: 1777423252320 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.3-hd24854e_0.conda - sha256: b3e3ca895c336d4eb91c5d2f244a312bdb59a0de8cfa0cc4c179225ab2f6bbfb - md5: 8187a86242741725bfa74785fe812979 + run_exports: + weak: + - ncurses >=6.6,<7.0a0 + size: 804298 + timestamp: 1786355189145 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.5-h55eecbc_0.conda + sha256: 44fbc526456571a9fb8fa18157f6f269d4d4bd40eef20183a93b9c9296f94497 + md5: 45d9179cdf6e53d88aec034246f0dad6 depends: - __osx >=11.0 - ca-certificates license: Apache-2.0 license_family: Apache purls: [] - size: 3102584 - timestamp: 1781069820667 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.10.20-hac0b6dc_1_cpython.conda - build_number: 1 - sha256: 3c9e084162759c4029212b96147a179b0ad8076abfca85f00984d2aaa10c70f9 - md5: 7f498ade7b9aa9e327ad23931e6c6d4a + run_exports: + weak: + - openssl >=3.6.5,<4.0a0 + size: 3111573 + timestamp: 1791097959641 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.10.22-hac0b6dc_0_cpython.conda + sha256: 66d5322d2a5b9e78bd65f301bd0a9da54452bedbbaead46a2b7da808cf485c80 + md5: b6dd4544c50c6fc3793cdec56467488a depends: - __osx >=11.0 - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.8.1,<3.0a0 + - libexpat >=2.8.5,<3.0a0 - libffi >=3.4,<4.0a0 - liblzma >=5.8.3,<6.0a0 - - libsqlite >=3.53.2,<4.0a0 + - libsqlite >=3.53.4,<4.0a0 - libzlib >=1.3.2,<2.0a0 - ncurses >=6.6,<7.0a0 - - openssl >=3.5.7,<4.0a0 + - openssl >=3.5.9,<4.0a0 - readline >=8.3,<9.0a0 - tk >=8.6.13,<8.7.0a0 - tzdata @@ -1159,23 +1298,29 @@ packages: - python_abi 3.10.* *_cp310 license: Python-2.0 purls: [] - size: 12888297 - timestamp: 1781148720732 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.6-h156bc91_101_cp314.conda + run_exports: + weak: + - python_abi 3.10.* *_cp310 + noarch: + - python + size: 12877536 + timestamp: 1791327519372 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.8-h0ae1c2c_101_cp314.conda build_number: 101 - sha256: fc70ae73df7798bce7cac7adef7fdfb874208b2623a0e8ccb4354194b8508769 - md5: 6e9670f5238dfb27ef4f6364ed536cc0 + sha256: 4aebb9d626b26a2f7257d3c671bac70a96fffd4706db4d61c35f7bda6bee74f3 + md5: db895757bd372efa32f96937fabb3ef0 depends: - __osx >=11.0 - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.8.1,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 + - libexpat >=2.8.5,<3.0a0 + - libffi >=3.7.0,<3.8.0a0 - liblzma >=5.8.3,<6.0a0 - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.53.3,<4.0a0 + - libpython 3.14.8 h4311e70_101_cp314 + - libsqlite >=3.53.4,<4.0a0 - libzlib >=1.3.2,<2.0a0 - ncurses >=6.6,<7.0a0 - - openssl >=3.5.7,<4.0a0 + - openssl >=3.5.9,<4.0a0 - python_abi 3.14.* *_cp314 - readline >=8.3,<9.0a0 - tk >=8.6.13,<8.7.0a0 @@ -1183,44 +1328,58 @@ packages: - zstd >=1.5.7,<1.6.0a0 license: Python-2.0 purls: [] - size: 14035244 - timestamp: 1784909523029 + run_exports: + weak: + - python_abi 3.14.* *_cp314 + noarch: + - python + size: 12496923 + timestamp: 1791332554767 python_site_packages_path: lib/python3.14/site-packages -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda - sha256: a77010528efb4b548ac2a4484eaf7e1c3907f2aec86123ed9c5212ae44502477 - md5: f8381319127120ce51e081dce4865cf4 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h8b90a29_1.conda + sha256: d6782b430e6dce4fe8c7ac118cd988d5a193eb4a7f60741edfaede58016b6110 + md5: 9347fd56a002e6b58946831d48fe62f6 depends: - __osx >=11.0 - - ncurses >=6.5,<7.0a0 + - ncurses >=6.6,<7.0a0 license: GPL-3.0-only license_family: GPL purls: [] - size: 313930 - timestamp: 1765813902568 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hd3d0363_3.conda - sha256: 47186bc7ab8d7e8bee86bbd1a917196f8c21cf63f081fc33cd6d1221af087580 - md5: 8e3cf0e455e6b54519f0b1c72c61780a + run_exports: + weak: + - readline >=8.3,<9.0a0 + size: 314395 + timestamp: 1787033878899 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda + sha256: 857d89087ae7f2c328cf256728affcb7343031a148b4af847334d248a9cf564c + md5: 90a01bf394d1c594e0eb9258f967d828 depends: - __osx >=11.0 - libzlib >=1.3.2,<2.0a0 license: TCL purls: [] - size: 3338712 - timestamp: 1784229090530 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda - sha256: 9485ba49e8f47d2b597dd399e88f4802e100851b27c21d7525625b0b4025a5d9 - md5: ab136e4c34e97f34fb621d2592a393d8 + run_exports: + weak: + - tk >=8.6.13,<8.7.0a0 + size: 3342183 + timestamp: 1787272852357 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda + sha256: da867f5092eb0cb746d353694f0098031fd9817a4ce7d5743121209ae0f406ca + md5: 4ec2684c73812cc2c3d78379384a39cc depends: - __osx >=11.0 - - libzlib >=1.3.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 license: BSD-3-Clause license_family: BSD purls: [] - size: 433413 - timestamp: 1764777166076 -- conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - sha256: 76dfb71df5e8d1c4eded2dbb5ba15bb8fb2e2b0fe42d94145d5eed4c75c35902 - md5: 4cb8e6b48f67de0b018719cdf1136306 + run_exports: + weak: + - zstd >=1.5.7,<1.6.0a0 + size: 433687 + timestamp: 1786599629846 +- conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_10.conda + sha256: 04767466ee9227c9c57ab2c6503e0149177d34111c7418d2f420297acb1eb229 + md5: c3301c058362f340100d91cd8be0393f depends: - ucrt >=10.0.20348.0 - vc >=14.3,<15 @@ -1228,37 +1387,29 @@ packages: license: bzip2-1.0.6 license_family: BSD purls: [] - size: 56115 - timestamp: 1771350256444 -- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda - sha256: 1a54d874addda73b6f7164d5f3905821277a1831bcc05edd74b3085391688571 - md5: ccc490c81ffe14181861beac0e8f3169 + run_exports: + weak: + - bzip2 >=1.0.8,<2.0a0 + size: 55919 + timestamp: 1785906343696 +- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.5-hac47afa_0.conda + sha256: 70c73d9fd24ad996f2821d1501adae2ca70984b4e2d8faed76227f348ce86078 + md5: 4969128c45f9e71adbb6a1696679ce7f depends: - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 constrains: - - expat 2.8.1.* - license: MIT - license_family: MIT - purls: [] - size: 71631 - timestamp: 1781203724164 -- conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - sha256: 59d01f2dfa8b77491b5888a5ab88ff4e1574c9359f7e229da254cdfe27ddc190 - md5: 720b39f5ec0610457b725eb3f396219a - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - expat 2.8.5.* license: MIT license_family: MIT purls: [] - size: 45831 - timestamp: 1769456418774 -- conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.7.0-h3d046cb_0.conda - sha256: 2ea8d2fe7b84ca37653777e15ac1e7abd35f0c90d3efbe7f6c4de9b489606369 - md5: 92bdfc0e5012660892b0e0eaf3069a5c + run_exports: {} + size: 72107 + timestamp: 1790346254561 +- conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.7.0-h3d046cb_1.conda + sha256: 613e8077c5cca5df7fe84ade7d5050301bee3c6c4c450ffe61d34a349ab4f11c + md5: ceb38b0ba900847d8da4289c3c8e5708 depends: - ucrt >=10.0.20348.0 - vc >=14.3,<15 @@ -1266,11 +1417,14 @@ packages: license: MIT license_family: MIT purls: [] - size: 50247 - timestamp: 1783521107166 -- conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - sha256: d636d1a25234063642f9c531a7bb58d84c1c496411280a36ea000bd122f078f1 - md5: 8f83619ab1588b98dd99c90b0bfc5c6d + run_exports: + weak: + - libffi >=3.7.0,<3.8.0a0 + size: 49992 + timestamp: 1787753517346 +- conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_1.conda + sha256: d36c4a1e1f80fd08e18a407e03622ff2f34dfdd022da6488ad19603dea19e6d5 + md5: 880a0c8549479b198af21ba5dc49b109 depends: - ucrt >=10.0.20348.0 - vc >=14.3,<15 @@ -1279,11 +1433,14 @@ packages: - xz 5.8.3.* license: 0BSD purls: [] - size: 106486 - timestamp: 1775825663227 -- conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - sha256: 40dcd0b9522a6e0af72a9db0ced619176e7cfdb114855c7a64f278e73f8a7514 - md5: e4a9fc2bba3b022dad998c78856afe47 + run_exports: + weak: + - liblzma >=5.8.3,<6.0a0 + size: 105809 + timestamp: 1786348717883 +- conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_2.conda + sha256: f07e451de3db1836b87f7aedf95c8e65cdb06c0e6105329ba24bb5f7b5c75e2a + md5: 5ae92fd6614edd024576e14069d7ad4c depends: - ucrt >=10.0.20348.0 - vc >=14.3,<15 @@ -1291,19 +1448,36 @@ packages: license: BSD-2-Clause license_family: BSD purls: [] - size: 89411 - timestamp: 1769482314283 -- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.4-hf5d6505_0.conda - sha256: 62e1c45ec71ab2e5deeeb0e47e7df6a609991e91d46348f16df50c68fee145c8 - md5: ca0d59f40a02a15e9b5d0ff8db0f85e3 + run_exports: {} + size: 89109 + timestamp: 1786650384519 +- conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.14.8-h4f90d01_101_cp314.conda + build_number: 101 + sha256: 04f9f3a3b9d91e47009baa4a4379ddb11af3e5402928e40e1dd4e02ca83d60f1 + md5: 98114d6c6784f306f4929189f50520a9 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Python-2.0 + purls: [] + run_exports: {} + size: 51940 + timestamp: 1791333541956 +- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.4-hf5d6505_103.conda + sha256: 94e12c9dd0323bd8f9e5abc85bba0994b9ad7f21420bb3310f9fbbbcc7c1b29e + md5: 97b2e506228f785f01a0e6c80b57103a depends: - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 license: blessing purls: [] - size: 1313790 - timestamp: 1785016158097 + run_exports: + weak: + - libsqlite >=3.53.4,<4.0a0 + size: 1313318 + timestamp: 1791288170708 - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_3.conda sha256: 0629c2cc0404d3bb29d6baa7b4ba62da80797015e86de050db81ea5a07050527 md5: 5d2ff29d465097458cc3ff6569151991 @@ -1316,11 +1490,14 @@ packages: license: Zlib license_family: Other purls: [] + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 size: 58529 timestamp: 1785276664143 -- conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda - sha256: cb6e7ba0d010ee0d3249ce9886de3d7613d26d9965d4c95666fa66b9c4c31001 - md5: e99f95734a326c0fd4d02bbd995150d4 +- conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.5-hf411b9b_0.conda + sha256: bc44625e0c6d83f3e02b5f6adc01e0e3ca7001d3d94e24959591a57f5a011b9a + md5: f002ec2237836867bfd3d1299a6005da depends: - ca-certificates - ucrt >=10.0.20348.0 @@ -1329,20 +1506,22 @@ packages: license: Apache-2.0 license_family: Apache purls: [] - size: 9414790 - timestamp: 1781071745579 -- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.10.20-hc20f281_1_cpython.conda - build_number: 1 - sha256: 71e2cdc0f87a0a2c5db7beb82469559bba1ce88a4fafe4e2d169172c2db45d1f - md5: 62018eccb570c1fb288b550f804fb940 + run_exports: + weak: + - openssl >=3.6.5,<4.0a0 + size: 9402647 + timestamp: 1791099870810 +- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.10.22-hc20f281_0_cpython.conda + sha256: ef2d4feaa760b8a4059e5b3307867d3aa65fcb58282a4084ddacaacb16f957ae + md5: 6cfea346c7aacb6f4daeb279bfb88beb depends: - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.8.1,<3.0a0 + - libexpat >=2.8.5,<3.0a0 - libffi >=3.4,<4.0a0 - liblzma >=5.8.3,<6.0a0 - - libsqlite >=3.53.2,<4.0a0 + - libsqlite >=3.53.4,<4.0a0 - libzlib >=1.3.2,<2.0a0 - - openssl >=3.5.7,<4.0a0 + - openssl >=3.5.9,<4.0a0 - tk >=8.6.13,<8.7.0a0 - tzdata - ucrt >=10.0.20348.0 @@ -1352,21 +1531,27 @@ packages: - python_abi 3.10.* *_cp310 license: Python-2.0 purls: [] - size: 16128204 - timestamp: 1781148776322 -- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_101_cp314.conda + run_exports: + weak: + - python_abi 3.10.* *_cp310 + noarch: + - python + size: 16178075 + timestamp: 1791327673101 +- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.8-h53f6dd8_101_cp314.conda build_number: 101 - sha256: 3a9ae901cd853d507d97aa8b72af4b9a572a3f92dcc5bad8a1318f77ff4e0e64 - md5: 67bbf51f88a2053513d7c78f485f7479 + sha256: 6372598cff41f4145686a9bfa3a0399354f34fc3f813b0218a4760428a33d3db + md5: e10e1e2dc571bc18b72d7b231d448cb5 depends: - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.8.1,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 + - libexpat >=2.8.5,<3.0a0 + - libffi >=3.7.0,<3.8.0a0 - liblzma >=5.8.3,<6.0a0 - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.53.3,<4.0a0 + - libpython 3.14.8 h4f90d01_101_cp314 + - libsqlite >=3.53.4,<4.0a0 - libzlib >=1.3.2,<2.0a0 - - openssl >=3.5.7,<4.0a0 + - openssl >=3.5.9,<4.0a0 - python_abi 3.14.* *_cp314 - tk >=8.6.13,<8.7.0a0 - tzdata @@ -1376,20 +1561,28 @@ packages: - zstd >=1.5.7,<1.6.0a0 license: Python-2.0 purls: [] - size: 18338767 - timestamp: 1784911044838 + run_exports: + weak: + - python_abi 3.14.* *_cp314 + noarch: + - python + size: 18253133 + timestamp: 1791333695156 python_site_packages_path: Lib/site-packages -- conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda - sha256: 13fa29257d43f8e630a1e591ed77fae9bbbb236b011432f01e2034cf36e6bf03 - md5: aaf79e2af50a151fb5b5a3e3f38b7a69 +- conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_4.conda + sha256: f19618a3a82cc483dacf1c70a30367ee7b0c7e71b90f1f80e14feff44fbd3688 + md5: dd9eb33c99d352b6356f86964d6040f7 depends: - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 license: TCL purls: [] - size: 3782314 - timestamp: 1784229072899 + run_exports: + weak: + - tk >=8.6.13,<8.7.0a0 + size: 3782376 + timestamp: 1787272860855 - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda sha256: 3005729dce6f3d3f5ec91dfc49fc75a0095f9cd23bab49efb899657297ac91a5 md5: 71b24316859acd00bdb8b38f5e2ce328 @@ -1398,6 +1591,7 @@ packages: - vs2015_runtime >=14.29.30037 license: LicenseRef-MicrosoftWindowsSDK10 purls: [] + run_exports: {} size: 694692 timestamp: 1756385147981 - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-ha367084_41.conda @@ -1410,6 +1604,7 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] + run_exports: {} size: 21383 timestamp: 1785359368566 - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36247-habf1de7_41.conda @@ -1423,6 +1618,7 @@ packages: license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime license_family: Proprietary purls: [] + run_exports: {} size: 767955 timestamp: 1785359364369 - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda @@ -1435,30 +1631,35 @@ packages: license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime license_family: Proprietary purls: [] + run_exports: + strong: + - vcomp14 >=14.51.36247 size: 155910 timestamp: 1785359349999 -- conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda - sha256: 368d8628424966fd8f9c8018326a9c779e06913dd39e646cf331226acc90e5b2 - md5: 053b84beec00b71ea8ff7a4f84b55207 +- conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda + sha256: ca7daae4f218a11fab82cc2857f0ea518ec3f46acec60490485347a4c22c6b3e + md5: e4ac308c39d6d0e131154976da67cf3b depends: - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - libzlib >=1.3.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 license: BSD-3-Clause license_family: BSD purls: [] - size: 388453 - timestamp: 1764777142545 + run_exports: + weak: + - zstd >=1.5.7,<1.6.0a0 + size: 387535 + timestamp: 1786599623274 - pypi: ./ name: ewoksdraw requires_dist: - defusedxml + - ewokscore==5.1.0rc4 - reportlab - typing-extensions ; python_full_version < '3.11' - xmltodict - - pyelk @ git+https://github.com/LudoBroche/pyelk.git@ewoksdraw-modifications - - ewokscore==5.1.0rc3 - pytest>=7 ; extra == 'test' - ewoksdraw[test] ; extra == 'dev' - ruff>=0.16.0 ; extra == 'dev' @@ -1467,38 +1668,11 @@ packages: - sphinx-autodoc-typehints>=1.16 ; extra == 'doc' - pydata-sphinx-theme ; extra == 'doc' requires_python: '>=3.10' -- pypi: git+https://github.com/LudoBroche/pyelk.git?rev=ewoksdraw-modifications#d9957c0cccbd7dbd0cc58c2fd26b01b592485368 - name: pyelk - version: 0.3.0 - requires_dist: - - pytest>=7.0 ; extra == 'dev' - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/01/aa/62f082da2c91fac1c234bc9ee0066257ce83f0604abd72e4c9d5991f2d84/pydantic_core-2.46.4-cp310-cp310-win_amd64.whl - name: pydantic-core - version: 2.46.4 - sha256: 8358a950c8909158e3df31538a7e4edc2d7265a7c54b47f0864d9e5bae9dcebf - requires_dist: - - typing-extensions>=4.14.1 - requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/03/5a/00d0f491d420d491b5134ee044cd8ead5103382d88f4c8aee623258a6348/hdf5plugin-7.0.0-py3-none-macosx_10_13_x86_64.whl - name: hdf5plugin - version: 7.0.0 - sha256: e0ff0a81e6319575ffc8bf230b8df43f3f19f6fe96843e113e04c5ba9f7f3141 - requires_dist: - - h5py>=3.0.0 - - ipython ; extra == 'doc' - - nbsphinx ; extra == 'doc' - - sphinx ; extra == 'doc' - - sphinx-autodoc-typehints ; extra == 'doc' - - sphinx-rtd-theme ; extra == 'doc' - - packaging ; extra == 'test' - - numpy<2 ; python_full_version == '3.9.*' and extra == 'test' - - blosc2>=2.5.1 ; extra == 'test' - - blosc2-grok>=0.2.2 ; extra == 'test' - - hdf5plugin[doc,test] ; extra == 'dev' - - mypy ; extra == 'dev' - - ruff ; extra == 'dev' - requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/04/37/b751de2b59b0197a1d92a5dd491de88e8a5e928c2e6562581974f1e85263/rpds_py-2026.9.1-cp314-cp314-macosx_11_0_arm64.whl + name: rpds-py + version: 2026.9.1 + sha256: 3f0e9ac28fc067d4d34b88ae43c48e9489455c97fee9633d851f7eeed5a05d35 + requires_python: '>=3.11' - pypi: https://files.pythonhosted.org/packages/05/14/52d505b5c59ce73244f59c7a50ecf47093ce4765f116cdb98286a71eeca2/pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl name: pyyaml version: 6.0.3 @@ -1534,16 +1708,70 @@ packages: version: 0.7.1 sha256: a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61 requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*' -- pypi: https://files.pythonhosted.org/packages/11/12/baf0b62b4064d36684f776e5f8648995e8b14e68a619e48bb7668ee5715d/silx-3.0.1-cp314-cp314-win_amd64.whl +- pypi: https://files.pythonhosted.org/packages/0a/67/c1710b6da92cc307e4402cacb41f890dd0d7a413b49ced6ff5aa8420a60f/silx-3.1.3-cp314-cp314-macosx_11_0_arm64.whl + name: silx + version: 3.1.3 + sha256: b2e9f8fb5f1ac46f4536274ef90e70cefae60b0c50e69e96ac40e31a4327792a + requires_dist: + - numpy + - packaging + - h5py>=3 + - fabio + - pydantic>=2 + - filelock + - pyopencl ; extra == 'opencl' + - mako ; extra == 'opencl' + - silx[opencl] ; extra == 'full-no-qt' + - qtconsole ; extra == 'full-no-qt' + - matplotlib>=3.6 ; extra == 'full-no-qt' + - pyopengl ; extra == 'full-no-qt' + - python-dateutil ; extra == 'full-no-qt' + - scipy ; extra == 'full-no-qt' + - pooch ; extra == 'full-no-qt' + - pillow ; extra == 'full-no-qt' + - pint ; extra == 'full-no-qt' + - hdf5plugin ; extra == 'full-no-qt' + - qtawesome ; extra == 'full-no-qt' + - silx[full-no-qt] ; extra == 'full' + - pyside6>=6.5 ; extra == 'full' + - h5pyd>=0.20.0 ; extra == 'h5pyd' + - silx[full] ; extra == 'doc' + - sphinx ; extra == 'doc' + - sphinx-autodoc-typehints ; extra == 'doc' + - sphinx-copybutton ; extra == 'doc' + - sphinx-design ; extra == 'doc' + - pydata-sphinx-theme ; extra == 'doc' + - nbsphinx ; extra == 'doc' + - pandoc ; extra == 'doc' + - silx[full,h5pyd] ; extra == 'test' + - bitshuffle ; extra == 'test' + - imageio[tifffile] ; extra == 'test' + - pytest ; extra == 'test' + - pytest-xvfb ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-mock ; extra == 'test' + - pytest-httpserver ; extra == 'test' + - silx[doc,full,test] ; extra == 'dev' + - build ; extra == 'dev' + - wheel ; extra == 'dev' + - meson-python ; extra == 'dev' + - ninja ; extra == 'dev' + - cython>=3.1 ; extra == 'dev' + - tomli>=1.0.0 ; python_full_version < '3.11' and extra == 'dev' + - ruff ; extra == 'dev' + - pyinstaller>=6.0.0 ; sys_platform == 'win32' and extra == 'dev' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/0a/f6/8c56a26e3183f24606168e00aca7ebc3096fcfd5f0806cea10acb7864002/silx-3.1.3-cp314-cp314-win_amd64.whl name: silx - version: 3.0.1 - sha256: d37594509baee2407ef196ddb7e66df531d49902566a520ad07c88285509e78f + version: 3.1.3 + sha256: 641d5ff33a846e85e62dfe93433fb79850550e4ef85cb5a5643fe7e557f346e6 requires_dist: - numpy - packaging - h5py>=3 - fabio - pydantic>=2 + - filelock - pyopencl ; extra == 'opencl' - mako ; extra == 'opencl' - silx[opencl] ; extra == 'full-no-qt' @@ -1570,6 +1798,7 @@ packages: - pandoc ; extra == 'doc' - silx[full,h5pyd] ; extra == 'test' - bitshuffle ; extra == 'test' + - imageio[tifffile] ; extra == 'test' - pytest ; extra == 'test' - pytest-xvfb ; extra == 'test' - pytest-cov ; extra == 'test' @@ -1580,55 +1809,108 @@ packages: - wheel ; extra == 'dev' - meson-python ; extra == 'dev' - ninja ; extra == 'dev' - - cython ; extra == 'dev' + - cython>=3.1 ; extra == 'dev' - tomli>=1.0.0 ; python_full_version < '3.11' and extra == 'dev' - - black[jupyter] ; extra == 'dev' - - flake8 ; extra == 'dev' + - ruff ; extra == 'dev' - pyinstaller>=6.0.0 ; sys_platform == 'win32' and extra == 'dev' requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/12/da/dbe4dfc01ac226fb0504fad035f4d69f3202f3502e20e68537631daddd96/lxml-6.1.1-cp310-cp310-macosx_10_9_universal2.whl +- pypi: https://files.pythonhosted.org/packages/0b/3e/ede57f735d4766b57de8088d72988edaf5e821d04cee89aa1d4b8aab23fa/ewokscore-5.1.0rc4-py3-none-any.whl + name: ewokscore + version: 5.1.0rc4 + sha256: 585a95541630c781b4c661cc9badaa9218df411a4eaab2fd5f3f306af34cf22e + requires_dist: + - numpy>=1.15 + - networkx>=2 + - silx>=1 + - pyyaml>=5.1 + - h5py>=2.8 + - packaging + - ewoksutils>=2.0.0rc2 + - importlib-metadata ; python_full_version < '3.9' + - pydantic>=2 + - typing-extensions ; python_full_version < '3.11' + - backports-strenum ; python_full_version < '3.11' + - jsonschema + - papermill ; extra == 'notebooks' + - ewokscore[notebooks] ; extra == 'test' + - pytest>=7 ; extra == 'test' + - matplotlib>=3 ; extra == 'test' + - ipykernel ; extra == 'test' + - ewokscore[test] ; extra == 'dev' + - ruff>=0.16.0 ; extra == 'dev' + - ewokscore[test] ; extra == 'doc' + - sphinx>=4.5 ; extra == 'doc' + - sphinxcontrib-mermaid>=0.7 ; extra == 'doc' + - sphinx-autodoc-typehints>=1.16 ; extra == 'doc' + - nbsphinx ; extra == 'doc' + - docutils<0.21 ; extra == 'doc' + - nbsphinx-link ; extra == 'doc' + - pydata-sphinx-theme ; extra == 'doc' + - sphinx-copybutton ; extra == 'doc' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/0c/15/fc75a70b0af6021d0ea16811f1fc71cc42cd06ce90fe10f007a69b2eed84/lxml-6.1.3-cp314-cp314-macosx_10_15_universal2.whl name: lxml - version: 6.1.1 - sha256: 09dd5b7075dc2f7709654a46543ba1ea3c2e217b2ed8fbd413a8a945a0f40f60 + version: 6.1.3 + sha256: 2bec13085dc8ef48a3fe62f7dfcacfeda2c785cdf19cc8eeda2bb9ed081da165 requires_dist: - cssselect>=0.7 ; extra == 'cssselect' - html5lib ; extra == 'html5' - beautifulsoup4 ; extra == 'htmlsoup' - lxml-html-clean ; extra == 'html-clean' requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/13/e2/2e325795566de01d0d7c3bb57d3c370616b2d07b01214e84eec5d3b10963/lxml-6.1.1-cp314-cp314-macosx_10_15_universal2.whl +- pypi: https://files.pythonhosted.org/packages/0f/bc/5811cc73cac05e324e05ba9b0924e1a163a317a167ede8a9c748b11db30a/lxml-6.1.3-cp314-cp314-win_amd64.whl name: lxml - version: 6.1.1 - sha256: 19b7ab10b210b0b3ad7985d9ac4eb66ab09a90b20fe6e2f7ba55d01a234345d0 + version: 6.1.3 + sha256: 66299564c046bc7e0cc5de5106601eae907e9fa5904cd68a323380a8502f7861 requires_dist: - cssselect>=0.7 ; extra == 'cssselect' - html5lib ; extra == 'html5' - beautifulsoup4 ; extra == 'htmlsoup' - lxml-html-clean ; extra == 'html-clean' requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/15/14/2ba1d61452d7c2a7fe12741e8d374e52b183476b07aa7f9e2a0d02b0720a/mypy-2.3.0-cp314-cp314-macosx_11_0_arm64.whl - name: mypy - version: 2.3.0 - sha256: 094af99f92638aa92852326188b85a89e50f4a472f44827c03362228482f0762 - requires_dist: - - typing-extensions>=4.6.0 ; python_full_version < '3.15' - - typing-extensions>=4.14.0 ; python_full_version >= '3.15' - - mypy-extensions>=1.0.0 - - pathspec>=1.0.0 - - tomli>=1.1.0 ; python_full_version < '3.11' - - librt>=0.13.0 ; platform_python_implementation != 'PyPy' - - ast-serialize>=0.6.0,<1.0.0 - - psutil>=4.0 ; extra == 'dmypy' - - setuptools>=50 ; extra == 'mypyc' - - lxml ; extra == 'reports' - - pip ; extra == 'install-types' - - orjson ; extra == 'faster-cache' - requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/18/24/bad3ac4271589df29cf5ce2f5ae490518a5739358052bd0d61209e6fea54/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + name: charset-normalizer + version: 3.5.2 + sha256: 34276fd796040bf0993ab33a369aa572e6979c7aab225a88893667ad8eac8f7a + requires_python: '>=3.7' - pypi: https://files.pythonhosted.org/packages/19/6a/4ba3d0fb7297ebae71171822554abe48d7cab29c28b8f9f2c04b79988c05/rpds_py-0.30.0-cp310-cp310-macosx_11_0_arm64.whl name: rpds-py version: 0.30.0 sha256: 4cc2206b76b4f576934f0ed374b10d7ca5f457858b157ca52064bdfc26b9fc00 requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/1b/d7/c56955934a431a0fa3e4e9aa7af4a53ceab2a61241005427545208945eb4/ast_serialize-0.12.1-cp39-abi3-macosx_11_0_arm64.whl + name: ast-serialize + version: 0.12.1 + sha256: 8a32f184ce3e4b1d0b06d642a1243281cf55b99e0323680b1b8f904029fd7700 + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/1e/93/9e0cf7da129a93c3dc7f45bc3cd4a660f2aaa995aa8a6f95c2583ef41239/librt-0.16.0-cp314-cp314-macosx_10_15_x86_64.whl + name: librt + version: 0.16.0 + sha256: 931a0bb0fcac88f263e269e46eb30ba8e21402cd3c62ca40cb97034c0693fab1 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/1f/f4/f6ddc8b802d0025459429d20a3ff75264da7dd9a248a17baf43035a8c618/hdf5plugin-7.1.0-py3-none-macosx_10_13_x86_64.whl + name: hdf5plugin + version: 7.1.0 + sha256: 8e9e2011f5394d0516b67756b79a7a4eda389e9e628badbbad191bd211b3a4e3 + requires_dist: + - h5py>=3.0.0 + - ipython ; extra == 'doc' + - nbsphinx ; extra == 'doc' + - sphinx ; extra == 'doc' + - sphinx-autodoc-typehints ; extra == 'doc' + - sphinx-rtd-theme ; extra == 'doc' + - numpy<2 ; python_full_version == '3.9.*' and extra == 'test' + - blosc2>=2.5.1 ; extra == 'test' + - blosc2-grok>=0.2.2 ; extra == 'test' + - hdf5plugin[doc,test] ; extra == 'dev' + - mypy ; extra == 'dev' + - ruff ; extra == 'dev' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/22/9d/d08a1128ab199b2f0cf25bfeb0639bd05119fff4b7c47bec24ef9a8ec23f/rpds_py-2026.9.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: rpds-py + version: 2026.9.1 + sha256: eac2f5dbafd585dfe31f86a23ebf0d3ba480a9d49ebc87947267b5608d4ea0cd + requires_python: '>=3.11' - pypi: https://files.pythonhosted.org/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl name: numpy version: 2.2.6 @@ -1639,11 +1921,6 @@ packages: version: 6.0.3 sha256: 4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/23/df/beaf59c09d68db84304d555f188b276a77132a5d5b0b67a5c762aa143628/ruff-0.16.0-py3-none-macosx_10_12_x86_64.whl - name: ruff - version: 0.16.0 - sha256: 3c954b1d580bfa035b41654f7858cc7e71d5fc3ac5b723dd62bd9133830ed522 - requires_python: '>=3.7' - pypi: https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl name: pytest version: 9.1.1 @@ -1695,6 +1972,34 @@ packages: - trove-classifiers>=2024.10.12 ; extra == 'tests' - defusedxml ; extra == 'xmp' requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/26/56/3f788afb8d7fc451d20a66a64ea58bbe189f6f11780b28ba09148974fb33/hdf5plugin-7.1.0-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl + name: hdf5plugin + version: 7.1.0 + sha256: 9d4cf36434819fae53e4da432f0287ebaeb02386ab97b73d261092efbab12247 + requires_dist: + - h5py>=3.0.0 + - ipython ; extra == 'doc' + - nbsphinx ; extra == 'doc' + - sphinx ; extra == 'doc' + - sphinx-autodoc-typehints ; extra == 'doc' + - sphinx-rtd-theme ; extra == 'doc' + - numpy<2 ; python_full_version == '3.9.*' and extra == 'test' + - blosc2>=2.5.1 ; extra == 'test' + - blosc2-grok>=0.2.2 ; extra == 'test' + - hdf5plugin[doc,test] ; extra == 'dev' + - mypy ; extra == 'dev' + - ruff ; extra == 'dev' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/29/6b/a7d5c08e19a8e69887ed722fffaefdbaffc8959d5ef5c370a65e52c895ac/lxml-6.1.3-cp310-cp310-macosx_10_9_universal2.whl + name: lxml + version: 6.1.3 + sha256: 40bcbd9f94166ffe925811e730607385cec959f42fb1bb7dad83748680465221 + requires_dist: + - cssselect>=0.7 ; extra == 'cssselect' + - html5lib ; extra == 'html5' + - beautifulsoup4 ; extra == 'htmlsoup' + - lxml-html-clean ; extra == 'html-clean' + requires_python: '>=3.8' - pypi: https://files.pythonhosted.org/packages/2a/fa/926c003379b19fca39dd4634818b00dec6c62d87faf628d1394e137354d4/pyyaml-6.0.3-cp310-cp310-win_amd64.whl name: pyyaml version: 6.0.3 @@ -1709,68 +2014,20 @@ packages: - rpds-py>=0.7.0 - typing-extensions>=4.4.0 ; python_full_version < '3.13' requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/30/14/4d0204867623df3f33f86efd3d3692ba5e01321443f4d6eab35a22697618/librt-0.13.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - name: librt - version: 0.13.0 - sha256: 22034924f5b42d5a56371cf271771bfeaabf235a7a8b6264bef2d20013f786c6 - requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/32/d1/c9f42e6cf899957ef6e95c18143a1d00bdbe30969cf33aaddbd0b385e135/silx-3.0.1-cp310-cp310-macosx_10_9_x86_64.whl - name: silx - version: 3.0.1 - sha256: e2bc28735fc00da84dc992d6a6c9913e37b8ff4225b92f483997280f286a909e +- pypi: https://files.pythonhosted.org/packages/2c/9b/59634b7ac631c63b2a37760eb6943af3e29573d6b59a4abc5e7f019d4cee/pydantic_core-2.46.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: pydantic-core + version: 2.46.5 + sha256: 54d510bac3ee52247af28ed4bb18a1e799f040ac60fd2bf5ccd4c92f1fbe786f requires_dist: - - numpy - - packaging - - h5py>=3 - - fabio - - pydantic>=2 - - pyopencl ; extra == 'opencl' - - mako ; extra == 'opencl' - - silx[opencl] ; extra == 'full-no-qt' - - qtconsole ; extra == 'full-no-qt' - - matplotlib>=3.6 ; extra == 'full-no-qt' - - pyopengl ; extra == 'full-no-qt' - - python-dateutil ; extra == 'full-no-qt' - - scipy ; extra == 'full-no-qt' - - pooch ; extra == 'full-no-qt' - - pillow ; extra == 'full-no-qt' - - pint ; extra == 'full-no-qt' - - hdf5plugin ; extra == 'full-no-qt' - - qtawesome ; extra == 'full-no-qt' - - silx[full-no-qt] ; extra == 'full' - - pyside6>=6.5 ; extra == 'full' - - h5pyd>=0.20.0 ; extra == 'h5pyd' - - silx[full] ; extra == 'doc' - - sphinx ; extra == 'doc' - - sphinx-autodoc-typehints ; extra == 'doc' - - sphinx-copybutton ; extra == 'doc' - - sphinx-design ; extra == 'doc' - - pydata-sphinx-theme ; extra == 'doc' - - nbsphinx ; extra == 'doc' - - pandoc ; extra == 'doc' - - silx[full,h5pyd] ; extra == 'test' - - bitshuffle ; extra == 'test' - - pytest ; extra == 'test' - - pytest-xvfb ; extra == 'test' - - pytest-cov ; extra == 'test' - - pytest-mock ; extra == 'test' - - pytest-httpserver ; extra == 'test' - - silx[doc,full,test] ; extra == 'dev' - - build ; extra == 'dev' - - wheel ; extra == 'dev' - - meson-python ; extra == 'dev' - - ninja ; extra == 'dev' - - cython ; extra == 'dev' - - tomli>=1.0.0 ; python_full_version < '3.11' and extra == 'dev' - - black[jupyter] ; extra == 'dev' - - flake8 ; extra == 'dev' - - pyinstaller>=6.0.0 ; sys_platform == 'win32' and extra == 'dev' - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/37/8d/ca39a7559a4797505530d084fd3a49a2c959efbbbff146302fb7be4e3b35/charset_normalizer-3.4.9-cp310-cp310-win_amd64.whl - name: charset-normalizer - version: 3.4.9 - sha256: 8c041122946b7ba21bb32c45b1aa57b1be35527690aeb3c5c234521085632eee - requires_python: '>=3.7' + - typing-extensions>=4.14.1 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/34/a1/c8e6b66f499f510752c07a092dfe27621f9c255635e59d38704b5681c35a/pydantic_core-2.46.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: pydantic-core + version: 2.46.5 + sha256: 850a08d167dde16db8702c274f320c7be9d7da6f6dff2b58b18f9e815bd94f5b + requires_dist: + - typing-extensions>=4.14.1 + requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/37/93/a5795be591f057c8e6c955add526ebb872e03150e1b50a90832e1e7c01af/fabio-2025.10.0-cp310-cp310-win_amd64.whl name: fabio version: 2025.10.0 @@ -1803,11 +2060,24 @@ packages: requires_dist: - numpy>=1.21.2 requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/3d/50/51c76d74014d04fb95b6506d286808984b78a2f7a41039094e6b2194ac48/librt-0.13.0-cp314-cp314-macosx_11_0_arm64.whl - name: librt - version: 0.13.0 - sha256: f26629539d4893c2957a16c41bb058e1e135c1f150f6a2e25ed047f64cf3f5c6 - requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/3a/87/61ffee58b25a956532a6006fae84918a2de849ed25f397492b2e815fe7b3/mypy-2.4.0-cp314-cp314-win_amd64.whl + name: mypy + version: 2.4.0 + sha256: 2106b55105ba5ea9be4f53a24517fc5fa927ff1585edc9bc1a975abb72caef89 + requires_dist: + - typing-extensions>=4.6.0 ; python_full_version < '3.15' + - typing-extensions>=4.14.0 ; python_full_version >= '3.15' + - mypy-extensions>=1.0.0 + - pathspec>=1.0.0 + - tomli>=1.1.0 ; python_full_version < '3.11' + - librt>=0.16.0 ; platform_python_implementation != 'PyPy' + - ast-serialize>=0.11.2,<1.0.0 + - psutil>=4.0 ; extra == 'dmypy' + - setuptools>=50 ; extra == 'mypyc' + - lxml ; extra == 'reports' + - pip ; extra == 'install-types' + - orjson ; extra == 'faster-cache' + requires_python: '>=3.10' - pypi: https://files.pythonhosted.org/packages/3e/14/615a450205e1b56d16c6783f5ccd116cde05550faad70ae077c955654a75/h5py-3.16.0-cp314-cp314-win_amd64.whl name: h5py version: 3.16.0 @@ -1822,36 +2092,17 @@ packages: requires_dist: - referencing>=0.31.0 requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/41/5f/0f992cb24560673496c5d68de61913b57166ce530ffda07c1f280e0cc464/numpy-2.5.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl - name: numpy - version: 2.5.1 - sha256: 54ad769f17bc2d833b620851989f62054fb9ab93c969d9e1dc3c8e3d56beea21 - requires_python: '>=3.12' -- pypi: https://files.pythonhosted.org/packages/42/3d/ef4dcfffd22d27a61805d8ed9f7fb888495bc6aa88648fa07c1eaa5586b6/lxml-6.1.1-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl - name: lxml - version: 6.1.1 - sha256: 9395002973c827b3ed67db77e6ec09f092919a587022174554096a269378fb13 - requires_dist: - - cssselect>=0.7 ; extra == 'cssselect' - - html5lib ; extra == 'html5' - - beautifulsoup4 ; extra == 'htmlsoup' - - lxml-html-clean ; extra == 'html-clean' - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/42/ce/741cd197496a1abbf51352710fd15ed995d2a2be87189c1da26a450d6e83/ruff-0.16.0-py3-none-macosx_11_0_arm64.whl - name: ruff - version: 0.16.0 - sha256: e01c21d10eb1b29f47b7454e1f4056db9a3f0260c646aa88457c610291db9f81 - requires_python: '>=3.7' -- pypi: https://files.pythonhosted.org/packages/46/78/2d3b77ea511ad3732fbcd8d968c4cb2bdc269d9ef259745b4d466e4e724f/silx-3.0.1-cp310-cp310-win_amd64.whl +- pypi: https://files.pythonhosted.org/packages/43/4e/6989aa5355a6f274b345c20fe3386c202f62e0f98875f49bc38f6fc024da/silx-3.1.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl name: silx - version: 3.0.1 - sha256: 51404936f04ea8e9fc19c074106d194458c2ca3f0c215c00092d34c5ee725167 + version: 3.1.3 + sha256: 87b5ea7b0b02594eab5c4b27e819cc612e4f5fe063f7ccb5dd8dcf398142e625 requires_dist: - numpy - packaging - h5py>=3 - fabio - pydantic>=2 + - filelock - pyopencl ; extra == 'opencl' - mako ; extra == 'opencl' - silx[opencl] ; extra == 'full-no-qt' @@ -1878,6 +2129,7 @@ packages: - pandoc ; extra == 'doc' - silx[full,h5pyd] ; extra == 'test' - bitshuffle ; extra == 'test' + - imageio[tifffile] ; extra == 'test' - pytest ; extra == 'test' - pytest-xvfb ; extra == 'test' - pytest-cov ; extra == 'test' @@ -1888,17 +2140,16 @@ packages: - wheel ; extra == 'dev' - meson-python ; extra == 'dev' - ninja ; extra == 'dev' - - cython ; extra == 'dev' + - cython>=3.1 ; extra == 'dev' - tomli>=1.0.0 ; python_full_version < '3.11' and extra == 'dev' - - black[jupyter] ; extra == 'dev' - - flake8 ; extra == 'dev' + - ruff ; extra == 'dev' - pyinstaller>=6.0.0 ; sys_platform == 'win32' and extra == 'dev' requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/47/ae/6710c14ecb276031cf10249f6adf5a59e2d3fdb3b5183bd59f70524067ee/ast_serialize-0.6.0-cp39-abi3-win_amd64.whl - name: ast-serialize - version: 0.6.0 - sha256: 113b58346f9ceb664352032770caca817d4a3c86f611c6088e6ef65ddaa70f0e - requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/45/8f/9beacf79ca7c650688ad0baa80931adb988fe6e6e5d5903c23cc3dbd70eb/numpy-2.5.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl + name: numpy + version: 2.5.3 + sha256: b0521d0f4aebb6e06189451025fa17a913287b13c03d5fe05c017333b654ea5b + requires_python: '>=3.12' - pypi: https://files.pythonhosted.org/packages/48/3c/7fcd9b4c9eed82e91fb15568992561019ae7a829d1f696b2c844355d95dd/h5py-3.16.0-cp314-cp314-macosx_10_15_x86_64.whl name: h5py version: 3.16.0 @@ -1937,87 +2188,11 @@ packages: - trove-classifiers>=2024.10.12 ; extra == 'tests' - defusedxml ; extra == 'xmp' requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/49/49/f0dd91ff7d95dd4be65c754fd926cf914bb201eb0ba63c4055755fddeb97/silx-3.0.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - name: silx - version: 3.0.1 - sha256: fddc7e0a0f6fc9cc68758542f5ca579c53d888abaa8ebdb019df41e0b836caf1 - requires_dist: - - numpy - - packaging - - h5py>=3 - - fabio - - pydantic>=2 - - pyopencl ; extra == 'opencl' - - mako ; extra == 'opencl' - - silx[opencl] ; extra == 'full-no-qt' - - qtconsole ; extra == 'full-no-qt' - - matplotlib>=3.6 ; extra == 'full-no-qt' - - pyopengl ; extra == 'full-no-qt' - - python-dateutil ; extra == 'full-no-qt' - - scipy ; extra == 'full-no-qt' - - pooch ; extra == 'full-no-qt' - - pillow ; extra == 'full-no-qt' - - pint ; extra == 'full-no-qt' - - hdf5plugin ; extra == 'full-no-qt' - - qtawesome ; extra == 'full-no-qt' - - silx[full-no-qt] ; extra == 'full' - - pyside6>=6.5 ; extra == 'full' - - h5pyd>=0.20.0 ; extra == 'h5pyd' - - silx[full] ; extra == 'doc' - - sphinx ; extra == 'doc' - - sphinx-autodoc-typehints ; extra == 'doc' - - sphinx-copybutton ; extra == 'doc' - - sphinx-design ; extra == 'doc' - - pydata-sphinx-theme ; extra == 'doc' - - nbsphinx ; extra == 'doc' - - pandoc ; extra == 'doc' - - silx[full,h5pyd] ; extra == 'test' - - bitshuffle ; extra == 'test' - - pytest ; extra == 'test' - - pytest-xvfb ; extra == 'test' - - pytest-cov ; extra == 'test' - - pytest-mock ; extra == 'test' - - pytest-httpserver ; extra == 'test' - - silx[doc,full,test] ; extra == 'dev' - - build ; extra == 'dev' - - wheel ; extra == 'dev' - - meson-python ; extra == 'dev' - - ninja ; extra == 'dev' - - cython ; extra == 'dev' - - tomli>=1.0.0 ; python_full_version < '3.11' and extra == 'dev' - - black[jupyter] ; extra == 'dev' - - flake8 ; extra == 'dev' - - pyinstaller>=6.0.0 ; sys_platform == 'win32' and extra == 'dev' - requires_python: '>=3.10' - pypi: https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl name: typing-extensions version: 4.16.0 sha256: 481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8 requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/49/fd/a1d26144398c67486422a72bf5812cda22cb4ccfcd95a290fb41ceb4b8e2/charset_normalizer-3.4.9-cp314-cp314-win_amd64.whl - name: charset-normalizer - version: 3.4.9 - sha256: 16b65ea0f2465b6fb52aa22de5eca612aa964ddfec00a912e26f4656cbef890b - requires_python: '>=3.7' -- pypi: https://files.pythonhosted.org/packages/4e/14/32cf2aae083c74b95678875e11d25d0cb9e51a33d27f4218eb9aeacfcd70/hdf5plugin-7.0.0-py3-none-win_amd64.whl - name: hdf5plugin - version: 7.0.0 - sha256: 2e052af8d7848e8bac92646584617503a08bb9b466cfa810a49ecd93e89b7ffa - requires_dist: - - h5py>=3.0.0 - - ipython ; extra == 'doc' - - nbsphinx ; extra == 'doc' - - sphinx ; extra == 'doc' - - sphinx-autodoc-typehints ; extra == 'doc' - - sphinx-rtd-theme ; extra == 'doc' - - packaging ; extra == 'test' - - numpy<2 ; python_full_version == '3.9.*' and extra == 'test' - - blosc2>=2.5.1 ; extra == 'test' - - blosc2-grok>=0.2.2 ; extra == 'test' - - hdf5plugin[doc,test] ; extra == 'dev' - - mypy ; extra == 'dev' - - ruff ; extra == 'dev' - requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/4e/89/36f4cd76cf4baf05c50ababb976249153f18c959171c7f6ba09a6f217260/pillow-12.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl name: pillow version: 12.3.0 @@ -2049,16 +2224,38 @@ packages: - trove-classifiers>=2024.10.12 ; extra == 'tests' - defusedxml ; extra == 'xmp' requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/4f/12/b7424f96a1c35311f801ee5c87b7703dfa49d067a3c9cf5513bfaabb78f7/silx-3.0.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl +- pypi: https://files.pythonhosted.org/packages/50/07/79007d2165f649ea93e08c0962d1d62c70af9cde77965255095bf9d96f9a/librt-0.16.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + name: librt + version: 0.16.0 + sha256: ca8052401c55d7511dda6760719fda7618067e83535d7d0010096d216c34b667 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl + name: pluggy + version: 1.6.0 + sha256: e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746 + requires_dist: + - pre-commit ; extra == 'dev' + - tox ; extra == 'dev' + - pytest ; extra == 'testing' + - pytest-benchmark ; extra == 'testing' + - coverage ; extra == 'testing' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/56/43/4ca9e49d27a1fcf6bece6f6aec0ea46bb9112489b93d4b688fb415457bdb/iniconfig-2.3.1-py3-none-any.whl + name: iniconfig + version: 2.3.1 + sha256: 9121e2c1fdb355232495be3194c8dfe87ccc2d5dee45947b78e68f499790d7a7 + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/59/1a/0c58377b29992aab5a65646950d0031bb53a7515ce5f79188dc26364e20d/silx-3.1.3-cp310-cp310-macosx_10_9_x86_64.whl name: silx - version: 3.0.1 - sha256: b8a37d377237b7eba93b2993b2cbe6d599685487e31fa8f528662dfa6d3eb191 + version: 3.1.3 + sha256: 6469dd787add7642e3cceabf4b1a8cbb452525f05a9dbf49d49e7e3bc834ad5e requires_dist: - numpy - packaging - h5py>=3 - fabio - pydantic>=2 + - filelock - pyopencl ; extra == 'opencl' - mako ; extra == 'opencl' - silx[opencl] ; extra == 'full-no-qt' @@ -2085,6 +2282,7 @@ packages: - pandoc ; extra == 'doc' - silx[full,h5pyd] ; extra == 'test' - bitshuffle ; extra == 'test' + - imageio[tifffile] ; extra == 'test' - pytest ; extra == 'test' - pytest-xvfb ; extra == 'test' - pytest-cov ; extra == 'test' @@ -2095,35 +2293,11 @@ packages: - wheel ; extra == 'dev' - meson-python ; extra == 'dev' - ninja ; extra == 'dev' - - cython ; extra == 'dev' + - cython>=3.1 ; extra == 'dev' - tomli>=1.0.0 ; python_full_version < '3.11' and extra == 'dev' - - black[jupyter] ; extra == 'dev' - - flake8 ; extra == 'dev' + - ruff ; extra == 'dev' - pyinstaller>=6.0.0 ; sys_platform == 'win32' and extra == 'dev' requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/52/19/ac8348ae8711c9b5ae834634f635780cab62a0f5e6f988882e048b89c2ae/ast_serialize-0.6.0-cp39-abi3-macosx_10_12_x86_64.whl - name: ast-serialize - version: 0.6.0 - sha256: 093cb8bb91b720d8523580498d031791bb1bbaa048599c3d21085d380e11a596 - requires_python: '>=3.7' -- pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl - name: pluggy - version: 1.6.0 - sha256: e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746 - requires_dist: - - pre-commit ; extra == 'dev' - - tox ; extra == 'dev' - - pytest ; extra == 'testing' - - pytest-benchmark ; extra == 'testing' - - coverage ; extra == 'testing' - requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/56/c6/65f646c7ff09bd257f660434adb45c4dfcbbcebcc030562fecf6f5bf887d/pydantic_core-2.46.4-cp310-cp310-macosx_11_0_arm64.whl - name: pydantic-core - version: 2.46.4 - sha256: da4b951fe36dc7c3a1ccb4e3cd1747c3542b8c9ceede8fc86cae054e764485f5 - requires_dist: - - typing-extensions>=4.14.1 - requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/5c/44/c85361f65dbe00eea8576ee467c768d25129989efb76e94f205e9ca9bb46/pillow-12.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl name: pillow version: 12.3.0 @@ -2160,10 +2334,10 @@ packages: version: 0.30.0 sha256: 0c0e95f6819a19965ff420f65578bacb0b00f251fefe2c8b23347c37174271f3 requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/63/ce/0cb99efe6086b46cd985dc26672166fae312a239690e75871f7fafbd3fc5/librt-0.13.0-cp314-cp314-win_amd64.whl - name: librt - version: 0.13.0 - sha256: a3dfe4edf10e8ed7e55b026a8bfc2c2a8704218b659cd4bffdf604fab966dc39 +- pypi: https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl + name: packaging + version: '26.3' + sha256: d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/64/a4/369f31daf13c58683698c03f7e05528cd2710994ba7dbed5ea843db4ab20/fabio-2026.6.0-cp314-cp314-macosx_11_0_arm64.whl name: fabio @@ -2190,24 +2364,6 @@ packages: version: 26.1.0 sha256: c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309 requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/65/4c/c3f8bfd6ed0e5e38b5a244403b27f821d433443df5a15a278417c10a3a3c/mypy-2.3.0-cp314-cp314-win_amd64.whl - name: mypy - version: 2.3.0 - sha256: 4359424140d985192c778c1ce2c114a10c1ca58a381ed79cfa70d37df94b299f - requires_dist: - - typing-extensions>=4.6.0 ; python_full_version < '3.15' - - typing-extensions>=4.14.0 ; python_full_version >= '3.15' - - mypy-extensions>=1.0.0 - - pathspec>=1.0.0 - - tomli>=1.1.0 ; python_full_version < '3.11' - - librt>=0.13.0 ; platform_python_implementation != 'PyPy' - - ast-serialize>=0.6.0,<1.0.0 - - psutil>=4.0 ; extra == 'dmypy' - - setuptools>=50 ; extra == 'mypyc' - - lxml ; extra == 'reports' - - pip ; extra == 'install-types' - - orjson ; extra == 'faster-cache' - requires_python: '>=3.10' - pypi: https://files.pythonhosted.org/packages/66/35/d88fd6718832133c885004c61ceeeb24dbd6397ef877dbed6b3a64d6a286/h5py-3.16.0-cp310-cp310-win_amd64.whl name: h5py version: 3.16.0 @@ -2215,6 +2371,13 @@ packages: requires_dist: - numpy>=1.21.2 requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/67/81/4add07e5172b7ac40d8ed5ff580409a7801a4fe26d529bdd915401dabfbe/typing_inspection-0.4.4-py3-none-any.whl + name: typing-inspection + version: 0.4.4 + sha256: 65b8397ba37ccbce054456aaccddfc91e6e3083c92824df348d96ca832f3f147 + requires_dist: + - typing-extensions>=4.15.0 + requires_python: '>=3.10' - pypi: https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl name: jsonschema version: 4.26.0 @@ -2280,6 +2443,25 @@ packages: - trove-classifiers>=2024.10.12 ; extra == 'tests' - defusedxml ; extra == 'xmp' requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/70/78/cf416f15dc29375a229d9dfebf8db6e313f291580b39fa1a568b6052bb07/numpy-2.5.3-cp314-cp314-macosx_10_15_x86_64.whl + name: numpy + version: 2.5.3 + sha256: 350ba9783ce969cf9f7ce6e6a9a58e1a6e2a19ca025b7ee448c4db727706212a + requires_python: '>=3.12' +- pypi: https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl + name: pygments + version: 2.21.0 + sha256: 2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9 + requires_dist: + - colorama>=0.4.6 ; extra == 'windows-terminal' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/74/6b/8f79692844269427abb3e4dd9e68edfcbe65ae25527d99183214de716c59/pydantic_core-2.46.5-cp310-cp310-macosx_10_12_x86_64.whl + name: pydantic-core + version: 2.46.5 + sha256: 657b40d6240c0a7b6a64b30f22d1e3aa631c7e846c621b0c0f6d1d75e2e15ea6 + requires_dist: + - typing-extensions>=4.14.1 + requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/74/f9/557ce3aad0fe8471fb5279bab0fc56ea473858a022c4ce8a0b8f303d64e9/h5py-3.16.0-cp310-cp310-macosx_11_0_arm64.whl name: h5py version: 3.16.0 @@ -2287,90 +2469,114 @@ packages: requires_dist: - numpy>=1.21.2 requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/78/20/f7095ed9fc2c025f9cfe71cc6ec9f1feb05624edc1812423b5f1aecf3d4b/lxml-6.1.1-cp310-cp310-macosx_10_9_x86_64.whl - name: lxml - version: 6.1.1 - sha256: f6ac4ef4d82dff54670227a69c67782ae0b811b5cf6b17954f1e8f7502fc0d1d - requires_dist: - - cssselect>=0.7 ; extra == 'cssselect' - - html5lib ; extra == 'html5' - - beautifulsoup4 ; extra == 'htmlsoup' - - lxml-html-clean ; extra == 'html-clean' - requires_python: '>=3.8' - pypi: https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl name: mypy-extensions version: 1.1.0 sha256: 1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505 requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/7a/16/cb391ee4b90186fa16d9ebcbe3ea96c71b8da3b0686386c8dcbcc3c67d44/lxml-6.1.1-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl +- pypi: https://files.pythonhosted.org/packages/7a/1e/7acc4f0e74c4b3d9531e24739e0ab832a5edf40e64fbae1a9c01941cabd7/pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + name: pyyaml + version: 6.0.3 + sha256: 9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/7a/bf/74b6785beac6488fd395e78796339bc197fbad6fd6103b41b15a4009dc4b/lxml-6.1.3-cp310-cp310-win_amd64.whl name: lxml - version: 6.1.1 - sha256: 98fc784c2c1440667aeedf8465bdfe10208acf0ead656a2c68627299f546b315 + version: 6.1.3 + sha256: 18a4db52b5a7b53a3540b0b0f4123319334621ee8083d496de314d0bf06ff59a requires_dist: - cssselect>=0.7 ; extra == 'cssselect' - html5lib ; extra == 'html5' - beautifulsoup4 ; extra == 'htmlsoup' - lxml-html-clean ; extra == 'html-clean' requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/7a/1e/7acc4f0e74c4b3d9531e24739e0ab832a5edf40e64fbae1a9c01941cabd7/pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - name: pyyaml - version: 6.0.3 - sha256: 9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b - requires_python: '>=3.8' - pypi: https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl name: tomli version: 2.4.1 sha256: 0d85819802132122da43cb86656f8d1f8c6587d54ae7dcaf30e90533028b49fe requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/7b/66/f49ae0d592bd45b6941e9a8bafcb6a87cddcd501ee7874707e767f01b585/librt-0.13.0-cp314-cp314-macosx_10_15_x86_64.whl - name: librt - version: 0.13.0 - sha256: 25218d94b1d2cbc0ba1d8a3f9dc9af578d9646e5ed16443a70cde1dfdcce6d71 - requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/7e/8d/496817fa0944239ecae662dd57ea765cfeaec6a735f9f025d4b7b72e7143/charset_normalizer-3.4.9-cp314-cp314-macosx_10_15_universal2.whl +- pypi: https://files.pythonhosted.org/packages/7c/8a/40db9aa9f5907bb0e6f8b6d64064bf8852fb33d4b813ff9414911df7647c/charset_normalizer-3.5.2-cp314-cp314-macosx_10_15_universal2.whl name: charset-normalizer - version: 3.4.9 - sha256: 0327fcd59a935777d83410750c50600ee9571af2846f71ce40f25b13da1ef380 + version: 3.5.2 + sha256: fcff63213e8e6e47770541a4607175404f47cbb3ebea7b6058cc82d524a0e424 requires_python: '>=3.7' -- pypi: https://files.pythonhosted.org/packages/85/37/e0bea29f84169ef3736284c0c25d6b777bb4aad11180817f94cdab6f19fb/ewokscore-5.1.0rc3-py3-none-any.whl - name: ewokscore - version: 5.1.0rc3 - sha256: 2a5f9a4735eb452527739197fe0a1d572e12b290f169f325e954f49ff94c08dd +- pypi: https://files.pythonhosted.org/packages/7e/cd/fe58041e9011f307c490e3e17dd48cc516448f7c698a3f2d9d9d65d7e6a8/networkx-3.7-py3-none-any.whl + name: networkx + version: '3.7' + sha256: e3fd2c13a7814cee3746340d8d7f8598a67f16a58bf47fb7f8793fab6efca1b0 requires_dist: - - numpy>=1.15 - - networkx>=2 - - silx>=1 - - pyyaml>=5.1 - - h5py>=2.8 - - packaging - - ewoksutils>=2.0.0rc2 - - importlib-metadata ; python_full_version < '3.9' - - pydantic>=2 - - typing-extensions ; python_full_version < '3.11' - - backports-strenum ; python_full_version < '3.11' - - jsonschema - - papermill ; extra == 'notebooks' - - ewokscore[notebooks] ; extra == 'test' - - pytest>=7 ; extra == 'test' - - matplotlib>=3 ; extra == 'test' - - ipykernel ; extra == 'test' - - ewokscore[test] ; extra == 'dev' - - ruff>=0.16.0 ; extra == 'dev' - - ewokscore[test] ; extra == 'doc' - - sphinx>=4.5 ; extra == 'doc' - - sphinxcontrib-mermaid>=0.7 ; extra == 'doc' - - sphinx-autodoc-typehints>=1.16 ; extra == 'doc' - - nbsphinx ; extra == 'doc' - - docutils<0.21 ; extra == 'doc' - - nbsphinx-link ; extra == 'doc' - - pydata-sphinx-theme ; extra == 'doc' - - sphinx-copybutton ; extra == 'doc' + - asv>=0.6.5 ; extra == 'benchmarking' + - py-rattler>=0.21,<0.22 ; extra == 'benchmarking' + - virtualenv ; extra == 'benchmarking' + - numpy>=2.2 ; extra == 'default' + - scipy>=1.15 ; extra == 'default' + - matplotlib>=3.10 ; extra == 'default' + - pandas>=2.3 ; extra == 'default' + - pre-commit>=4.1 ; extra == 'developer' + - mypy>=1.15 ; extra == 'developer' + - sphinx>=8.0 ; extra == 'doc' + - pydata-sphinx-theme>=0.16 ; extra == 'doc' + - sphinx-gallery>=0.18 ; extra == 'doc' + - numpydoc>=1.8.0 ; extra == 'doc' + - pillow>=10 ; extra == 'doc' + - texext>=0.6.7 ; extra == 'doc' + - myst-nb>=1.1 ; extra == 'doc' + - intersphinx-registry ; extra == 'doc' + - osmnx>=2.0.0 ; extra == 'example' + - momepy>=0.7.2 ; extra == 'example' + - contextily>=1.6 ; extra == 'example' + - seaborn>=0.13 ; extra == 'example' + - cairocffi>=1.7 ; extra == 'example' + - igraph>=0.11 ; extra == 'example' + - scikit-learn>=1.6 ; extra == 'example' + - iplotx>=0.9.0 ; extra == 'example' + - hiveplotlib>=0.28 ; extra == 'example' + - lxml>=4.6 ; extra == 'extra' + - pygraphviz>=2.0 ; extra == 'extra' + - pydot>=3.0.1 ; extra == 'extra' + - sympy>=1.10 ; extra == 'extra' + - build>=0.10 ; extra == 'release' + - twine>=4.0 ; extra == 'release' + - wheel>=0.40 ; extra == 'release' + - changelist==0.5 ; extra == 'release' + - pytest>=7.2 ; extra == 'test' + - pytest-cov>=4.0 ; extra == 'test' + - pytest-xdist>=3.0 ; extra == 'test' + - pytest-mpl ; extra == 'test-extras' + - pytest-randomly ; extra == 'test-extras' + requires_python: '>=3.12,!=3.14.1' +- pypi: https://files.pythonhosted.org/packages/80/fb/1eabd2c0673283054468b1c6cb539aeb877636d6c84b280279f2d7a177a9/ast_serialize-0.12.1-cp39-abi3-macosx_10_12_x86_64.whl + name: ast-serialize + version: 0.12.1 + sha256: 98d91cd3a6cb76a39512ee090a539d1e3206b732ad8150eb38918cffa1ddf515 + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/81/12/46ae8670c98a3cd0286ca5645c2f918f8f6be65edfed81b916010619f668/mypy-2.4.0-py3-none-any.whl + name: mypy + version: 2.4.0 + sha256: d01c5d26a352acc6d5cf3128225477e1e8465e8d3029d4c345807fbf7f3cf093 + requires_dist: + - typing-extensions>=4.6.0 ; python_full_version < '3.15' + - typing-extensions>=4.14.0 ; python_full_version >= '3.15' + - mypy-extensions>=1.0.0 + - pathspec>=1.0.0 + - tomli>=1.1.0 ; python_full_version < '3.11' + - librt>=0.16.0 ; platform_python_implementation != 'PyPy' + - ast-serialize>=0.11.2,<1.0.0 + - psutil>=4.0 ; extra == 'dmypy' + - setuptools>=50 ; extra == 'mypyc' + - lxml ; extra == 'reports' + - pip ; extra == 'install-types' + - orjson ; extra == 'faster-cache' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/84/ef/398fcf9018f881ec9aeaafae1ddd6586dfb13314a35d35e899de373dcae0/lxml-6.1.3-cp314-cp314-macosx_10_15_x86_64.whl + name: lxml + version: 6.1.3 + sha256: 4f4db7c7e954d289d71878938348b3d91b904a3e8210a11939359fb758a58e7d + requires_dist: + - cssselect>=0.7 ; extra == 'cssselect' + - html5lib ; extra == 'html5' + - beautifulsoup4 ; extra == 'htmlsoup' + - lxml-html-clean ; extra == 'html-clean' requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/85/62/a3892ba945f4e24c78f352e5de3c7620d8479f73f211406a97263d13c7d2/rpds_py-2026.6.3-cp314-cp314-win_amd64.whl - name: rpds-py - version: 2026.6.3 - sha256: 0be972be84cfcaf46c8c6edf690ca0f154ac17babf1f6a955a51579b34ad2dc5 - requires_python: '>=3.11' - pypi: https://files.pythonhosted.org/packages/85/e2/73c77d218410b14f5f2d565e8a998d5317b7b9c75368d29985139f7a46f0/pillow-12.3.0-cp314-cp314-macosx_10_15_x86_64.whl name: pillow version: 12.3.0 @@ -2402,18 +2608,16 @@ packages: - trove-classifiers>=2024.10.12 ; extra == 'tests' - defusedxml ; extra == 'xmp' requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/86/14/5d4fb733c18a1d69e237c067b183842f3a7ea1c999a51ddc87093a281c88/ast_serialize-0.12.1-cp39-abi3-win_amd64.whl + name: ast-serialize + version: 0.12.1 + sha256: 3d6ed63d4fc1ec867b8cb522d58c36df0e8f05e487bea0ffd102043a37636d72 + requires_python: '>=3.7' - pypi: https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl name: pyyaml version: 6.0.3 sha256: c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5 requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/89/1d/8eff589b45bb8190a9d12c49cfad0f176a5cbd1534908a6b5125e2886239/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - name: pydantic-core - version: 2.46.4 - sha256: 7a5f930472650a82629163023e630d160863fce524c616f4e5186e5de9d9a49b - requires_dist: - - typing-extensions>=4.14.1 - requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl name: exceptiongroup version: 1.3.1 @@ -2422,58 +2626,22 @@ packages: - typing-extensions>=4.6.0 ; python_full_version < '3.13' - pytest>=6 ; extra == 'test' requires_python: '>=3.7' -- pypi: https://files.pythonhosted.org/packages/8d/74/228a26ddad29c6672b805d9fd78e8d251cd04004fa7eed0e622096cd0250/pydantic_core-2.46.4-cp314-cp314-macosx_10_12_x86_64.whl - name: pydantic-core - version: 2.46.4 - sha256: 428e04521a40150c85216fc8b85e8d39fece235a9cf5e383761238c7fa9b96fb - requires_dist: - - typing-extensions>=4.14.1 - requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/8f/44/aa8bc0a660581663fb957d9005851d23736757cae3e58231a8a1030c9f9e/fabio-2026.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - name: fabio - version: 2026.6.0 - sha256: fac184e9fc0d05bf0ffce8f0fc37835426585593818ac41b50f5df64be608dd9 - requires_dist: - - numpy - - h5py - - hdf5plugin - - lxml - - pillow - - filelock - - qtpy ; extra == 'gui' - - pyside6 ; extra == 'gui' - - matplotlib ; extra == 'gui' - - packaging ; extra == 'gui' - - qtpy ; extra == 'all' - - pyside6 ; extra == 'all' - - matplotlib ; extra == 'all' - - packaging ; extra == 'all' +- pypi: https://files.pythonhosted.org/packages/8a/f2/67b94be1532767803415c1c5a1fd88ea487643d74a673cec1ba140af77bb/rpds_py-2026.9.1-cp314-cp314-macosx_10_12_x86_64.whl + name: rpds-py + version: 2026.9.1 + sha256: c9d1aca01f49170fdcf5c92761b1fafe97f554b721ca4570c5949fff778f0d4b requires_python: '>=3.11' -- pypi: https://files.pythonhosted.org/packages/91/66/6bd3cf90500653d55dc0ffc8507aa8300bd49d0214b2e8cb4d3fef2943ba/ruff-0.16.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - name: ruff - version: 0.16.0 - sha256: 4f11a8d11010301d0a398a2fdef67691feca7294da6aef55e2150e8fa2cd520b - requires_python: '>=3.7' -- pypi: https://files.pythonhosted.org/packages/93/cf/5630b5e4be7d2e6bee8efe83865c925221103cf0221303b104ce134b01e2/lxml-6.1.1-cp314-cp314-macosx_10_15_x86_64.whl - name: lxml - version: 6.1.1 - sha256: c08e5c694306507275f2290073350c4f32e383db15213b2c69e7ff39c1193840 - requires_dist: - - cssselect>=0.7 ; extra == 'cssselect' - - html5lib ; extra == 'html5' - - beautifulsoup4 ; extra == 'htmlsoup' - - lxml-html-clean ; extra == 'html-clean' - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/94/5a/7863a34c277a238d64049e3c9f51e9fc4cc012fec63ac64ac9ab4114701b/silx-3.0.1-cp314-cp314-macosx_10_15_x86_64.whl +- pypi: https://files.pythonhosted.org/packages/8b/66/9b4f0ece6074db992125e83670f5f9b0e23ec2ee172a2315629facf6a158/silx-3.1.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl name: silx - version: 3.0.1 - sha256: 7cca90357a75cfd8afd66885a18abdf5e9f7376fd0089b9240a7300cf5096853 + version: 3.1.3 + sha256: 0598ad519129c9b75daf526f3b87ea03d2cd35166cab33b350239956cbd157dc requires_dist: - numpy - packaging - h5py>=3 - fabio - pydantic>=2 + - filelock - pyopencl ; extra == 'opencl' - mako ; extra == 'opencl' - silx[opencl] ; extra == 'full-no-qt' @@ -2500,6 +2668,7 @@ packages: - pandoc ; extra == 'doc' - silx[full,h5pyd] ; extra == 'test' - bitshuffle ; extra == 'test' + - imageio[tifffile] ; extra == 'test' - pytest ; extra == 'test' - pytest-xvfb ; extra == 'test' - pytest-cov ; extra == 'test' @@ -2510,12 +2679,43 @@ packages: - wheel ; extra == 'dev' - meson-python ; extra == 'dev' - ninja ; extra == 'dev' - - cython ; extra == 'dev' + - cython>=3.1 ; extra == 'dev' - tomli>=1.0.0 ; python_full_version < '3.11' and extra == 'dev' - - black[jupyter] ; extra == 'dev' - - flake8 ; extra == 'dev' + - ruff ; extra == 'dev' - pyinstaller>=6.0.0 ; sys_platform == 'win32' and extra == 'dev' requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/8e/8a/14596f2a8367da50cf7cbac48169ee5d9c8e11d486a3b527082384630c72/pydantic_core-2.46.5-cp314-cp314-macosx_10_12_x86_64.whl + name: pydantic-core + version: 2.46.5 + sha256: c1c43ad4339643d70ebb8124e1305a7dab423001eff58bb41a0f731adbc98355 + requires_dist: + - typing-extensions>=4.14.1 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/8f/26/8a90d2a8f2b2e471bb486b7aec117b8ae622715ed6c39853aec48ea20073/librt-0.16.0-cp314-cp314-macosx_11_0_arm64.whl + name: librt + version: 0.16.0 + sha256: 1bc17e54e5305f8d40b7ca203671ff5a9e59c1d0f8ea0f625dcca53a3984de11 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/8f/44/aa8bc0a660581663fb957d9005851d23736757cae3e58231a8a1030c9f9e/fabio-2026.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + name: fabio + version: 2026.6.0 + sha256: fac184e9fc0d05bf0ffce8f0fc37835426585593818ac41b50f5df64be608dd9 + requires_dist: + - numpy + - h5py + - hdf5plugin + - lxml + - pillow + - filelock + - qtpy ; extra == 'gui' + - pyside6 ; extra == 'gui' + - matplotlib ; extra == 'gui' + - packaging ; extra == 'gui' + - qtpy ; extra == 'all' + - pyside6 ; extra == 'all' + - matplotlib ; extra == 'all' + - packaging ; extra == 'all' + requires_python: '>=3.11' - pypi: https://files.pythonhosted.org/packages/94/d4/23cdb18ad1d919ac59d1155698453f66c0a3719b9dc5862f3a3672cb1d08/fabio-2025.10.0-cp310-cp310-macosx_11_0_x86_64.whl name: fabio version: 2025.10.0 @@ -2533,30 +2733,31 @@ packages: - matplotlib ; extra == 'all' - packaging ; extra == 'all' requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/96/ad/b28f4102e619c262b29bfcd13ccf6799e26f9ff113d2fdce19050ae29448/hdf5plugin-7.0.0-py3-none-macosx_11_0_arm64.whl - name: hdf5plugin - version: 7.0.0 - sha256: 97ea4ff6114223c5e8ccce7e23cc6cd398b58c02f4e988e967aeea914fcb8030 - requires_dist: - - h5py>=3.0.0 - - ipython ; extra == 'doc' - - nbsphinx ; extra == 'doc' - - sphinx ; extra == 'doc' - - sphinx-autodoc-typehints ; extra == 'doc' - - sphinx-rtd-theme ; extra == 'doc' - - packaging ; extra == 'test' - - numpy<2 ; python_full_version == '3.9.*' and extra == 'test' - - blosc2>=2.5.1 ; extra == 'test' - - blosc2-grok>=0.2.2 ; extra == 'test' - - hdf5plugin[doc,test] ; extra == 'dev' - - mypy ; extra == 'dev' - - ruff ; extra == 'dev' - requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/96/cb/156d7a5cf4f78a7cc571465d8aec7a3c447c94f6749c5123f08438bcf7bc/rpds_py-0.30.0-cp310-cp310-win_amd64.whl name: rpds-py version: 0.30.0 sha256: 1726859cd0de969f88dc8673bdd954185b9104e05806be64bcd87badbe313169 requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/96/dd/c25a32f9f6039a96cfd52296a4630075868aa16e71858b3076699a059201/lxml-6.1.3-cp310-cp310-macosx_10_9_x86_64.whl + name: lxml + version: 6.1.3 + sha256: 05f5bce9af14fd1506997594bd81cee6d9c6b58ea80a39c058327aa6371ed9e9 + requires_dist: + - cssselect>=0.7 ; extra == 'cssselect' + - html5lib ; extra == 'html5' + - beautifulsoup4 ; extra == 'htmlsoup' + - lxml-html-clean ; extra == 'html-clean' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/98/77/46e87bcfc45d25ab4db7cfc9bb544bfa3ffd302289ed31ae93f5433eb899/charset_normalizer-3.5.2-cp310-cp310-macosx_10_9_universal2.whl + name: charset-normalizer + version: 3.5.2 + sha256: 195c26fb65950f8fce54e26349852b7bdd7c5f120aeefbcc440b8a20faaed4a3 + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/99/29/cfb0df9448d4d4ad48c2de029ada9ebd71baa6da983a6c77ee6c6cd0fe82/ruff-0.16.10-py3-none-win_amd64.whl + name: ruff + version: 0.16.10 + sha256: 97f2015c92aa97105b0eab19eb5d224884399281cfc5da86a92db4ab5e7fb2ca + requires_python: '>=3.7' - pypi: https://files.pythonhosted.org/packages/99/91/8acff4f5e50511b911bbccb72b8628a49c68ce14148cd9f6431094859a90/annotated_types-0.8.0-py3-none-any.whl name: annotated-types version: 0.8.0 @@ -2572,259 +2773,141 @@ packages: version: 6.0.3 sha256: 8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/9e/97/33691c66a4d7ec1a5a98e7c909a5b83ee45c7f7ba4cf92b1c4cf26e98079/lxml-6.1.1-cp310-cp310-win_amd64.whl +- pypi: https://files.pythonhosted.org/packages/9e/59/abcc2d8def4fd60eec7d87f92d27c13448ffd9ab14339bcc63a0d7a2fdea/numpy-2.5.3-cp314-cp314-macosx_11_0_arm64.whl + name: numpy + version: 2.5.3 + sha256: 012e66aca395d795496446e52aeeb5866312a5d4d3f27da270e5a0b43f70dc5c + requires_python: '>=3.12' +- pypi: https://files.pythonhosted.org/packages/9f/16/1a5a4a2657effe4806110f2b907313802f1367fcdbb29e8122766e407fab/ruff-0.16.10-py3-none-macosx_11_0_arm64.whl + name: ruff + version: 0.16.10 + sha256: 3031a4a2e8e7b8a46f70be45f198c35a11ece509a94b80334d8d397a33c67550 + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/a1/ce/dbea34cd115ae9b8ef53816daa912563615adf4daed42531878a2fb29c77/lxml-6.1.3-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl name: lxml - version: 6.1.1 - sha256: 3abf332af33a74288675d936fe861fd4344da0dd6622193fbc4f2bfbb35536b5 + version: 6.1.3 + sha256: f6449672f9c93316deb5e2839e18931f468670e44d5bd9b1301a5a9655d45c07 requires_dist: - cssselect>=0.7 ; extra == 'cssselect' - html5lib ; extra == 'html5' - beautifulsoup4 ; extra == 'htmlsoup' - lxml-html-clean ; extra == 'html-clean' requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl +- pypi: https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl + name: numpy + version: 2.2.6 + sha256: f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3 + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/a4/0b/489d48abbcc7d70cf3fbf662d9d22abf1f4650761c0a9ae05260800800d3/rpds_py-2026.9.1-cp314-cp314-win_amd64.whl + name: rpds-py + version: 2026.9.1 + sha256: 837c6b305e26fe0f75b15c92cf3b2ba29e0ae19dc40b1c557b026cb426347d0c + requires_python: '>=3.11' +- pypi: https://files.pythonhosted.org/packages/a4/73/d2c08231e4fde7e415501fd02c715d96e98599b2d8384445933944152984/numpy-2.5.3-cp314-cp314-win_amd64.whl + name: numpy + version: 2.5.3 + sha256: 2c25dfa72943e4336ddb6b0ee4277b47a0c85bede0807530ec68103bf58e2c10 + requires_python: '>=3.12' +- pypi: https://files.pythonhosted.org/packages/a9/3e/b3a66a07d99b52cfaf9d64ccaf7667ce7d75ec733d6c0ab6755eaa3944a1/hdf5plugin-7.1.0-py3-none-win_amd64.whl + name: hdf5plugin + version: 7.1.0 + sha256: fb4555696340a0dceb16f48ae5b65479f6a92ca90190ffeafc41905f17f5e325 + requires_dist: + - h5py>=3.0.0 + - ipython ; extra == 'doc' + - nbsphinx ; extra == 'doc' + - sphinx ; extra == 'doc' + - sphinx-autodoc-typehints ; extra == 'doc' + - sphinx-rtd-theme ; extra == 'doc' + - numpy<2 ; python_full_version == '3.9.*' and extra == 'test' + - blosc2>=2.5.1 ; extra == 'test' + - blosc2-grok>=0.2.2 ; extra == 'test' + - hdf5plugin[doc,test] ; extra == 'dev' + - mypy ; extra == 'dev' + - ruff ; extra == 'dev' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/ae/ab/fb8b5178fdf7bf68efa61cbe892286bc9f73846f26147d4725fb89388475/charset_normalizer-3.5.2-cp310-cp310-win_amd64.whl + name: charset-normalizer + version: 3.5.2 + sha256: 1461ac396c4fdb983a675f20aa555624f0ee18ac83d832b9244ffff3d8055275 + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/ae/d5/d8a4eb6d6c7f66b91dd37c576d76e9e60fba900caf5372c17bcf949febc2/pydantic_core-2.46.5-cp314-cp314-macosx_11_0_arm64.whl + name: pydantic-core + version: 2.46.5 + sha256: 1a353f84de772f423b5ffb11d7ae352fbbef0f446f3c0b0af0f8236d7233606e + requires_dist: + - typing-extensions>=4.14.1 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: numpy + version: 2.2.6 + sha256: fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915 + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl name: networkx - version: 3.6.1 - sha256: d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762 + version: 3.4.2 + sha256: df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f requires_dist: - - asv ; extra == 'benchmarking' - - virtualenv ; extra == 'benchmarking' - - numpy>=1.25 ; extra == 'default' - - scipy>=1.11.2 ; extra == 'default' - - matplotlib>=3.8 ; extra == 'default' + - numpy>=1.24 ; extra == 'default' + - scipy>=1.10,!=1.11.0,!=1.11.1 ; extra == 'default' + - matplotlib>=3.7 ; extra == 'default' - pandas>=2.0 ; extra == 'default' - - pre-commit>=4.1 ; extra == 'developer' - - mypy>=1.15 ; extra == 'developer' - - sphinx>=8.0 ; extra == 'doc' - - pydata-sphinx-theme>=0.16 ; extra == 'doc' - - sphinx-gallery>=0.18 ; extra == 'doc' + - changelist==0.5 ; extra == 'developer' + - pre-commit>=3.2 ; extra == 'developer' + - mypy>=1.1 ; extra == 'developer' + - rtoml ; extra == 'developer' + - sphinx>=7.3 ; extra == 'doc' + - pydata-sphinx-theme>=0.15 ; extra == 'doc' + - sphinx-gallery>=0.16 ; extra == 'doc' - numpydoc>=1.8.0 ; extra == 'doc' - - pillow>=10 ; extra == 'doc' + - pillow>=9.4 ; extra == 'doc' - texext>=0.6.7 ; extra == 'doc' - myst-nb>=1.1 ; extra == 'doc' - intersphinx-registry ; extra == 'doc' - - osmnx>=2.0.0 ; extra == 'example' + - osmnx>=1.9 ; extra == 'example' - momepy>=0.7.2 ; extra == 'example' - contextily>=1.6 ; extra == 'example' - seaborn>=0.13 ; extra == 'example' - cairocffi>=1.7 ; extra == 'example' - igraph>=0.11 ; extra == 'example' - scikit-learn>=1.5 ; extra == 'example' - - iplotx>=0.9.0 ; extra == 'example' - lxml>=4.6 ; extra == 'extra' - pygraphviz>=1.14 ; extra == 'extra' - pydot>=3.0.1 ; extra == 'extra' - sympy>=1.10 ; extra == 'extra' - - build>=0.10 ; extra == 'release' - - twine>=4.0 ; extra == 'release' - - wheel>=0.40 ; extra == 'release' - - changelist==0.5 ; extra == 'release' - pytest>=7.2 ; extra == 'test' - pytest-cov>=4.0 ; extra == 'test' - - pytest-xdist>=3.0 ; extra == 'test' - - pytest-mpl ; extra == 'test-extras' - - pytest-randomly ; extra == 'test-extras' - requires_python: '>=3.11,!=3.14.1' -- pypi: https://files.pythonhosted.org/packages/a3/07/70085c17a369605f15e301d10ab902115019b1126c7253d964afc230c7d6/reportlab-5.0.0-py3-none-any.whl - name: reportlab - version: 5.0.0 - sha256: 9d5a3affa84919e1111ede580031266a570e93b1ce388219621347965ff1d93c - requires_dist: - - pillow>=9.0.0 - - charset-normalizer - - rl-accel>=0.9.0,<1.1 ; extra == 'accel' - - rlpycairo>=0.2.0,<1 ; extra == 'pycairo' - - freetype-py>=2.3.0,<2.4 ; extra == 'pycairo' - - rlbidi ; extra == 'bidi' - - uharfbuzz ; extra == 'shaping' - requires_python: '>=3.9,<4' -- pypi: https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl - name: numpy - version: 2.2.6 - sha256: f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3 requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/a4/58/fa0ae047da911f540284009b4f44b96fe09d83c076d7c103e9d645f46303/mypy-2.3.0-cp314-cp314-macosx_10_15_x86_64.whl +- pypi: https://files.pythonhosted.org/packages/bc/1c/26e16977e25ef2494a74f8ffc872a76ec2c3aa43c3156057cbdf88f352c5/mypy-2.4.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl name: mypy - version: 2.3.0 - sha256: ea317b060ce83e26050f8f9e4d7d6bf44ed7597c8ff9990bccffbb9d1d8522db + version: 2.4.0 + sha256: 20e9a5cd875837520c43db98dea0b6d0c2197833d95c30127d8f570fb9b1f00b requires_dist: - typing-extensions>=4.6.0 ; python_full_version < '3.15' - typing-extensions>=4.14.0 ; python_full_version >= '3.15' - mypy-extensions>=1.0.0 - pathspec>=1.0.0 - tomli>=1.1.0 ; python_full_version < '3.11' - - librt>=0.13.0 ; platform_python_implementation != 'PyPy' - - ast-serialize>=0.6.0,<1.0.0 + - librt>=0.16.0 ; platform_python_implementation != 'PyPy' + - ast-serialize>=0.11.2,<1.0.0 - psutil>=4.0 ; extra == 'dmypy' - setuptools>=50 ; extra == 'mypyc' - lxml ; extra == 'reports' - pip ; extra == 'install-types' - orjson ; extra == 'faster-cache' requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/a8/e0/7c5c2c0c93b80d5f07101ef7cc0ed9f27e860f01c8e68dc2553d00a67442/silx-3.0.1-cp310-cp310-macosx_11_0_arm64.whl - name: silx - version: 3.0.1 - sha256: 959093a596f92b6185c68a96b302b2b877f44ef38b5bee15fa447f5e954c017d - requires_dist: - - numpy - - packaging - - h5py>=3 - - fabio - - pydantic>=2 - - pyopencl ; extra == 'opencl' - - mako ; extra == 'opencl' - - silx[opencl] ; extra == 'full-no-qt' - - qtconsole ; extra == 'full-no-qt' - - matplotlib>=3.6 ; extra == 'full-no-qt' - - pyopengl ; extra == 'full-no-qt' - - python-dateutil ; extra == 'full-no-qt' - - scipy ; extra == 'full-no-qt' - - pooch ; extra == 'full-no-qt' - - pillow ; extra == 'full-no-qt' - - pint ; extra == 'full-no-qt' - - hdf5plugin ; extra == 'full-no-qt' - - qtawesome ; extra == 'full-no-qt' - - silx[full-no-qt] ; extra == 'full' - - pyside6>=6.5 ; extra == 'full' - - h5pyd>=0.20.0 ; extra == 'h5pyd' - - silx[full] ; extra == 'doc' - - sphinx ; extra == 'doc' - - sphinx-autodoc-typehints ; extra == 'doc' - - sphinx-copybutton ; extra == 'doc' - - sphinx-design ; extra == 'doc' - - pydata-sphinx-theme ; extra == 'doc' - - nbsphinx ; extra == 'doc' - - pandoc ; extra == 'doc' - - silx[full,h5pyd] ; extra == 'test' - - bitshuffle ; extra == 'test' - - pytest ; extra == 'test' - - pytest-xvfb ; extra == 'test' - - pytest-cov ; extra == 'test' - - pytest-mock ; extra == 'test' - - pytest-httpserver ; extra == 'test' - - silx[doc,full,test] ; extra == 'dev' - - build ; extra == 'dev' - - wheel ; extra == 'dev' - - meson-python ; extra == 'dev' - - ninja ; extra == 'dev' - - cython ; extra == 'dev' - - tomli>=1.0.0 ; python_full_version < '3.11' and extra == 'dev' - - black[jupyter] ; extra == 'dev' - - flake8 ; extra == 'dev' - - pyinstaller>=6.0.0 ; sys_platform == 'win32' and extra == 'dev' - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/ad/1f/8970b150a4b4365623ae00fc88603491f763c627311ae8031e3111356d6e/pydantic_core-2.46.4-cp314-cp314-macosx_11_0_arm64.whl - name: pydantic-core - version: 2.46.4 - sha256: 23ace664830ee0bfe014a0c7bc248b1f7f25ed7ad103852c317624a1083af462 - requires_dist: - - typing-extensions>=4.14.1 - requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/ad/81/8e983840c6e5b93b33c2ba81aa3d52c2e42f0e9a690ce7607a2e61da4a5c/charset_normalizer-3.4.9-cp310-cp310-macosx_10_9_universal2.whl - name: charset-normalizer - version: 3.4.9 - sha256: cd6280cf040f233bd7d3407b743b4b4c74f70e8e1c4199cb112a62c941c0772a - requires_python: '>=3.7' -- pypi: https://files.pythonhosted.org/packages/ae/77/70d7a10732063beb74ad713682cf871e88f5c5fa39bfc8beff8a524bf9cb/mypy-2.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - name: mypy - version: 2.3.0 - sha256: 37fa4de896a84e2dc9200d91e614c22563b43d1a266789d4bbac7b22ebe6192b - requires_dist: - - typing-extensions>=4.6.0 ; python_full_version < '3.15' - - typing-extensions>=4.14.0 ; python_full_version >= '3.15' - - mypy-extensions>=1.0.0 - - pathspec>=1.0.0 - - tomli>=1.1.0 ; python_full_version < '3.11' - - librt>=0.13.0 ; platform_python_implementation != 'PyPy' - - ast-serialize>=0.6.0,<1.0.0 - - psutil>=4.0 ; extra == 'dmypy' - - setuptools>=50 ; extra == 'mypyc' - - lxml ; extra == 'reports' - - pip ; extra == 'install-types' - - orjson ; extra == 'faster-cache' - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/b2/a3/d5e4ef7a56be3f928ffb90b94c25ba7d3cb9c7fe0736aeaaedf361770712/ruff-0.16.0-py3-none-win_amd64.whl - name: ruff - version: 0.16.0 - sha256: 429c117f022bf481fabd9d551e7a3952b24c65e6ef44337ea09d90bebef14472 - requires_python: '>=3.7' -- pypi: https://files.pythonhosted.org/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - name: numpy - version: 2.2.6 - sha256: fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915 - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/b6/36/7fbe9dcdaf857fb3f63c2a2284b62492d95f5e8334e947e5fb6e7f68c9be/rpds_py-2026.6.3-cp314-cp314-macosx_10_12_x86_64.whl - name: rpds-py - version: 2026.6.3 - sha256: 931908d9fc855d8f74783377822be318edb6dcb19e47169dc038f9a1bf60b06e - requires_python: '>=3.11' -- pypi: https://files.pythonhosted.org/packages/b8/ce/3cf9a827342269f54d405a6202397de63f07c69cbd6ce7d183a3f0cba1e9/lxml-6.1.1-cp314-cp314-win_amd64.whl - name: lxml - version: 6.1.1 - sha256: b2d444f2e66624d68e9c6b211e28a76e22fff5fcabcfff4deac18b529b7d4137 - requires_dist: - - cssselect>=0.7 ; extra == 'cssselect' - - html5lib ; extra == 'html5' - - beautifulsoup4 ; extra == 'htmlsoup' - - lxml-html-clean ; extra == 'html-clean' - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl - name: networkx - version: 3.4.2 - sha256: df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f - requires_dist: - - numpy>=1.24 ; extra == 'default' - - scipy>=1.10,!=1.11.0,!=1.11.1 ; extra == 'default' - - matplotlib>=3.7 ; extra == 'default' - - pandas>=2.0 ; extra == 'default' - - changelist==0.5 ; extra == 'developer' - - pre-commit>=3.2 ; extra == 'developer' - - mypy>=1.1 ; extra == 'developer' - - rtoml ; extra == 'developer' - - sphinx>=7.3 ; extra == 'doc' - - pydata-sphinx-theme>=0.15 ; extra == 'doc' - - sphinx-gallery>=0.16 ; extra == 'doc' - - numpydoc>=1.8.0 ; extra == 'doc' - - pillow>=9.4 ; extra == 'doc' - - texext>=0.6.7 ; extra == 'doc' - - myst-nb>=1.1 ; extra == 'doc' - - intersphinx-registry ; extra == 'doc' - - osmnx>=1.9 ; extra == 'example' - - momepy>=0.7.2 ; extra == 'example' - - contextily>=1.6 ; extra == 'example' - - seaborn>=0.13 ; extra == 'example' - - cairocffi>=1.7 ; extra == 'example' - - igraph>=0.11 ; extra == 'example' - - scikit-learn>=1.5 ; extra == 'example' - - lxml>=4.6 ; extra == 'extra' - - pygraphviz>=1.14 ; extra == 'extra' - - pydot>=3.0.1 ; extra == 'extra' - - sympy>=1.10 ; extra == 'extra' - - pytest>=7.2 ; extra == 'test' - - pytest-cov>=4.0 ; extra == 'test' - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/ba/1e/acc4d70f88a0a277e4a1fa77ebb985ceabaf900430f875bf9338e11c9420/pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - name: pydantic-core - version: 2.46.4 - sha256: 395aebd9183f9d112f569aeb5b2214d1a10a33bec8456447f7fbdfa51d38d4cd +- pypi: https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl + name: pyyaml + version: 6.0.3 + sha256: 34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310 + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/bd/d0/c787604c71c2bdcda1a5656942fc822cd0f9cd879b9484bb84fc42172703/pydantic_core-2.46.5-cp310-cp310-macosx_11_0_arm64.whl + name: pydantic-core + version: 2.46.5 + sha256: ecb42011e12ee19cafbc312887cbf3546959fe02fbad44f272d4be5baa997615 requires_dist: - typing-extensions>=4.14.1 requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/ba/54/f785cc3d3f60839ca57a5af4927a9f347b07b2799c373fc20f7949f87c7e/rpds_py-2026.6.3-cp314-cp314-macosx_11_0_arm64.whl - name: rpds-py - version: 2026.6.3 - sha256: d7469697dce35be237db177d42e2a2ee26e6dcc5fc052078a6fefabd288c6edd - requires_python: '>=3.11' -- pypi: https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl - name: pyyaml - version: 6.0.3 - sha256: 34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310 - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/bf/64/0e215f2048dd11a55bb989ed41b3585ef57452404e638d703a211a3e4157/numpy-2.5.1-cp314-cp314-macosx_11_0_arm64.whl - name: numpy - version: 2.5.1 - sha256: 32985c896d897419ef8da6917872d80b78ad0ea26d85b23245c7366ffde76d75 - requires_python: '>=3.12' - pypi: https://files.pythonhosted.org/packages/c0/32/89b00b99a78026a37daab12ecb9b52853182de7854e325cd2ff80b7a6e66/ewoksutils-2.0.0rc2-py3-none-any.whl name: ewoksutils version: 2.0.0rc2 @@ -2841,6 +2924,11 @@ packages: - pydata-sphinx-theme ; extra == 'doc' - sphinx-copybutton ; extra == 'doc' requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/c0/60/58961e7fd129e226ce36788fe328d20034f3105f5d3380df690050517737/ast_serialize-0.12.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: ast-serialize + version: 0.12.1 + sha256: 50a9eaedf1db4857dad7cc47dd757ed70bfcc40b89d44d516c4a2f0d5033bd76 + requires_python: '>=3.7' - pypi: https://files.pythonhosted.org/packages/c0/d1/5ddb92494517fa5453c46872a87fd0d0e4a497543b353ce0aad6466f406a/fabio-2025.10.0-cp310-cp310-macosx_11_0_arm64.whl name: fabio version: 2025.10.0 @@ -2858,72 +2946,15 @@ packages: - matplotlib ; extra == 'all' - packaging ; extra == 'all' requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/c1/01/39d6dc9bcd6872f4132366597acd0294496db843243d18ab26ee9e5da044/silx-3.0.1-cp314-cp314-macosx_11_0_arm64.whl - name: silx - version: 3.0.1 - sha256: 25ef892c3e7d130a77429c700723f8f6a7adb1bb8c1eedae9f831f45025da0d1 - requires_dist: - - numpy - - packaging - - h5py>=3 - - fabio - - pydantic>=2 - - pyopencl ; extra == 'opencl' - - mako ; extra == 'opencl' - - silx[opencl] ; extra == 'full-no-qt' - - qtconsole ; extra == 'full-no-qt' - - matplotlib>=3.6 ; extra == 'full-no-qt' - - pyopengl ; extra == 'full-no-qt' - - python-dateutil ; extra == 'full-no-qt' - - scipy ; extra == 'full-no-qt' - - pooch ; extra == 'full-no-qt' - - pillow ; extra == 'full-no-qt' - - pint ; extra == 'full-no-qt' - - hdf5plugin ; extra == 'full-no-qt' - - qtawesome ; extra == 'full-no-qt' - - silx[full-no-qt] ; extra == 'full' - - pyside6>=6.5 ; extra == 'full' - - h5pyd>=0.20.0 ; extra == 'h5pyd' - - silx[full] ; extra == 'doc' - - sphinx ; extra == 'doc' - - sphinx-autodoc-typehints ; extra == 'doc' - - sphinx-copybutton ; extra == 'doc' - - sphinx-design ; extra == 'doc' - - pydata-sphinx-theme ; extra == 'doc' - - nbsphinx ; extra == 'doc' - - pandoc ; extra == 'doc' - - silx[full,h5pyd] ; extra == 'test' - - bitshuffle ; extra == 'test' - - pytest ; extra == 'test' - - pytest-xvfb ; extra == 'test' - - pytest-cov ; extra == 'test' - - pytest-mock ; extra == 'test' - - pytest-httpserver ; extra == 'test' - - silx[doc,full,test] ; extra == 'dev' - - build ; extra == 'dev' - - wheel ; extra == 'dev' - - meson-python ; extra == 'dev' - - ninja ; extra == 'dev' - - cython ; extra == 'dev' - - tomli>=1.0.0 ; python_full_version < '3.11' and extra == 'dev' - - black[jupyter] ; extra == 'dev' - - flake8 ; extra == 'dev' - - pyinstaller>=6.0.0 ; sys_platform == 'win32' and extra == 'dev' - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/c1/1a/837f9ed7405adcd7a40538792eb169eddd8fa5630c16a1ef49dae71a30f4/numpy-2.5.1-cp314-cp314-win_amd64.whl - name: numpy - version: 2.5.1 - sha256: 24d0eb82c0541d3415a33425db64ae439dffccd7b4dbcb30e7c35120205c506a - requires_python: '>=3.12' -- pypi: https://files.pythonhosted.org/packages/c1/e8/72f8cef9fdfeffe06213fe8508039396ee48daa0e3259457ed766173bfd6/filelock-3.32.2-py3-none-any.whl - name: filelock - version: 3.32.2 - sha256: 87dd94cf281e586d135fa51132b8e3d9a598b316e90377a288663c9321036c82 - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/c1/f6/ec7ec652c51db77c2f61d8573338e13e4704303265ccc658cb4031d9f354/ast_serialize-0.6.0-cp39-abi3-macosx_11_0_arm64.whl - name: ast-serialize - version: 0.6.0 - sha256: e61580a69faf47e3689795367ed211f2a10fd741478cc0f36a0f128793360aad +- pypi: https://files.pythonhosted.org/packages/c2/98/769712f356a1e897df3581bb0c3100375d054a000de26099360ea65b5111/librt-0.16.0-cp314-cp314-win_amd64.whl + name: librt + version: 0.16.0 + sha256: 3f0b8114c44b2ac06ff5dacd08e07e8e807ff4f46083f2a1602685122559be41 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/c4/9f/9f52d2886d52645987d603425482c63c5045a3005db1354a7097e5ed1ae9/charset_normalizer-3.5.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + name: charset-normalizer + version: 3.5.2 + sha256: 8a893cc101149f80a653f82062ebc95b34525a2614382e1da5458fe7c6997249 requires_python: '>=3.7' - pypi: https://files.pythonhosted.org/packages/c7/da/32c752228ae345f489e3a42499d817b6c3996da7e8a3bc7a04fc806b243b/pillow-12.3.0-cp314-cp314-macosx_11_0_arm64.whl name: pillow @@ -2956,11 +2987,6 @@ packages: - trove-classifiers>=2024.10.12 ; extra == 'tests' - defusedxml ; extra == 'xmp' requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/ca/87/b4d6c38e0ccd5e85dc54cecdf933a152c60b28fe5d993a6d8a72fa6d5896/ast_serialize-0.6.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - name: ast-serialize - version: 0.6.0 - sha256: dcbed41e9386059fc0261d602445ede0976c2ecec2939688bcbcb9ed0b6f28b7 - requires_python: '>=3.7' - pypi: https://files.pythonhosted.org/packages/cb/92/a8851d936547efe30cc0ce5245feac01f3ec6171f7899bc3f775c72030b3/h5py-3.16.0-cp310-cp310-manylinux_2_28_x86_64.whl name: h5py version: 3.16.0 @@ -2968,16 +2994,16 @@ packages: requires_dist: - numpy>=1.21.2 requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl - name: iniconfig - version: 2.3.0 - sha256: f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12 - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/d1/9c/0d1fdc2e7aba23e290d603bc494e97bd205bae262ce33c6b32a69768ed5e/rpds_py-2026.6.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - name: rpds-py - version: 2026.6.3 - sha256: dc319e5a1de4b6913aac94bf6a2f9e847371e0a140a43dd4991db1a09bc2d504 - requires_python: '>=3.11' +- pypi: https://files.pythonhosted.org/packages/cb/98/a54de85876a8b2612bfa0d84c7b9abfb39c6a3354aee7800b09c1649b9e3/ruff-0.16.10-py3-none-macosx_10_12_x86_64.whl + name: ruff + version: 0.16.10 + sha256: e748ff95c934c4e978783b8e687bc174e7bd84e8ad24e3243e1ecfcda5e0282d + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/d1/78/5ed86f743d4bc350db307e7636419a0a5ee1d91806d30c7f667bd5c80dae/charset_normalizer-3.5.2-cp314-cp314-win_amd64.whl + name: charset-normalizer + version: 3.5.2 + sha256: e4e81e09c1578b8df602e3db08b0b3ea0a6947ad612f52bf8dc5ea8d47691f0c + requires_python: '>=3.7' - pypi: https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl name: colorama version: 0.4.6 @@ -2988,25 +3014,6 @@ packages: version: 1.3.1 sha256: cdcfe36dc897e2615dc793b7d3097f54d359918fc448754a517e6f23044ccf83 requires_python: '>=3.8.6,<3.11' -- pypi: https://files.pythonhosted.org/packages/d7/0b/855e50e27eab8338c71c3157672c065cd2a2ab38887b3ea4bf128cbd89a1/hdf5plugin-7.0.0-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - name: hdf5plugin - version: 7.0.0 - sha256: 4ad4ab0d3367699d132e61b1cc382a0c640a7dba56536e5105508205ebbe8762 - requires_dist: - - h5py>=3.0.0 - - ipython ; extra == 'doc' - - nbsphinx ; extra == 'doc' - - sphinx ; extra == 'doc' - - sphinx-autodoc-typehints ; extra == 'doc' - - sphinx-rtd-theme ; extra == 'doc' - - packaging ; extra == 'test' - - numpy<2 ; python_full_version == '3.9.*' and extra == 'test' - - blosc2>=2.5.1 ; extra == 'test' - - blosc2-grok>=0.2.2 ; extra == 'test' - - hdf5plugin[doc,test] ; extra == 'dev' - - mypy ; extra == 'dev' - - ruff ; extra == 'dev' - requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/d8/1b/3d85ec02e3712058197fdeee9db41ad18e8a3baeb8cfd9bc1be74e8218c0/fabio-2026.6.0-cp314-cp314-win_amd64.whl name: fabio version: 2026.6.0 @@ -3027,35 +3034,122 @@ packages: - matplotlib ; extra == 'all' - packaging ; extra == 'all' requires_python: '>=3.11' -- pypi: https://files.pythonhosted.org/packages/db/f4/731b6085a83faf6ca843394cbd5e217280c214399f7e8b21b9f552af0ae2/numpy-2.5.1-cp314-cp314-macosx_10_15_x86_64.whl - name: numpy - version: 2.5.1 - sha256: 7c786fe9a5bbe360022e584c5a34cf6b54265c71bd7ec8ac3d8fec38968071f8 - requires_python: '>=3.12' -- pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl - name: typing-inspection - version: 0.4.2 - sha256: 4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7 +- pypi: https://files.pythonhosted.org/packages/da/a1/b047e1c486a2c66283633b7dbb73872ca16ca1ce6a426f70d4d037fc8e1c/filelock-4.0.12-py3-none-any.whl + name: filelock + version: 4.0.12 + sha256: 5f17ee83ecee8a6f3e389c75822fb70a1c2f0506b99438a6dffa1d56793588c8 + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/db/cb/dacbc268cb68d0428ea2cbd85266195a9ab3e677449589ddae59bd7542ac/reportlab-5.0.1-py3-none-any.whl + name: reportlab + version: 5.0.1 + sha256: 1c36e6bb0e71780c72331eba60da7f602e8d4389a8723825af71342e49d791e8 requires_dist: - - typing-extensions>=4.12.0 - requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl - name: packaging - version: '26.2' - sha256: 5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e + - pillow>=9.0.0 + - charset-normalizer + - rl-accel>=0.9.0,<1.1 ; extra == 'accel' + - rlpycairo>=0.2.0,<1 ; extra == 'pycairo' + - freetype-py>=2.3.0,<2.4 ; extra == 'pycairo' + - rlbidi ; extra == 'bidi' + - uharfbuzz ; extra == 'shaping' + requires_python: '>=3.9,<4' +- pypi: https://files.pythonhosted.org/packages/e0/66/924be0b653372ed31ad5c48e26044cc00840e591943a56e61621cf05b60e/mypy-2.4.0-cp314-cp314-macosx_11_0_arm64.whl + name: mypy + version: 2.4.0 + sha256: 058165f564ccf559c68c70fec2091fca5891110480210c22594635e3f6683437 + requires_dist: + - typing-extensions>=4.6.0 ; python_full_version < '3.15' + - typing-extensions>=4.14.0 ; python_full_version >= '3.15' + - mypy-extensions>=1.0.0 + - pathspec>=1.0.0 + - tomli>=1.1.0 ; python_full_version < '3.11' + - librt>=0.16.0 ; platform_python_implementation != 'PyPy' + - ast-serialize>=0.11.2,<1.0.0 + - psutil>=4.0 ; extra == 'dmypy' + - setuptools>=50 ; extra == 'mypyc' + - lxml ; extra == 'reports' + - pip ; extra == 'install-types' + - orjson ; extra == 'faster-cache' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/e2/8a/7e0d810251776dfa431bc1695c095000d1978603e4b838cc3b39eb92bf80/silx-3.1.3-cp314-cp314-macosx_10_15_x86_64.whl + name: silx + version: 3.1.3 + sha256: 635dd6f60230e29728835912616d9e8f5bd386266a1386607aab8fbd9ac2988c + requires_dist: + - numpy + - packaging + - h5py>=3 + - fabio + - pydantic>=2 + - filelock + - pyopencl ; extra == 'opencl' + - mako ; extra == 'opencl' + - silx[opencl] ; extra == 'full-no-qt' + - qtconsole ; extra == 'full-no-qt' + - matplotlib>=3.6 ; extra == 'full-no-qt' + - pyopengl ; extra == 'full-no-qt' + - python-dateutil ; extra == 'full-no-qt' + - scipy ; extra == 'full-no-qt' + - pooch ; extra == 'full-no-qt' + - pillow ; extra == 'full-no-qt' + - pint ; extra == 'full-no-qt' + - hdf5plugin ; extra == 'full-no-qt' + - qtawesome ; extra == 'full-no-qt' + - silx[full-no-qt] ; extra == 'full' + - pyside6>=6.5 ; extra == 'full' + - h5pyd>=0.20.0 ; extra == 'h5pyd' + - silx[full] ; extra == 'doc' + - sphinx ; extra == 'doc' + - sphinx-autodoc-typehints ; extra == 'doc' + - sphinx-copybutton ; extra == 'doc' + - sphinx-design ; extra == 'doc' + - pydata-sphinx-theme ; extra == 'doc' + - nbsphinx ; extra == 'doc' + - pandoc ; extra == 'doc' + - silx[full,h5pyd] ; extra == 'test' + - bitshuffle ; extra == 'test' + - imageio[tifffile] ; extra == 'test' + - pytest ; extra == 'test' + - pytest-xvfb ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-mock ; extra == 'test' + - pytest-httpserver ; extra == 'test' + - silx[doc,full,test] ; extra == 'dev' + - build ; extra == 'dev' + - wheel ; extra == 'dev' + - meson-python ; extra == 'dev' + - ninja ; extra == 'dev' + - cython>=3.1 ; extra == 'dev' + - tomli>=1.0.0 ; python_full_version < '3.11' and extra == 'dev' + - ruff ; extra == 'dev' + - pyinstaller>=6.0.0 ; sys_platform == 'win32' and extra == 'dev' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/e4/03/17234145f302a645a123e8c3bb2411ecf4669fbc350de3b0d803230a1729/ruff-0.16.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: ruff + version: 0.16.10 + sha256: f33f43a864a8483eebd160e713336c8bab02c934feaff0a33cf5ccb41546d09a + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/e9/44/27e3cee3dcdb3b7bc09727b642bdbfcd098490ea77df04611db9060d7722/lxml-6.1.3-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl + name: lxml + version: 6.1.3 + sha256: a7eb78ba28b187e1e9203a55c60fcf70df2d22cb205fe6d51b9383d6097419f0 + requires_dist: + - cssselect>=0.7 ; extra == 'cssselect' + - html5lib ; extra == 'html5' + - beautifulsoup4 ; extra == 'htmlsoup' + - lxml-html-clean ; extra == 'html-clean' requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/e7/08/f1ba952f1c8ae5581c70fa9c6da89f247b83e3dd8c09c035d5d7931fc23d/pydantic_core-2.46.4-cp310-cp310-macosx_10_12_x86_64.whl - name: pydantic-core - version: 2.46.4 - sha256: a396dcc17e5a0b164dbe026896245a4fa9ff402edca1dff0be3d53a517f74de4 +- pypi: https://files.pythonhosted.org/packages/eb/47/c95ffc2009878c7aac0c5e08528022dcb885933252a88b5f170058014464/pydantic-2.13.5-py3-none-any.whl + name: pydantic + version: 2.13.5 + sha256: 346a034f080da3755d8e9cb5e00e8b07de1d39e4f6e2c87d8ab7cafa0b269a73 requires_dist: + - annotated-types>=0.6.0 + - pydantic-core==2.46.5 - typing-extensions>=4.14.1 + - typing-inspection>=0.4.2 + - email-validator>=2.0.0 ; extra == 'email' + - tzdata ; python_full_version >= '3.9' and sys_platform == 'win32' and extra == 'timezone' requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/e8/5f/b98b8da398637b551e427e7be922bdec19177dc54d6811dcdaa503f23aac/charset_normalizer-3.4.9-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - name: charset-normalizer - version: 3.4.9 - sha256: 9bb41182d93ea91f60b4bc8fbf4c820c69ef8a12ab2d917f3f1834f1acad07e8 - requires_python: '>=3.7' - pypi: https://files.pythonhosted.org/packages/f1/16/d905e7f53e661ce2c24686c38048d8e2b750ffc4350009d41c4e6c6c9826/h5py-3.16.0-cp314-cp314-manylinux_2_28_x86_64.whl name: h5py version: 3.16.0 @@ -3103,30 +3197,96 @@ packages: - trove-classifiers>=2024.10.12 ; extra == 'tests' - defusedxml ; extra == 'xmp' requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl - name: pygments - version: 2.20.0 - sha256: 81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176 +- pypi: https://files.pythonhosted.org/packages/f2/94/205ed9d7ddaf44acd489889708ea124a3f41bdb42c141c8684d528ad0e7a/pydantic_core-2.46.5-cp310-cp310-win_amd64.whl + name: pydantic-core + version: 2.46.5 + sha256: 1e5aad1220a1192c42341c8fd4a8686657e73ab2a920c970bdc4de334fe3193d requires_dist: - - colorama>=0.4.6 ; extra == 'windows-terminal' + - typing-extensions>=4.14.1 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/f3/af/8244d480b2096e8ce79e22c1d1472bf43ad10fb1e55a044334b0b2a69456/hdf5plugin-7.1.0-py3-none-macosx_11_0_arm64.whl + name: hdf5plugin + version: 7.1.0 + sha256: af2347557359a1f45e703e6465aa033336cc0f10dc8a3b4d5e11c7721cb1faa6 + requires_dist: + - h5py>=3.0.0 + - ipython ; extra == 'doc' + - nbsphinx ; extra == 'doc' + - sphinx ; extra == 'doc' + - sphinx-autodoc-typehints ; extra == 'doc' + - sphinx-rtd-theme ; extra == 'doc' + - numpy<2 ; python_full_version == '3.9.*' and extra == 'test' + - blosc2>=2.5.1 ; extra == 'test' + - blosc2-grok>=0.2.2 ; extra == 'test' + - hdf5plugin[doc,test] ; extra == 'dev' + - mypy ; extra == 'dev' + - ruff ; extra == 'dev' requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/f4/a0/39350dd17dd6d6c6507025c0e53aef67a9293a6d37d3511f23ea510d5800/pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl name: pyyaml version: 6.0.3 sha256: 214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/f4/c4/b3e049d2aa3766180c78507110543d9d50894cc97f57de543f1be521dcdc/charset_normalizer-3.4.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - name: charset-normalizer - version: 3.4.9 - sha256: c25fe15c70c59eb7c5ce8c06a1f3fa1da0ecc5ea1e7a5922c40fd2fa9b0d5046 - requires_python: '>=3.7' -- pypi: https://files.pythonhosted.org/packages/fc/b6/6b8de4c0a7d7ab3004c439c80c5c1e0a3e8d78bbae19379b01960383d9e5/pydantic_core-2.46.4-cp314-cp314-win_amd64.whl +- pypi: https://files.pythonhosted.org/packages/f7/3c/60674207246bc0a4009d2391b7c7251c7159f279c8d2ab8aae8ef46f3dee/pydantic_core-2.46.5-cp314-cp314-win_amd64.whl name: pydantic-core - version: 2.46.4 - sha256: 811ff8e9c313ab425368bcbb36e5c4ebd7108c2bbf4e4089cfbb0b01eff63fac + version: 2.46.5 + sha256: fa10ef4112775900e7a0661068635eb67b2ab824fbde764de6e0e21982a93db0 requires_dist: - typing-extensions>=4.14.1 requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/f8/f3/5e1bd1c3cde3a3a2c03c309016cad42ae037b3b2a1ba3fb6cb8411bc2341/silx-3.1.3-cp310-cp310-win_amd64.whl + name: silx + version: 3.1.3 + sha256: f051c6c437eddb625b896326522a8e7c3292ac2528b6c558271c4a1c06d4ae26 + requires_dist: + - numpy + - packaging + - h5py>=3 + - fabio + - pydantic>=2 + - filelock + - pyopencl ; extra == 'opencl' + - mako ; extra == 'opencl' + - silx[opencl] ; extra == 'full-no-qt' + - qtconsole ; extra == 'full-no-qt' + - matplotlib>=3.6 ; extra == 'full-no-qt' + - pyopengl ; extra == 'full-no-qt' + - python-dateutil ; extra == 'full-no-qt' + - scipy ; extra == 'full-no-qt' + - pooch ; extra == 'full-no-qt' + - pillow ; extra == 'full-no-qt' + - pint ; extra == 'full-no-qt' + - hdf5plugin ; extra == 'full-no-qt' + - qtawesome ; extra == 'full-no-qt' + - silx[full-no-qt] ; extra == 'full' + - pyside6>=6.5 ; extra == 'full' + - h5pyd>=0.20.0 ; extra == 'h5pyd' + - silx[full] ; extra == 'doc' + - sphinx ; extra == 'doc' + - sphinx-autodoc-typehints ; extra == 'doc' + - sphinx-copybutton ; extra == 'doc' + - sphinx-design ; extra == 'doc' + - pydata-sphinx-theme ; extra == 'doc' + - nbsphinx ; extra == 'doc' + - pandoc ; extra == 'doc' + - silx[full,h5pyd] ; extra == 'test' + - bitshuffle ; extra == 'test' + - imageio[tifffile] ; extra == 'test' + - pytest ; extra == 'test' + - pytest-xvfb ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-mock ; extra == 'test' + - pytest-httpserver ; extra == 'test' + - silx[doc,full,test] ; extra == 'dev' + - build ; extra == 'dev' + - wheel ; extra == 'dev' + - meson-python ; extra == 'dev' + - ninja ; extra == 'dev' + - cython>=3.1 ; extra == 'dev' + - tomli>=1.0.0 ; python_full_version < '3.11' and extra == 'dev' + - ruff ; extra == 'dev' + - pyinstaller>=6.0.0 ; sys_platform == 'win32' and extra == 'dev' + requires_python: '>=3.10' - pypi: https://files.pythonhosted.org/packages/fd/15/a70400eeea394dbcf34f926713499c3f7334b2ee0ec3639b794491ffc9c0/fabio-2025.10.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl name: fabio version: 2025.10.0 @@ -3144,15 +3304,56 @@ packages: - matplotlib ; extra == 'all' - packaging ; extra == 'all' requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl - name: pydantic - version: 2.13.4 - sha256: 45a282cde31d808236fd7ea9d919b128653c8b38b393d1c4ab335c62924d9aba +- pypi: https://files.pythonhosted.org/packages/fe/f6/f285f5240010944a23c91b025fb033bff5a6b0bc4ba38da7ee25efdbf1ae/silx-3.1.3-cp310-cp310-macosx_11_0_arm64.whl + name: silx + version: 3.1.3 + sha256: d73da48ef007892ae537ac9acd1ac75d053697f291d7d8767ab22f3ad60a0366 requires_dist: - - annotated-types>=0.6.0 - - pydantic-core==2.46.4 - - typing-extensions>=4.14.1 - - typing-inspection>=0.4.2 - - email-validator>=2.0.0 ; extra == 'email' - - tzdata ; python_full_version >= '3.9' and sys_platform == 'win32' and extra == 'timezone' - requires_python: '>=3.9' + - numpy + - packaging + - h5py>=3 + - fabio + - pydantic>=2 + - filelock + - pyopencl ; extra == 'opencl' + - mako ; extra == 'opencl' + - silx[opencl] ; extra == 'full-no-qt' + - qtconsole ; extra == 'full-no-qt' + - matplotlib>=3.6 ; extra == 'full-no-qt' + - pyopengl ; extra == 'full-no-qt' + - python-dateutil ; extra == 'full-no-qt' + - scipy ; extra == 'full-no-qt' + - pooch ; extra == 'full-no-qt' + - pillow ; extra == 'full-no-qt' + - pint ; extra == 'full-no-qt' + - hdf5plugin ; extra == 'full-no-qt' + - qtawesome ; extra == 'full-no-qt' + - silx[full-no-qt] ; extra == 'full' + - pyside6>=6.5 ; extra == 'full' + - h5pyd>=0.20.0 ; extra == 'h5pyd' + - silx[full] ; extra == 'doc' + - sphinx ; extra == 'doc' + - sphinx-autodoc-typehints ; extra == 'doc' + - sphinx-copybutton ; extra == 'doc' + - sphinx-design ; extra == 'doc' + - pydata-sphinx-theme ; extra == 'doc' + - nbsphinx ; extra == 'doc' + - pandoc ; extra == 'doc' + - silx[full,h5pyd] ; extra == 'test' + - bitshuffle ; extra == 'test' + - imageio[tifffile] ; extra == 'test' + - pytest ; extra == 'test' + - pytest-xvfb ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-mock ; extra == 'test' + - pytest-httpserver ; extra == 'test' + - silx[doc,full,test] ; extra == 'dev' + - build ; extra == 'dev' + - wheel ; extra == 'dev' + - meson-python ; extra == 'dev' + - ninja ; extra == 'dev' + - cython>=3.1 ; extra == 'dev' + - tomli>=1.0.0 ; python_full_version < '3.11' and extra == 'dev' + - ruff ; extra == 'dev' + - pyinstaller>=6.0.0 ; sys_platform == 'win32' and extra == 'dev' + requires_python: '>=3.10' diff --git a/pyproject.toml b/pyproject.toml index d52a6ac..a5446e7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [build-system] -requires = ["setuptools>=46.4"] -build-backend = "setuptools.build_meta" +requires = ["maturin>=1.11,<2"] +build-backend = "maturin" [project] name = "ewoksdraw" @@ -8,20 +8,25 @@ version = "0.0.1" authors = [{ name = "ESRF", email = "dau-pydev@esrf.fr" }] description = "Render Ewoks workflows as SVG" readme = { file = "README.md", content-type = "text/markdown" } -license = { file = "LICENSE.md" } +# Distributions include the MIT-licensed package and the EPL-2.0 layout engine. +license = "MIT AND EPL-2.0" +license-files = [ + "LICENSE.md", + "THIRD_PARTY_NOTICES.md", + "LICENSES/elk-rs/LICENSE", + "LICENSES/elk-rs/NOTICE", +] classifiers = [ "Intended Audience :: Science/Research", - "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", ] requires-python = ">=3.10" dependencies = [ "defusedxml", - "ewokscore==5.1.0rc3", + "ewokscore==5.1.0rc4", "reportlab", "typing-extensions; python_version < '3.11'", "xmltodict", - "pyelk @ git+https://github.com/LudoBroche/pyelk.git@ewoksdraw-modifications", ] [project.urls] @@ -46,14 +51,21 @@ doc = [ "pydata-sphinx-theme", ] -[tool.setuptools] -package-dir = { "" = "src" } - -[tool.setuptools.package-data] -ewoksdraw = ["**/*.css", "**/*.json"] - -[tool.setuptools.packages.find] -where = ["src"] +[tool.maturin] +manifest-path = "rust/Cargo.toml" +python-source = "src" +module-name = "ewoksdraw._elk_rs" +bindings = "pyo3" +profile = "release" +editable-profile = "dev" +strip = true +locked = true +compatibility = "pypi" +include = [ + { path = "ewoksdraw/**/*.css", format = ["sdist", "wheel"] }, + { path = "ewoksdraw/**/*.json", format = ["sdist", "wheel"] }, + { path = "ewoksdraw/**/*.pyi", format = ["sdist", "wheel"] }, +] [tool.coverage.run] omit = ["*/tests/*"] @@ -83,11 +95,6 @@ known-first-party = ["ewoksdraw"] ignore_missing_imports = true disallow_untyped_defs = true -[[tool.mypy.overrides]] -module = "setuptools.*" -ignore_missing_imports = true - - ######## # pixi # ######## @@ -98,6 +105,12 @@ platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"] [tool.pixi.pypi-dependencies] ewoksdraw = { path = ".", editable = true } +# Opt in to prereleases only for the required Ewoks dependencies. +ewokscore = "==5.1.0rc4" +ewoksutils = ">=2.0.0rc2" + +[tool.pixi.pypi-options] +prerelease-mode = "explicit" [tool.pixi.feature.pylow.dependencies] python = "3.10.*" @@ -109,7 +122,7 @@ test-lowest = ["test", "pylow"] [tool.pixi.tasks] test = "pytest" test-lowest = "pixi run -e test-lowest test" -lint = "ruff check --fix . && ruff format ." +lint = "ruff check --fix . && ruff format . && cargo fmt --manifest-path rust/Cargo.toml" typecheck = "mypy src" full-ci = "pixi run lint && pixi run typecheck && pixi run test && pixi run test-lowest" graph-to-svg = "python examples/graph_to_svg.py" diff --git a/rust/Cargo.lock b/rust/Cargo.lock new file mode 100644 index 0000000..b0667e2 --- /dev/null +++ b/rust/Cargo.lock @@ -0,0 +1,470 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "bitflags" +version = "2.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06" + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "elk-rs-python" +version = "0.0.0" +dependencies = [ + "org-eclipse-elk-graph-json", + "pyo3", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "json5" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96b0db21af676c1ce64250b5f40f3ce2cf27e4e47cb91ed91eb6fe9350b430c1" +dependencies = [ + "pest", + "pest_derive", + "serde", +] + +[[package]] +name = "libc" +version = "0.2.189" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "once_cell" +version = "1.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" + +[[package]] +name = "org-eclipse-elk-alg-common" +version = "0.11.0" +source = "git+https://github.com/openedges/elk-rs.git?rev=2191680292b9565592223c22a28b5ef33c3acbad#2191680292b9565592223c22a28b5ef33c3acbad" +dependencies = [ + "org-eclipse-elk-core", + "org-eclipse-elk-graph", + "rustc-hash", +] + +[[package]] +name = "org-eclipse-elk-alg-disco" +version = "0.11.0" +source = "git+https://github.com/openedges/elk-rs.git?rev=2191680292b9565592223c22a28b5ef33c3acbad#2191680292b9565592223c22a28b5ef33c3acbad" +dependencies = [ + "org-eclipse-elk-alg-common", + "org-eclipse-elk-core", + "org-eclipse-elk-graph", +] + +[[package]] +name = "org-eclipse-elk-alg-force" +version = "0.11.0" +source = "git+https://github.com/openedges/elk-rs.git?rev=2191680292b9565592223c22a28b5ef33c3acbad#2191680292b9565592223c22a28b5ef33c3acbad" +dependencies = [ + "org-eclipse-elk-alg-common", + "org-eclipse-elk-core", + "org-eclipse-elk-graph", +] + +[[package]] +name = "org-eclipse-elk-alg-layered" +version = "0.11.0" +source = "git+https://github.com/openedges/elk-rs.git?rev=2191680292b9565592223c22a28b5ef33c3acbad#2191680292b9565592223c22a28b5ef33c3acbad" +dependencies = [ + "org-eclipse-elk-alg-common", + "org-eclipse-elk-core", + "org-eclipse-elk-graph", + "rustc-hash", + "serde_json", +] + +[[package]] +name = "org-eclipse-elk-alg-mrtree" +version = "0.11.0" +source = "git+https://github.com/openedges/elk-rs.git?rev=2191680292b9565592223c22a28b5ef33c3acbad#2191680292b9565592223c22a28b5ef33c3acbad" +dependencies = [ + "org-eclipse-elk-alg-common", + "org-eclipse-elk-core", + "org-eclipse-elk-graph", +] + +[[package]] +name = "org-eclipse-elk-alg-radial" +version = "0.11.0" +source = "git+https://github.com/openedges/elk-rs.git?rev=2191680292b9565592223c22a28b5ef33c3acbad#2191680292b9565592223c22a28b5ef33c3acbad" +dependencies = [ + "org-eclipse-elk-alg-common", + "org-eclipse-elk-core", + "org-eclipse-elk-graph", +] + +[[package]] +name = "org-eclipse-elk-alg-rectpacking" +version = "0.11.0" +source = "git+https://github.com/openedges/elk-rs.git?rev=2191680292b9565592223c22a28b5ef33c3acbad#2191680292b9565592223c22a28b5ef33c3acbad" +dependencies = [ + "org-eclipse-elk-alg-common", + "org-eclipse-elk-core", + "org-eclipse-elk-graph", +] + +[[package]] +name = "org-eclipse-elk-alg-spore" +version = "0.11.0" +source = "git+https://github.com/openedges/elk-rs.git?rev=2191680292b9565592223c22a28b5ef33c3acbad#2191680292b9565592223c22a28b5ef33c3acbad" +dependencies = [ + "org-eclipse-elk-alg-common", + "org-eclipse-elk-core", + "org-eclipse-elk-graph", +] + +[[package]] +name = "org-eclipse-elk-alg-vertiflex" +version = "0.11.0" +source = "git+https://github.com/openedges/elk-rs.git?rev=2191680292b9565592223c22a28b5ef33c3acbad#2191680292b9565592223c22a28b5ef33c3acbad" +dependencies = [ + "org-eclipse-elk-alg-common", + "org-eclipse-elk-core", + "org-eclipse-elk-graph", +] + +[[package]] +name = "org-eclipse-elk-core" +version = "0.11.0" +source = "git+https://github.com/openedges/elk-rs.git?rev=2191680292b9565592223c22a28b5ef33c3acbad#2191680292b9565592223c22a28b5ef33c3acbad" +dependencies = [ + "org-eclipse-elk-graph", +] + +[[package]] +name = "org-eclipse-elk-graph" +version = "0.11.0" +source = "git+https://github.com/openedges/elk-rs.git?rev=2191680292b9565592223c22a28b5ef33c3acbad#2191680292b9565592223c22a28b5ef33c3acbad" +dependencies = [ + "parking_lot", + "rustc-hash", +] + +[[package]] +name = "org-eclipse-elk-graph-json" +version = "0.11.0" +source = "git+https://github.com/openedges/elk-rs.git?rev=2191680292b9565592223c22a28b5ef33c3acbad#2191680292b9565592223c22a28b5ef33c3acbad" +dependencies = [ + "json5", + "org-eclipse-elk-alg-disco", + "org-eclipse-elk-alg-force", + "org-eclipse-elk-alg-layered", + "org-eclipse-elk-alg-mrtree", + "org-eclipse-elk-alg-radial", + "org-eclipse-elk-alg-rectpacking", + "org-eclipse-elk-alg-spore", + "org-eclipse-elk-alg-vertiflex", + "org-eclipse-elk-core", + "org-eclipse-elk-graph", + "serde", + "serde_json", +] + +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-link", +] + +[[package]] +name = "pest" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d45aeb61b4bf818e12d4205f2466f8c4748f85f4fce0146d1c03d69d753f0ad" +dependencies = [ + "memchr", + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89cc5a242e25ed4e7704d0be240f2cfbe20a8c27e7e252d94835be93d92dc39f" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abf21475cc3820fe4b2ca2dc2142902f67a02189f3b5b3a229f4febc01a43e5" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "pest_meta" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adba4db388f687393c18c51348d44a41d870ca9df71a2c98172ea3035dc6936e" +dependencies = [ + "pest", +] + +[[package]] +name = "portable-atomic" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85" + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "pyo3" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4688ddedf473e32662b9b067670129a8afb8c18e351482c70d62ba4a88171e8b" +dependencies = [ + "libc", + "once_cell", + "portable-atomic", + "pyo3-build-config", + "pyo3-ffi", + "pyo3-macros", +] + +[[package]] +name = "pyo3-build-config" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f41027e41b4bd03f6e60f9f417fe24a6341a6bb744edd62b6f709f2a52ea30e9" +dependencies = [ + "target-lexicon", +] + +[[package]] +name = "pyo3-ffi" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e591a95526fead067432c3b3a33fc74770b87b1e04e73671090d9c2055a2b327" +dependencies = [ + "libc", + "pyo3-build-config", +] + +[[package]] +name = "pyo3-macros" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73225868fc1cd84eef2c3c230ddb91273bf1de46aeb8a4248da76d32a0924a1c" +dependencies = [ + "proc-macro2", + "pyo3-macros-backend", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "pyo3-macros-backend" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "571575aa3749fa6216757dd47d2a3e7ef360f329a40f0666a9fbd14889024952" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags", +] + +[[package]] +name = "rustc-hash" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "smallvec" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba467056f1b547ed52077911161fc86985becbc60e8e1857c8a144dab0def891" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "target-lexicon" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca" + +[[package]] +name = "ucd-trie" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/rust/Cargo.toml b/rust/Cargo.toml new file mode 100644 index 0000000..b6b2460 --- /dev/null +++ b/rust/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "elk-rs-python" +version = "0.0.0" +edition = "2021" +authors = ["ESRF "] +description = "Python bindings to the elk-rs graph layout engine" +license = "MIT" +publish = false + +[lib] +name = "_elk_rs" +crate-type = ["cdylib"] + +[dependencies] +pyo3 = { version = "0.29", features = ["abi3-py310"] } + +[dependencies.org-eclipse-elk-graph-json] +git = "https://github.com/openedges/elk-rs.git" +rev = "2191680292b9565592223c22a28b5ef33c3acbad" +package = "org-eclipse-elk-graph-json" diff --git a/rust/src/lib.rs b/rust/src/lib.rs new file mode 100644 index 0000000..86658cc --- /dev/null +++ b/rust/src/lib.rs @@ -0,0 +1,15 @@ +use org_eclipse_elk_graph_json::org::eclipse::elk::graph::json::layout_api; +use pyo3::exceptions::PyRuntimeError; +use pyo3::prelude::*; + +#[pyfunction] +#[pyo3(signature = (graph_json, options_json = "{}"))] +fn layout_json(graph_json: &str, options_json: &str) -> PyResult { + layout_api::layout_json(graph_json, options_json).map_err(PyRuntimeError::new_err) +} + +#[pymodule] +fn _elk_rs(module: &Bound<'_, PyModule>) -> PyResult<()> { + module.add_function(wrap_pyfunction!(layout_json, module)?)?; + Ok(()) +} diff --git a/src/ewoksdraw/_elk_rs.pyi b/src/ewoksdraw/_elk_rs.pyi new file mode 100644 index 0000000..d1552f3 --- /dev/null +++ b/src/ewoksdraw/_elk_rs.pyi @@ -0,0 +1 @@ +def layout_json(graph_json: str, options_json: str = "{}") -> str: ... diff --git a/src/ewoksdraw/config/constants.py b/src/ewoksdraw/config/constants.py index 3c5f9d5..a1238f2 100644 --- a/src/ewoksdraw/config/constants.py +++ b/src/ewoksdraw/config/constants.py @@ -20,6 +20,5 @@ "org.eclipse.elk.spacing.nodeNode": 60, "org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers": 80, "org.eclipse.elk.spacing.edgeEdge": 20, - "org.eclipse.elk.edgeRouting": "SPLINES", - "elk.layered.edgeRouting.splines.mode": "CONSERVATIVE_SOFT", + "org.eclipse.elk.edgeRouting": "ORTHOGONAL", } diff --git a/src/ewoksdraw/graph_to_svg.py b/src/ewoksdraw/graph_to_svg.py index f1a7f2b..8e8781a 100644 --- a/src/ewoksdraw/graph_to_svg.py +++ b/src/ewoksdraw/graph_to_svg.py @@ -2,9 +2,9 @@ from ewokscore.graph import TaskGraph from ewokscore.node.signature import node_signature -from pyelk import ELK from .config.constants import TASK_GROUP_HORIZONTAL_GAP +from .layout.elk_backend import layout from .layout.elk_converter import ElkGraph from .layout.elk_converter import ElkGraphBeforeLayout from .layout.elk_converter import convert_ewoks_to_elk_graph @@ -56,7 +56,7 @@ def graph_to_svg(graph: TaskGraph, output_path: str | Path) -> None: task_group.extract_input_positions(), task_group.extract_output_positions(), ) - elk_graph: ElkGraph = ELK().layout(elk_graph_before_layout) + elk_graph: ElkGraph = layout(elk_graph_before_layout) task_positions = extract_task_positions_from_elk_graph(elk_graph) task_group.set_task_positions(task_positions) diff --git a/src/ewoksdraw/layout/elk_backend.py b/src/ewoksdraw/layout/elk_backend.py new file mode 100644 index 0000000..dc3ad5d --- /dev/null +++ b/src/ewoksdraw/layout/elk_backend.py @@ -0,0 +1,33 @@ +import json +from typing import cast + +from ewoksdraw import _elk_rs +from ewoksdraw.config.constants import ELK_LAYOUT_OPTIONS + +from .elk_converter import ElkGraph +from .elk_converter import ElkGraphBeforeLayout + + +class ElkLayoutError(Exception): + """Raised when the Rust ELK backend fails to lay out a graph.""" + + +def layout(graph: ElkGraphBeforeLayout) -> ElkGraph: + """Lay out an ELK graph for SVG rendering using orthogonal edge routing. + + Layout options are read from ``graph["layoutOptions"]``. + Unsupported edge routing raises ``ValueError`` before layout. + """ + routing = graph["layoutOptions"].get( + "org.eclipse.elk.edgeRouting", ELK_LAYOUT_OPTIONS["org.eclipse.elk.edgeRouting"] + ) + if routing != "ORTHOGONAL": + raise ValueError( + "SVG rendering currently supports only ORTHOGONAL edge routing." + ) + + try: + result = _elk_rs.layout_json(json.dumps(graph)) + except RuntimeError as e: + raise ElkLayoutError(str(e)) from e + return cast(ElkGraph, json.loads(result)) diff --git a/src/ewoksdraw/layout/elk_converter.py b/src/ewoksdraw/layout/elk_converter.py index 93f6d65..82c0484 100644 --- a/src/ewoksdraw/layout/elk_converter.py +++ b/src/ewoksdraw/layout/elk_converter.py @@ -1,7 +1,5 @@ from typing import Any -from ..utils import get_valid_data_mappings - try: from typing import NotRequired except ImportError: @@ -21,6 +19,7 @@ from ..svg.svg_task_group import TaskSizes from ..utils import get_edge_source_id from ..utils import get_edge_target_id +from ..utils import get_valid_data_mappings class ElkPort(TypedDict): @@ -51,7 +50,7 @@ class ElkPoint(Point): ... class ElkSection(TypedDict): id: str startPoint: ElkPoint - bendPoints: list[ElkPoint] + bendPoints: NotRequired[list[ElkPoint]] endPoint: ElkPoint routing: str diff --git a/src/ewoksdraw/layout/elk_link_group_builder.py b/src/ewoksdraw/layout/elk_link_group_builder.py index 4bdf822..c7a0f91 100644 --- a/src/ewoksdraw/layout/elk_link_group_builder.py +++ b/src/ewoksdraw/layout/elk_link_group_builder.py @@ -69,6 +69,6 @@ def _section_points(section: ElkSection) -> list[Point]: """ return [ section["startPoint"], - *section["bendPoints"], + *section.get("bendPoints", []), section["endPoint"], ] diff --git a/src/ewoksdraw/py.typed b/src/ewoksdraw/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/src/ewoksdraw/tests/test_elk_backend.py b/src/ewoksdraw/tests/test_elk_backend.py new file mode 100644 index 0000000..aa7c738 --- /dev/null +++ b/src/ewoksdraw/tests/test_elk_backend.py @@ -0,0 +1,33 @@ +from typing import Any +from typing import cast + +from ewoksdraw.layout.elk_backend import layout +from ewoksdraw.layout.elk_converter import ElkGraphBeforeLayout + + +def test_layout() -> None: + graph: dict[str, Any] = { + "id": "root", + "layoutOptions": { + "org.eclipse.elk.algorithm": "layered", + "org.eclipse.elk.direction": "RIGHT", + "org.eclipse.elk.edgeRouting": "ORTHOGONAL", + }, + "children": [ + {"id": "first", "width": 30, "height": 20}, + {"id": "second", "width": 30, "height": 20}, + ], + "edges": [ + { + "id": "first-to-second", + "sources": ["first"], + "targets": ["second"], + } + ], + } + result = layout(cast(ElkGraphBeforeLayout, graph)) + + assert result["width"] > 0 + assert result["height"] > 0 + assert all("x" in node and "y" in node for node in result["children"]) + assert result["edges"][0]["sections"] diff --git a/src/ewoksdraw/tests/test_elk_converter.py b/src/ewoksdraw/tests/test_elk_converter.py index d63c3ba..6e419a3 100644 --- a/src/ewoksdraw/tests/test_elk_converter.py +++ b/src/ewoksdraw/tests/test_elk_converter.py @@ -3,10 +3,10 @@ from ewokscore.graph import TaskGraph from ewokscore.tests.examples.graphs import get_graph from ewokscore.tests.examples.graphs import graph_names -from pyelk.graph import validate_graph from ewoksdraw.config.constants import ELK_LAYOUT_OPTIONS from ewoksdraw.graph_to_svg import build_svg_task_group +from ewoksdraw.layout.elk_backend import layout from ewoksdraw.layout.elk_converter import ElkGraph from ewoksdraw.layout.elk_converter import convert_ewoks_to_elk_graph from ewoksdraw.layout.elk_converter import extract_task_positions_from_elk_graph @@ -436,8 +436,8 @@ def test_task_output_positions_missing_a_node_raises() -> None: @pytest.mark.parametrize("graph_name", graph_names()) @pytest.mark.filterwarnings("ignore:.*uses 'map_all_data'.*:UserWarning") -def test_output_is_a_valid_pyelk_graph(graph_name: str) -> None: - """Check graph validation from pyelk""" +def test_output_is_accepted_by_the_rust_layout(graph_name: str) -> None: + """Check that the Rust ELK layout accepts the converted graph""" graph_description, _ = get_graph(graph_name) graph = load_graph(graph_description) @@ -450,4 +450,8 @@ def test_output_is_a_valid_pyelk_graph(graph_name: str) -> None: task_group.extract_output_positions(), ) - validate_graph(elk_graph) + result = layout(elk_graph) + + assert len(result["children"]) == len(elk_graph["children"]) + assert len(result["edges"]) == len(elk_graph["edges"]) + assert all(edge["sections"] for edge in result["edges"]) diff --git a/src/ewoksdraw/tests/test_elk_rs_binding.py b/src/ewoksdraw/tests/test_elk_rs_binding.py new file mode 100644 index 0000000..38c9eec --- /dev/null +++ b/src/ewoksdraw/tests/test_elk_rs_binding.py @@ -0,0 +1,242 @@ +import math +from typing import Any +from typing import Literal +from typing import cast + +import pytest + +from ewoksdraw import _elk_rs +from ewoksdraw.layout.elk_backend import ElkLayoutError +from ewoksdraw.layout.elk_backend import layout +from ewoksdraw.layout.elk_converter import ElkGraph +from ewoksdraw.layout.elk_converter import ElkGraphBeforeLayout + +NODE_WIDTH = 100 +NODE_HEIGHT = 60 +INPUT_Y = (20, 40) +OUTPUT_Y = (30,) + + +def _node(node_id: str) -> dict[str, Any]: + ports = [ + { + "id": f"{node_id}.in{i}", + "x": 0, + "y": y, + "width": 0, + "height": 0, + "layoutOptions": { + "org.eclipse.elk.port.side": "WEST", + "org.eclipse.elk.port.index": i, + "org.eclipse.elk.port.borderOffset": 0, + }, + } + for i, y in enumerate(INPUT_Y) + ] + ports += [ + { + "id": f"{node_id}.out{i}", + "x": NODE_WIDTH, + "y": y, + "width": 0, + "height": 0, + "layoutOptions": { + "org.eclipse.elk.port.side": "EAST", + "org.eclipse.elk.port.index": i, + "org.eclipse.elk.port.borderOffset": 0, + }, + } + for i, y in enumerate(OUTPUT_Y) + ] + return { + "id": node_id, + "width": NODE_WIDTH, + "height": NODE_HEIGHT, + "layoutOptions": {"org.eclipse.elk.portConstraints": "FIXED_POS"}, + "ports": ports, + } + + +def _graph( + node_ids: list[str], links: list[tuple[str, str]], routing: str = "ORTHOGONAL" +) -> ElkGraphBeforeLayout: + return cast( + ElkGraphBeforeLayout, + { + "id": "root", + "layoutOptions": { + "org.eclipse.elk.algorithm": "layered", + "org.eclipse.elk.direction": "RIGHT", + "org.eclipse.elk.edgeRouting": routing, + }, + "children": [_node(node_id) for node_id in node_ids], + "edges": [ + { + "id": f"{source}->{target}", + "sources": [f"{source}.out0"], + "targets": [f"{target}.in0"], + } + for source, target in links + ], + }, + ) + + +def _absolute_ports(result: ElkGraph) -> dict[str, tuple[float, float]]: + return { + port["id"]: (node["x"] + port["x"], node["y"] + port["y"]) + for node in result["children"] + for port in node["ports"] + } + + +@pytest.mark.parametrize( + "node_ids, links", + [ + (["a", "b"], [("a", "b")]), + (["a", "b", "c"], [("a", "b"), ("a", "c")]), # branching + (["a", "b", "c"], [("a", "b")]), # disconnected node + (["a", "b"], [("a", "b"), ("b", "a")]), # cycle + (["a"], [("a", "a")]), # self-loop + ], +) +def test_orthogonal_layout_contract( + node_ids: list[str], links: list[tuple[str, str]] +) -> None: + result = layout(_graph(node_ids, links)) + + assert result["width"] > 0 and result["height"] > 0 + + # Nodes are placed and fixed ports are kept at their input offsets. + assert [node["id"] for node in result["children"]] == node_ids + for node in result["children"]: + assert math.isfinite(node["x"]) and math.isfinite(node["y"]) + assert {port["id"]: port["y"] for port in node["ports"]} == { + f"{node['id']}.in0": INPUT_Y[0], + f"{node['id']}.in1": INPUT_Y[1], + f"{node['id']}.out0": OUTPUT_Y[0], + } + + # Every edge has sections that start/end on its ports and are orthogonal. + ports = _absolute_ports(result) + assert len(result["edges"]) == len(links) + for edge in result["edges"]: + assert edge["sections"] + for section in edge["sections"]: + points = [ + section["startPoint"], + *section.get("bendPoints", []), + section["endPoint"], + ] + for p, q in zip(points, points[1:]): + assert p["x"] == pytest.approx(q["x"]) or p["y"] == pytest.approx( + q["y"] + ), f"diagonal segment in {edge['id']}: {p} -> {q}" + start = edge["sections"][0]["startPoint"] + end = edge["sections"][-1]["endPoint"] + assert (start["x"], start["y"]) == pytest.approx(ports[edge["sources"][0]]) + assert (end["x"], end["y"]) == pytest.approx(ports[edge["targets"][0]]) + + +def test_edge_points_within_canvas() -> None: + result = layout(_graph(["a", "b", "c"], [("a", "b"), ("a", "c"), ("b", "c")])) + + for edge in result["edges"]: + for section in edge["sections"]: + for point in [ + section["startPoint"], + *section.get("bendPoints", []), + section["endPoint"], + ]: + assert 0 <= point["x"] <= result["width"] + assert 0 <= point["y"] <= result["height"] + + +def test_empty_graph() -> None: + result = layout({"id": "root", "layoutOptions": {}, "children": [], "edges": []}) + + assert result["width"] == 0 and result["height"] == 0 + assert result["children"] == [] + + +@pytest.mark.parametrize( + "graph_json, message", + [ + ("{not json", "Failed to parse graph JSON"), + ("[]", "must be a json object"), + ("{}", "Every element must have an id"), + ], +) +def test_invalid_graph_raises(graph_json: str, message: str) -> None: + with pytest.raises(RuntimeError, match=message): + _elk_rs.layout_json(graph_json) + + +def test_invalid_options_raises() -> None: + with pytest.raises(RuntimeError, match="Failed to parse options JSON"): + _elk_rs.layout_json('{"id": "root"}', "{bad") + + +def test_unknown_port_raises() -> None: + graph = _graph(["a"], []) + graph["edges"] = [{"id": "e", "sources": ["a.out0"], "targets": ["missing"]}] + + with pytest.raises(ElkLayoutError, match="Referenced shape does not exist"): + layout(graph) + + +def test_unknown_algorithm_raises() -> None: + graph = _graph(["a"], []) + graph["layoutOptions"]["org.eclipse.elk.algorithm"] = "nope" + + with pytest.raises(ElkLayoutError, match="Layout algorithm 'nope' not found"): + layout(graph) + + +def _with_options(graph: ElkGraphBeforeLayout, **options: Any) -> ElkGraphBeforeLayout: + graph["layoutOptions"].update(options) + return graph + + +@pytest.mark.parametrize( + "option, size_key", + [ + ("org.eclipse.elk.spacing.nodeNode", "height"), + ("org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers", "width"), + ], +) +def test_spacing_options_are_applied( + option: str, size_key: Literal["width", "height"] +) -> None: + links = [("a", "b"), ("a", "c")] + small = layout(_with_options(_graph(["a", "b", "c"], links), **{option: 10})) + large = layout(_with_options(_graph(["a", "b", "c"], links), **{option: 200})) + + assert large[size_key] > small[size_key] + + +def test_edges_have_a_single_section_and_optional_bend_points() -> None: + result = layout(_graph(["a", "b", "c"], [("a", "b"), ("a", "c")])) + + sections = [edge["sections"] for edge in result["edges"]] + assert all(len(edge_sections) == 1 for edge_sections in sections) + # Straight edges have no "bendPoints" key at all. + assert any("bendPoints" not in s[0] for s in sections) + + +def test_back_edges_route_around_nodes() -> None: + result = layout(_graph(["a", "b"], [("a", "b"), ("b", "a")])) + + sections = [edge["sections"][0] for edge in result["edges"]] + back_sections = [s for s in sections if s["endPoint"]["x"] < s["startPoint"]["x"]] + assert len(back_sections) == 1 + assert len(back_sections[0]["bendPoints"]) >= 2 + + +@pytest.mark.parametrize("routing", ["SPLINES", "POLYLINE"]) +def test_unsupported_edge_routing_raises(routing: str) -> None: + with pytest.raises( + ValueError, + match="SVG rendering currently supports only ORTHOGONAL edge routing", + ): + layout(_graph(["a", "b"], [("a", "b")], routing)) diff --git a/src/ewoksdraw/tests/test_utils.py b/src/ewoksdraw/tests/test_utils.py index d7334b5..662a949 100644 --- a/src/ewoksdraw/tests/test_utils.py +++ b/src/ewoksdraw/tests/test_utils.py @@ -4,7 +4,7 @@ from ..utils import get_task_id_from_target_id -def test_edge_source_task_id_roundtrip(): +def test_edge_source_task_id_roundtrip() -> None: task_id = "pipeline.output.normalize" output_name = "value" @@ -12,7 +12,7 @@ def test_edge_source_task_id_roundtrip(): assert get_task_id_from_source_id(source_id) == task_id -def test_edge_target_task_id_roundtrip(): +def test_edge_target_task_id_roundtrip() -> None: task_id = "pipeline.input.normalize" output_name = "value"