Skip to content

Commit

Permalink
[Bot] Update dependencies (#2123)
Browse files Browse the repository at this point in the history
Update dependencies

Co-authored-by: cibuildwheel-bot[bot] <83877280+cibuildwheel-bot[bot]@users.noreply.github.com>
  • Loading branch information
cibuildwheel-bot[bot] authored Jan 20, 2025
1 parent c65b088 commit 9c2ab26
Show file tree
Hide file tree
Showing 12 changed files with 52 additions and 52 deletions.
12 changes: 6 additions & 6 deletions cibuildwheel/resources/constraints-pyodide312.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# nox -s update_constraints
annotated-types==0.7.0
# via pydantic
anyio==4.7.0
anyio==4.8.0
# via httpx
auditwheel-emscripten==0.0.16
# via pyodide-build
Expand All @@ -19,7 +19,7 @@ charset-normalizer==3.4.1
# via requests
click==8.1.8
# via typer
cmake==3.31.2
cmake==3.31.4
# via pyodide-build
distlib==0.3.9
# via virtualenv
Expand Down Expand Up @@ -52,13 +52,13 @@ pip==24.3.1
# via -r .nox/update_constraints/tmp/constraints-pyodide.in
platformdirs==4.3.6
# via virtualenv
pydantic==2.10.4
pydantic==2.10.5
# via
# pyodide-build
# pyodide-lock
pydantic-core==2.27.2
# via pydantic
pygments==2.18.0
pygments==2.19.1
# via rich
pyodide-build==0.29.2
# via -r .nox/update_constraints/tmp/constraints-pyodide.in
Expand All @@ -79,7 +79,7 @@ rich==13.9.4
# pyodide-build
# pyodide-cli
# typer
ruamel-yaml==0.18.7
ruamel-yaml==0.18.10
# via pyodide-build
ruamel-yaml-clib==0.2.12
# via ruamel-yaml
Expand All @@ -102,7 +102,7 @@ unearth==0.17.2
# via pyodide-build
urllib3==2.3.0
# via requests
virtualenv==20.28.0
virtualenv==20.29.1
# via
# build
# pyodide-build
Expand Down
2 changes: 1 addition & 1 deletion cibuildwheel/resources/constraints-python310.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ tomli==2.2.1
# via build
typing-extensions==4.12.2
# via delocate
virtualenv==20.28.0
virtualenv==20.29.1
# via -r cibuildwheel/resources/constraints.in
zipp==3.21.0
# via importlib-metadata
2 changes: 1 addition & 1 deletion cibuildwheel/resources/constraints-python311.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ pyproject-hooks==1.2.0
# via build
typing-extensions==4.12.2
# via delocate
virtualenv==20.28.0
virtualenv==20.29.1
# via -r cibuildwheel/resources/constraints.in
2 changes: 1 addition & 1 deletion cibuildwheel/resources/constraints-python312.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ pyproject-hooks==1.2.0
# via build
typing-extensions==4.12.2
# via delocate
virtualenv==20.28.0
virtualenv==20.29.1
# via -r cibuildwheel/resources/constraints.in
2 changes: 1 addition & 1 deletion cibuildwheel/resources/constraints-python313.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ pyproject-hooks==1.2.0
# via build
typing-extensions==4.12.2
# via delocate
virtualenv==20.28.0
virtualenv==20.29.1
# via -r cibuildwheel/resources/constraints.in
2 changes: 1 addition & 1 deletion cibuildwheel/resources/constraints-python38.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ tomli==2.2.1
# via build
typing-extensions==4.12.2
# via delocate
virtualenv==20.28.0
virtualenv==20.29.1
# via -r cibuildwheel/resources/constraints.in
zipp==3.20.2
# via importlib-metadata
2 changes: 1 addition & 1 deletion cibuildwheel/resources/constraints-python39.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ tomli==2.2.1
# via build
typing-extensions==4.12.2
# via delocate
virtualenv==20.28.0
virtualenv==20.29.1
# via -r cibuildwheel/resources/constraints.in
zipp==3.21.0
# via importlib-metadata
2 changes: 1 addition & 1 deletion cibuildwheel/resources/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ pyproject-hooks==1.2.0
# via build
typing-extensions==4.12.2
# via delocate
virtualenv==20.28.0
virtualenv==20.29.1
# via -r cibuildwheel/resources/constraints.in
2 changes: 1 addition & 1 deletion cibuildwheel/resources/nodejs.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
url = "https://nodejs.org/dist/"
v22 = "v22.12.0"
v22 = "v22.13.0"
v20 = "v20.18.1"
54 changes: 27 additions & 27 deletions cibuildwheel/resources/pinned_docker_images.cfg
Original file line number Diff line number Diff line change
@@ -1,64 +1,64 @@
[x86_64]
manylinux1 = quay.io/pypa/manylinux1_x86_64:2024-04-29-76807b8
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2024.12.28-1
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2025.01.19-2
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2024.12.28-1
manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2024.12.28-1
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2025.01.19-2
manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2025.01.19-2
musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2024.10.26-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2024.12.28-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2025.01.19-2

[i686]
manylinux1 = quay.io/pypa/manylinux1_i686:2024-04-29-76807b8
manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177
manylinux2014 = quay.io/pypa/manylinux2014_i686:2024.12.28-1
manylinux2014 = quay.io/pypa/manylinux2014_i686:2025.01.19-2
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463
musllinux_1_1 = quay.io/pypa/musllinux_1_1_i686:2024.10.26-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_i686:2024.12.28-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_i686:2025.01.19-2

[pypy_x86_64]
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2024.12.28-1
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2025.01.19-2
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2024.12.28-1
manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2024.12.28-1
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2025.01.19-2
manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2025.01.19-2

[pypy_i686]
manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177
manylinux2014 = quay.io/pypa/manylinux2014_i686:2024.12.28-1
manylinux2014 = quay.io/pypa/manylinux2014_i686:2025.01.19-2
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463

[aarch64]
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2024.12.28-1
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2025.01.19-2
manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2024.12.28-1
manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2024.12.28-1
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2025.01.19-2
manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2025.01.19-2
musllinux_1_1 = quay.io/pypa/musllinux_1_1_aarch64:2024.10.26-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_aarch64:2024.12.28-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_aarch64:2025.01.19-2

[ppc64le]
manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2024.12.28-1
manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2025.01.19-2
manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2024.12.28-1
manylinux_2_34 = quay.io/pypa/manylinux_2_34_ppc64le:2024.12.28-1
manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2025.01.19-2
manylinux_2_34 = quay.io/pypa/manylinux_2_34_ppc64le:2025.01.19-2
musllinux_1_1 = quay.io/pypa/musllinux_1_1_ppc64le:2024.10.26-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_ppc64le:2024.12.28-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_ppc64le:2025.01.19-2

[s390x]
manylinux2014 = quay.io/pypa/manylinux2014_s390x:2024.12.28-1
manylinux2014 = quay.io/pypa/manylinux2014_s390x:2025.01.19-2
manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_s390x:2024.12.28-1
manylinux_2_34 = quay.io/pypa/manylinux_2_34_s390x:2024.12.28-1
manylinux_2_28 = quay.io/pypa/manylinux_2_28_s390x:2025.01.19-2
manylinux_2_34 = quay.io/pypa/manylinux_2_34_s390x:2025.01.19-2
musllinux_1_1 = quay.io/pypa/musllinux_1_1_s390x:2024.10.26-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_s390x:2024.12.28-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_s390x:2025.01.19-2

[pypy_aarch64]
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2024.12.28-1
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2025.01.19-2
manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2024.12.28-1
manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2024.12.28-1
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2025.01.19-2
manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2025.01.19-2

[armv7l]
manylinux_2_31 = ghcr.io/mayeut/manylinux_2_31:2024.12.29-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_armv7l:2024.12.28-1
manylinux_2_31 = ghcr.io/mayeut/manylinux_2_31:2025.01.19-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_armv7l:2025.01.19-2

2 changes: 1 addition & 1 deletion cibuildwheel/resources/virtualenv.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
py36 = { version = "20.21.1", url = "/~https://github.com/pypa/get-virtualenv/blob/20.21.1/public/virtualenv.pyz?raw=true" }
default = { version = "20.28.0", url = "/~https://github.com/pypa/get-virtualenv/blob/20.28.0/public/virtualenv.pyz?raw=true" }
default = { version = "20.29.1", url = "/~https://github.com/pypa/get-virtualenv/blob/20.29.1/public/virtualenv.pyz?raw=true" }
20 changes: 10 additions & 10 deletions docs/working-examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ title: Working examples
| [pedalboard][] | ![github icon][] | ![windows icon][] ![linux icon][] ![apple icon][] | A Python library for working with audio data and audio plugins by wrapping the [JUCE](/~https://github.com/juce-framework/JUCE/) C++ framework. Uses cibuildwheel to deploy on as many operating systems and Python versions as possible with only one dependency (any NumPy). |
| [websockets][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | Library for building WebSocket servers and clients. Mostly written in Python, with a small C 'speedups' extension module. |
| [River][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | 🌊 Online machine learning in Python |
| [UltraJSON][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Ultra fast JSON decoder and encoder written in C with Python bindings |
| [aiortc][] | ![github icon][] | ![apple icon][] ![linux icon][] | WebRTC and ORTC implementation for Python using asyncio. |
| [UltraJSON][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Ultra fast JSON decoder and encoder written in C with Python bindings |
| [OpenSpiel][] | ![github icon][] | ![apple icon][] ![linux icon][] | OpenSpiel is a collection of environments and algorithms for research in general reinforcement learning and search/planning in games. |
| [Dependency Injector][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Dependency injection framework for Python, uses Windows TravisCI |
| [pyzmq][] | ![github icon][] ![circleci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python bindings for zeromq, the networking library. Uses Cython on CPython and CFFI on PyPy. ARM wheels for linux are built natively on CircleCI. |
Expand Down Expand Up @@ -70,8 +70,8 @@ title: Working examples
| [time-machine][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Time mocking library using only the CPython C API. |
| [Picologging][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A high-performance logging library for Python. |
| [pybind11 cmake_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Example pybind11 module built with a CMake-based build system |
| [markupsafe][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Safely add untrusted strings to HTML/XML markup. |
| [Rtree][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Rtree: spatial index for Python GIS |
| [markupsafe][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Safely add untrusted strings to HTML/XML markup. |
| [KDEpy][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Kernel Density Estimation in Python |
| [dd-trace-py][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Uses custom alternate arch emulation on GitHub |
| [tgcalls][] | ![github icon][] | ![apple icon][] ![windows icon][] | Python `pybind11` binding to Telegram's WebRTC library with third party dependencies like `OpenSSL`, `MozJPEG`, `FFmpeg`, etc. |
Expand All @@ -81,17 +81,17 @@ title: Working examples
| [python-snappy][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Python bindings for the snappy google library |
| [abess][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A fast best-subset selection library. It uses cibuildwheel to build a large project with C++ extensions. |
| [cyvcf2][] | ![github icon][] | ![apple icon][] ![linux icon][] | cython + htslib == fast VCF and BCF processing |
| [jq.py][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | Python bindings for jq |
| [matrixprofile][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python 3 library making time series data mining tasks, utilizing matrix profile algorithms, accessible to everyone. |
| [jq.py][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | Python bindings for jq |
| [Tokenizer][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast and customizable text tokenization library with BPE and SentencePiece support |
| [iminuit][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Jupyter-friendly Python interface for C++ MINUIT2 |
| [keyvi][] | ![github icon][] | ![linux icon][] ![apple icon][] | FST based key value index highly optimized for size and lookup performance, utilizes ccache action for improved runtime |
| [pillow-heif][] | ![github icon][] ![cirrusci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Bindings to libheif library with third party dependencies. Fully automated CI for tests and publishing including Apple Silicon builds. |
| [PyGLM][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Fast OpenGL Mathematics (GLM) for Python |
| [TgCrypto][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes a Windows Travis build. |
| [iDynTree][] | ![github icon][] | ![linux icon][] | Uses manylinux_2_24 |
| [streaming-form-data][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Streaming parser for multipart/form-data written in Cython |
| [Confluent client for Kafka][] | ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | setup in `tools/wheels/build-wheels.bat` |
| [streaming-form-data][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Streaming parser for multipart/form-data written in Cython |
| [bx-python][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | A library that includes Cython extensions. |
| [power-grid-model][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python/C++ library for distribution power system analysis |
| [pybase64][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast Base64 encoding/decoding in Python |
Expand All @@ -109,8 +109,8 @@ title: Working examples
| [numpythia][] | ![github icon][] | ![apple icon][] ![linux icon][] | The interface between PYTHIA and NumPy |
| [pyjet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The interface between FastJet and NumPy |
| [ril][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A python binding to Rust Imaging library using maturin and Pyo3, utilizes Github Action cache to improve speed. Builds abi3 wheels. |
| [GSD][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Cython and NumPy project with 64-bit wheels. |
| [SiPM][] | ![github icon][] | ![apple icon][] ![linux icon][] | High performance library for SiPM detectors simulation using C++17, OpenMP and AVX2 intrinsics. |
| [GSD][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Cython and NumPy project with 64-bit wheels. |
| [aalink][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Async Python interface for Ableton Link. |
| [CorrectionLib][] | ![github icon][] | ![apple icon][] ![linux icon][] | Structured JSON powered correction library for HEP, designed for the CMS experiment at CERN. |
| [xmlstarlet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python 3.6+ CFFI bindings with true MSVC build. |
Expand Down Expand Up @@ -145,8 +145,8 @@ title: Working examples
[pedalboard]: /~https://github.com/spotify/pedalboard
[websockets]: /~https://github.com/python-websockets/websockets
[River]: /~https://github.com/online-ml/river
[UltraJSON]: /~https://github.com/ultrajson/ultrajson
[aiortc]: /~https://github.com/aiortc/aiortc
[UltraJSON]: /~https://github.com/ultrajson/ultrajson
[OpenSpiel]: /~https://github.com/google-deepmind/open_spiel
[Dependency Injector]: /~https://github.com/ets-labs/python-dependency-injector
[pyzmq]: /~https://github.com/zeromq/pyzmq
Expand Down Expand Up @@ -180,8 +180,8 @@ title: Working examples
[time-machine]: /~https://github.com/adamchainz/time-machine
[Picologging]: /~https://github.com/microsoft/picologging
[pybind11 cmake_example]: /~https://github.com/pybind/cmake_example
[markupsafe]: /~https://github.com/pallets/markupsafe
[Rtree]: /~https://github.com/Toblerity/rtree
[markupsafe]: /~https://github.com/pallets/markupsafe
[KDEpy]: /~https://github.com/tommyod/KDEpy
[dd-trace-py]: /~https://github.com/DataDog/dd-trace-py
[tgcalls]: /~https://github.com/MarshalX/tgcalls
Expand All @@ -191,17 +191,17 @@ title: Working examples
[python-snappy]: /~https://github.com/intake/python-snappy
[abess]: /~https://github.com/abess-team/abess
[cyvcf2]: /~https://github.com/brentp/cyvcf2
[jq.py]: /~https://github.com/mwilliamson/jq.py
[matrixprofile]: /~https://github.com/matrix-profile-foundation/matrixprofile
[jq.py]: /~https://github.com/mwilliamson/jq.py
[Tokenizer]: /~https://github.com/OpenNMT/Tokenizer
[iminuit]: /~https://github.com/scikit-hep/iminuit
[keyvi]: /~https://github.com/KeyviDev/keyvi
[pillow-heif]: /~https://github.com/bigcat88/pillow_heif
[PyGLM]: /~https://github.com/Zuzu-Typ/PyGLM
[TgCrypto]: /~https://github.com/pyrogram/tgcrypto
[iDynTree]: /~https://github.com/robotology/idyntree
[streaming-form-data]: /~https://github.com/siddhantgoel/streaming-form-data
[Confluent client for Kafka]: /~https://github.com/confluentinc/confluent-kafka-python
[streaming-form-data]: /~https://github.com/siddhantgoel/streaming-form-data
[bx-python]: /~https://github.com/bxlab/bx-python
[power-grid-model]: /~https://github.com/PowerGridModel/power-grid-model
[pybase64]: /~https://github.com/mayeut/pybase64
Expand All @@ -219,8 +219,8 @@ title: Working examples
[numpythia]: /~https://github.com/scikit-hep/numpythia
[pyjet]: /~https://github.com/scikit-hep/pyjet
[ril]: /~https://github.com/Cryptex-github/ril-py
[GSD]: /~https://github.com/glotzerlab/gsd
[SiPM]: /~https://github.com/EdoPro98/SimSiPM
[GSD]: /~https://github.com/glotzerlab/gsd
[aalink]: /~https://github.com/artfwo/aalink
[CorrectionLib]: /~https://github.com/cms-nanoAOD/correctionlib
[xmlstarlet]: /~https://github.com/dimitern/xmlstarlet
Expand Down

0 comments on commit 9c2ab26

Please sign in to comment.