From 3bf1908dcb3f9c9342ea714d57f626b2f9131437 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Sat, 27 Jan 2024 11:21:22 +0000 Subject: [PATCH 1/4] Don't bother pinning OS images for Github Actions Fix #1612 The hassle of updating these pins (both for us and our users, most copy our documentation) seems to outweigh the benefit of the pin. The truth is that they're not really pins anyway, Github update them all the time, and they don't work for historical repeatability because old images are retired all the time. --- .github/workflows/test.yml | 4 ++-- .github/workflows/update-dependencies.yml | 2 +- README.md | 2 +- docs/setup.md | 4 ++-- examples/github-apple-silicon.yml | 2 +- examples/github-deploy.yml | 2 +- examples/github-minimal.yml | 2 +- examples/github-with-qemu.yml | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 04b39847..511a72af 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -38,10 +38,10 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-20.04, windows-latest, macos-11] + os: [ubuntu-latest, windows-latest, macos-latest] python_version: ['3.12'] include: - - os: ubuntu-22.04 + - os: ubuntu-latest python_version: '3.8' timeout-minutes: 180 steps: diff --git a/.github/workflows/update-dependencies.yml b/.github/workflows/update-dependencies.yml index cad08a00..dcd39f2e 100644 --- a/.github/workflows/update-dependencies.yml +++ b/.github/workflows/update-dependencies.yml @@ -18,7 +18,7 @@ jobs: update-dependencies: name: Update dependencies if: github.repository_owner == 'pypa' || github.event_name != 'schedule' - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 diff --git a/README.md b/README.md index 615c3114..29180ec2 100644 --- a/README.md +++ b/README.md @@ -88,7 +88,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-20.04, windows-2019, macOS-11] + os: [ubuntu-latest, windows-latest, macOS-latest] steps: - uses: actions/checkout@v4 diff --git a/docs/setup.md b/docs/setup.md index a4697bfd..b93b48cc 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -178,7 +178,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-20.04, windows-2019, macos-11] + os: [ubuntu-latest, windows-latest, macos-latest] steps: - uses: actions/checkout@v4 @@ -211,7 +211,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-20.04, windows-2019, macos-11] + os: [ubuntu-latest, windows-latest, macos-latest] steps: - uses: actions/checkout@v4 diff --git a/examples/github-apple-silicon.yml b/examples/github-apple-silicon.yml index dfcf09c3..098ec91f 100644 --- a/examples/github-apple-silicon.yml +++ b/examples/github-apple-silicon.yml @@ -5,7 +5,7 @@ on: [push, pull_request] jobs: build_wheels_macos: name: Build wheels on macos-11 - runs-on: macos-11 + runs-on: macos-latest steps: - uses: actions/checkout@v4 diff --git a/examples/github-deploy.yml b/examples/github-deploy.yml index 79068cc3..4b73cbe6 100644 --- a/examples/github-deploy.yml +++ b/examples/github-deploy.yml @@ -16,7 +16,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-22.04, windows-2022, macos-11] + os: [ubuntu-latest, windows-latest, macos-latest] steps: - uses: actions/checkout@v4 diff --git a/examples/github-minimal.yml b/examples/github-minimal.yml index c2f9ce7e..44249d1c 100644 --- a/examples/github-minimal.yml +++ b/examples/github-minimal.yml @@ -8,7 +8,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-20.04, windows-2019, macos-11] + os: [ubuntu-latest, windows-latest, macos-latest] steps: - uses: actions/checkout@v4 diff --git a/examples/github-with-qemu.yml b/examples/github-with-qemu.yml index cb3e328e..922c59fb 100644 --- a/examples/github-with-qemu.yml +++ b/examples/github-with-qemu.yml @@ -8,7 +8,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-20.04, windows-2019, macos-11] + os: [ubuntu-latest, windows-latest, macos-latest] steps: - uses: actions/checkout@v4 From 6c93c131c4661d155fc39dc80816676ee92585a0 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Fri, 2 Feb 2024 17:56:34 +0000 Subject: [PATCH 2/4] Go back to macos-12 for the AS transition --- docs/setup.md | 4 ++-- examples/github-apple-silicon.yml | 2 +- examples/github-deploy.yml | 2 +- examples/github-minimal.yml | 2 +- examples/github-with-qemu.yml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/setup.md b/docs/setup.md index b93b48cc..92d0be7e 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -178,7 +178,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: [ubuntu-latest, windows-latest, macos-12] steps: - uses: actions/checkout@v4 @@ -211,7 +211,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: [ubuntu-latest, windows-latest, macos-12] steps: - uses: actions/checkout@v4 diff --git a/examples/github-apple-silicon.yml b/examples/github-apple-silicon.yml index 098ec91f..dfcf09c3 100644 --- a/examples/github-apple-silicon.yml +++ b/examples/github-apple-silicon.yml @@ -5,7 +5,7 @@ on: [push, pull_request] jobs: build_wheels_macos: name: Build wheels on macos-11 - runs-on: macos-latest + runs-on: macos-11 steps: - uses: actions/checkout@v4 diff --git a/examples/github-deploy.yml b/examples/github-deploy.yml index 4b73cbe6..3dec2887 100644 --- a/examples/github-deploy.yml +++ b/examples/github-deploy.yml @@ -16,7 +16,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: [ubuntu-latest, windows-latest, macos-12] steps: - uses: actions/checkout@v4 diff --git a/examples/github-minimal.yml b/examples/github-minimal.yml index 44249d1c..e0f79e7f 100644 --- a/examples/github-minimal.yml +++ b/examples/github-minimal.yml @@ -8,7 +8,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: [ubuntu-latest, windows-latest, macos-12] steps: - uses: actions/checkout@v4 diff --git a/examples/github-with-qemu.yml b/examples/github-with-qemu.yml index 922c59fb..76655b0a 100644 --- a/examples/github-with-qemu.yml +++ b/examples/github-with-qemu.yml @@ -8,7 +8,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: [ubuntu-latest, windows-latest, macos-12] steps: - uses: actions/checkout@v4 From 88d60dce897b5a9c0913d20c2f1ab3ece823c051 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Sun, 18 Feb 2024 18:52:42 +0000 Subject: [PATCH 3/4] Update .github/workflows/test.yml Co-authored-by: Matthieu Darbois --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 132c581a..67604194 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -38,7 +38,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-20.04, windows-latest, macos-13, macos-14] + os: [ubuntu-latest, windows-latest, macos-13, macos-14] python_version: ['3.12'] include: - os: ubuntu-latest From 6b3122aff78a9f111f368f047ef33b3f02acc155 Mon Sep 17 00:00:00 2001 From: "cibuildwheel-bot[bot]" <83877280+cibuildwheel-bot[bot]@users.noreply.github.com> Date: Mon, 26 Feb 2024 06:03:55 +0000 Subject: [PATCH 4/4] Update dependencies --- .../resources/constraints-python310.txt | 6 +-- .../resources/constraints-python311.txt | 6 +-- .../resources/constraints-python312.txt | 6 +-- .../resources/constraints-python37.txt | 2 +- .../resources/constraints-python38.txt | 6 +-- .../resources/constraints-python39.txt | 6 +-- cibuildwheel/resources/constraints.txt | 6 +-- .../resources/pinned_docker_images.cfg | 46 +++++++++---------- docs/working-examples.md | 16 +++---- 9 files changed, 50 insertions(+), 50 deletions(-) diff --git a/cibuildwheel/resources/constraints-python310.txt b/cibuildwheel/resources/constraints-python310.txt index e0355b65..990e1215 100644 --- a/cibuildwheel/resources/constraints-python310.txt +++ b/cibuildwheel/resources/constraints-python310.txt @@ -14,9 +14,9 @@ packaging==23.2 # via delocate platformdirs==4.2.0 # via virtualenv -typing-extensions==4.9.0 +typing-extensions==4.10.0 # via delocate -virtualenv==20.25.0 +virtualenv==20.25.1 # via -r cibuildwheel/resources/constraints.in wheel==0.42.0 # via -r cibuildwheel/resources/constraints.in @@ -24,5 +24,5 @@ wheel==0.42.0 # The following packages are considered to be unsafe in a requirements file: pip==24.0 # via -r cibuildwheel/resources/constraints.in -setuptools==69.1.0 +setuptools==69.1.1 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python311.txt b/cibuildwheel/resources/constraints-python311.txt index 16680bef..9293ac02 100644 --- a/cibuildwheel/resources/constraints-python311.txt +++ b/cibuildwheel/resources/constraints-python311.txt @@ -14,9 +14,9 @@ packaging==23.2 # via delocate platformdirs==4.2.0 # via virtualenv -typing-extensions==4.9.0 +typing-extensions==4.10.0 # via delocate -virtualenv==20.25.0 +virtualenv==20.25.1 # via -r cibuildwheel/resources/constraints.in wheel==0.42.0 # via -r cibuildwheel/resources/constraints.in @@ -24,5 +24,5 @@ wheel==0.42.0 # The following packages are considered to be unsafe in a requirements file: pip==24.0 # via -r cibuildwheel/resources/constraints.in -setuptools==69.1.0 +setuptools==69.1.1 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python312.txt b/cibuildwheel/resources/constraints-python312.txt index b0edc382..4dee0f5d 100644 --- a/cibuildwheel/resources/constraints-python312.txt +++ b/cibuildwheel/resources/constraints-python312.txt @@ -14,9 +14,9 @@ packaging==23.2 # via delocate platformdirs==4.2.0 # via virtualenv -typing-extensions==4.9.0 +typing-extensions==4.10.0 # via delocate -virtualenv==20.25.0 +virtualenv==20.25.1 # via -r cibuildwheel/resources/constraints.in wheel==0.42.0 # via -r cibuildwheel/resources/constraints.in @@ -24,5 +24,5 @@ wheel==0.42.0 # The following packages are considered to be unsafe in a requirements file: pip==24.0 # via -r cibuildwheel/resources/constraints.in -setuptools==69.1.0 +setuptools==69.1.1 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python37.txt b/cibuildwheel/resources/constraints-python37.txt index d608f48e..44d9f6bc 100644 --- a/cibuildwheel/resources/constraints-python37.txt +++ b/cibuildwheel/resources/constraints-python37.txt @@ -21,7 +21,7 @@ typing-extensions==4.7.1 # delocate # importlib-metadata # platformdirs -virtualenv==20.25.0 +virtualenv==20.25.1 # via -r cibuildwheel/resources/constraints.in wheel==0.42.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python38.txt b/cibuildwheel/resources/constraints-python38.txt index 663e77ae..4356afe7 100644 --- a/cibuildwheel/resources/constraints-python38.txt +++ b/cibuildwheel/resources/constraints-python38.txt @@ -14,9 +14,9 @@ packaging==23.2 # via delocate platformdirs==4.2.0 # via virtualenv -typing-extensions==4.9.0 +typing-extensions==4.10.0 # via delocate -virtualenv==20.25.0 +virtualenv==20.25.1 # via -r cibuildwheel/resources/constraints.in wheel==0.42.0 # via -r cibuildwheel/resources/constraints.in @@ -24,5 +24,5 @@ wheel==0.42.0 # The following packages are considered to be unsafe in a requirements file: pip==24.0 # via -r cibuildwheel/resources/constraints.in -setuptools==69.1.0 +setuptools==69.1.1 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python39.txt b/cibuildwheel/resources/constraints-python39.txt index 95b06ce2..a8707963 100644 --- a/cibuildwheel/resources/constraints-python39.txt +++ b/cibuildwheel/resources/constraints-python39.txt @@ -14,9 +14,9 @@ packaging==23.2 # via delocate platformdirs==4.2.0 # via virtualenv -typing-extensions==4.9.0 +typing-extensions==4.10.0 # via delocate -virtualenv==20.25.0 +virtualenv==20.25.1 # via -r cibuildwheel/resources/constraints.in wheel==0.42.0 # via -r cibuildwheel/resources/constraints.in @@ -24,5 +24,5 @@ wheel==0.42.0 # The following packages are considered to be unsafe in a requirements file: pip==24.0 # via -r cibuildwheel/resources/constraints.in -setuptools==69.1.0 +setuptools==69.1.1 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints.txt b/cibuildwheel/resources/constraints.txt index b0edc382..4dee0f5d 100644 --- a/cibuildwheel/resources/constraints.txt +++ b/cibuildwheel/resources/constraints.txt @@ -14,9 +14,9 @@ packaging==23.2 # via delocate platformdirs==4.2.0 # via virtualenv -typing-extensions==4.9.0 +typing-extensions==4.10.0 # via delocate -virtualenv==20.25.0 +virtualenv==20.25.1 # via -r cibuildwheel/resources/constraints.in wheel==0.42.0 # via -r cibuildwheel/resources/constraints.in @@ -24,5 +24,5 @@ wheel==0.42.0 # The following packages are considered to be unsafe in a requirements file: pip==24.0 # via -r cibuildwheel/resources/constraints.in -setuptools==69.1.0 +setuptools==69.1.1 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/pinned_docker_images.cfg b/cibuildwheel/resources/pinned_docker_images.cfg index 404364c4..cc3d9b00 100644 --- a/cibuildwheel/resources/pinned_docker_images.cfg +++ b/cibuildwheel/resources/pinned_docker_images.cfg @@ -1,54 +1,54 @@ [x86_64] -manylinux1 = quay.io/pypa/manylinux1_x86_64:2024-01-28-7b6687a +manylinux1 = quay.io/pypa/manylinux1_x86_64:2024-02-17-6f383ed manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177 -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2024-02-08-a1b4ddc +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2024-02-16-b3cad8f 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-02-08-a1b4ddc -musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2024-02-08-a1b4ddc -musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2024-02-08-a1b4ddc +manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2024-02-16-b3cad8f +musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2024-02-16-b3cad8f +musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2024-02-16-b3cad8f [i686] -manylinux1 = quay.io/pypa/manylinux1_i686:2024-01-28-7b6687a +manylinux1 = quay.io/pypa/manylinux1_i686:2024-02-17-6f383ed manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177 -manylinux2014 = quay.io/pypa/manylinux2014_i686:2024-02-08-a1b4ddc +manylinux2014 = quay.io/pypa/manylinux2014_i686:2024-02-16-b3cad8f 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-02-08-a1b4ddc -musllinux_1_2 = quay.io/pypa/musllinux_1_2_i686:2024-02-08-a1b4ddc +musllinux_1_1 = quay.io/pypa/musllinux_1_1_i686:2024-02-16-b3cad8f +musllinux_1_2 = quay.io/pypa/musllinux_1_2_i686:2024-02-16-b3cad8f [pypy_x86_64] manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177 -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2024-02-08-a1b4ddc +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2024-02-16-b3cad8f 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-02-08-a1b4ddc +manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2024-02-16-b3cad8f [pypy_i686] manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177 -manylinux2014 = quay.io/pypa/manylinux2014_i686:2024-02-08-a1b4ddc +manylinux2014 = quay.io/pypa/manylinux2014_i686:2024-02-16-b3cad8f manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463 [aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2024-02-08-a1b4ddc +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2024-02-16-b3cad8f 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-02-08-a1b4ddc -musllinux_1_1 = quay.io/pypa/musllinux_1_1_aarch64:2024-02-08-a1b4ddc -musllinux_1_2 = quay.io/pypa/musllinux_1_2_aarch64:2024-02-08-a1b4ddc +manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2024-02-16-b3cad8f +musllinux_1_1 = quay.io/pypa/musllinux_1_1_aarch64:2024-02-16-b3cad8f +musllinux_1_2 = quay.io/pypa/musllinux_1_2_aarch64:2024-02-16-b3cad8f [ppc64le] -manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2024-02-08-a1b4ddc +manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2024-02-16-b3cad8f 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-02-08-a1b4ddc -musllinux_1_1 = quay.io/pypa/musllinux_1_1_ppc64le:2024-02-08-a1b4ddc -musllinux_1_2 = quay.io/pypa/musllinux_1_2_ppc64le:2024-02-08-a1b4ddc +manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2024-02-16-b3cad8f +musllinux_1_1 = quay.io/pypa/musllinux_1_1_ppc64le:2024-02-16-b3cad8f +musllinux_1_2 = quay.io/pypa/musllinux_1_2_ppc64le:2024-02-16-b3cad8f [s390x] manylinux2014 = quay.io/pypa/manylinux2014_s390x:2024-02-08-a1b4ddc 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-02-08-a1b4ddc -musllinux_1_1 = quay.io/pypa/musllinux_1_1_s390x:2024-02-08-a1b4ddc +musllinux_1_1 = quay.io/pypa/musllinux_1_1_s390x:2024-02-16-b3cad8f musllinux_1_2 = quay.io/pypa/musllinux_1_2_s390x:2024-02-08-a1b4ddc [pypy_aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2024-02-08-a1b4ddc +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2024-02-16-b3cad8f 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-02-08-a1b4ddc +manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2024-02-16-b3cad8f diff --git a/docs/working-examples.md b/docs/working-examples.md index 4938a3bf..85fa7936 100644 --- a/docs/working-examples.md +++ b/docs/working-examples.md @@ -19,9 +19,9 @@ title: Working examples | [Kivy][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Open source UI framework written in Python, running on Windows, Linux, macOS, Android and iOS | | [duckdb][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | DuckDB is an in-process SQL OLAP Database Management System | | [MemRay][] | ![github icon][] | ![linux icon][] | Memray is a memory profiler for Python | +| [Triton][] | ![github icon][] | ![linux icon][] | Self hosted runners | | [uvloop][] | ![github icon][] | ![apple icon][] ![linux icon][] | Ultra fast asyncio event loop. | | [psutil][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Cross-platform lib for process and system monitoring in Python | -| [Triton][] | ![github icon][] | ![linux icon][] | Self hosted runners | | [Google Benchmark][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | A microbenchmark support library | | [vaex][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Out-of-Core hybrid Apache Arrow/NumPy DataFrame for Python, ML, visualization and exploration of big tabular data at a billion rows per second 🚀 | | [Apache Beam][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Apache Beam is a unified programming model for Batch and Streaming data processing. | @@ -50,8 +50,8 @@ title: Working examples | [Line Profiler][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Line-by-line profiling for Python | | [PyAV][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Pythonic bindings for FFmpeg's libraries. | | [numexpr][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast numerical array expression evaluator for Python, NumPy, Pandas, PyTables and more | -| [h5py][] | ![azurepipelines icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | HDF5 for Python -- The h5py package is a Pythonic interface to the HDF5 binary data format. | | [pikepdf][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python library for reading and writing PDF, powered by QPDF | +| [h5py][] | ![azurepipelines icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | HDF5 for Python -- The h5py package is a Pythonic interface to the HDF5 binary data format. | | [Wrapt][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python module for decorators, wrappers and monkey patching. | | [envd][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | A machine learning development environment build tool | | [OpenColorIO][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | A color management framework for visual effects and animation. | @@ -68,15 +68,15 @@ title: Working examples | [H3-py][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Python bindings for H3, a hierarchical hexagonal geospatial indexing system | | [mosec][] | ![github icon][] | ![linux icon][] ![apple icon][] | A machine learning model serving framework powered by Rust | | [Picologging][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A high-performance logging library for Python. | -| [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. | +| [Rtree][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Rtree: spatial index for Python GIS | | [time-machine][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Time mocking library using only the CPython C API. | | [pybind11 cmake_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Example pybind11 module built with a CMake-based build system | | [KDEpy][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Kernel Density Estimation in Python | | [python-rapidjson][] | ![travisci icon][] ![gitlab icon][] ![appveyor icon][] | ![windows icon][] ![linux icon][] | Python wrapper around rapidjson | | [python-snappy][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Python bindings for the snappy google library | -| [tgcalls][] | ![github icon][] | ![apple icon][] ![windows icon][] | Python `pybind11` binding to Telegram's WebRTC library with third party dependencies like `OpenSSL`, `MozJPEG`, `FFmpeg`, etc. | | [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. | | [pybind11 python_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Example pybind11 module built with a Python-based build system | | [sourmash][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Quickly search, compare, and analyze genomic and metagenomic data sets. | | [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. | @@ -127,9 +127,9 @@ title: Working examples [Kivy]: https://github.com/kivy/kivy [duckdb]: https://github.com/duckdb/duckdb [MemRay]: https://github.com/bloomberg/memray +[Triton]: https://github.com/openai/triton [uvloop]: https://github.com/MagicStack/uvloop [psutil]: https://github.com/giampaolo/psutil -[Triton]: https://github.com/openai/triton [Google Benchmark]: https://github.com/google/benchmark [vaex]: https://github.com/vaexio/vaex [Apache Beam]: https://github.com/apache/beam @@ -158,8 +158,8 @@ title: Working examples [Line Profiler]: https://github.com/pyutils/line_profiler [PyAV]: https://github.com/PyAV-Org/PyAV [numexpr]: https://github.com/pydata/numexpr -[h5py]: https://github.com/h5py/h5py [pikepdf]: https://github.com/pikepdf/pikepdf +[h5py]: https://github.com/h5py/h5py [Wrapt]: https://github.com/GrahamDumpleton/wrapt [envd]: https://github.com/tensorchord/envd [OpenColorIO]: https://github.com/AcademySoftwareFoundation/OpenColorIO @@ -176,15 +176,15 @@ title: Working examples [H3-py]: https://github.com/uber/h3-py [mosec]: https://github.com/mosecorg/mosec [Picologging]: https://github.com/microsoft/picologging -[Rtree]: https://github.com/Toblerity/rtree [markupsafe]: https://github.com/pallets/markupsafe +[Rtree]: https://github.com/Toblerity/rtree [time-machine]: https://github.com/adamchainz/time-machine [pybind11 cmake_example]: https://github.com/pybind/cmake_example [KDEpy]: https://github.com/tommyod/KDEpy [python-rapidjson]: https://github.com/python-rapidjson/python-rapidjson [python-snappy]: https://github.com/andrix/python-snappy -[tgcalls]: https://github.com/MarshalX/tgcalls [dd-trace-py]: https://github.com/DataDog/dd-trace-py +[tgcalls]: https://github.com/MarshalX/tgcalls [pybind11 python_example]: https://github.com/pybind/python_example [sourmash]: https://github.com/dib-lab/sourmash [abess]: https://github.com/abess-team/abess