From 3f63c671d9fad30cad0c92c60fca00f4379a6c31 Mon Sep 17 00:00:00 2001 From: Kota Yamaguchi Date: Fri, 26 Nov 2021 14:02:14 +0900 Subject: [PATCH 1/6] add cp310 build --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7230b608..859d17b6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,7 +36,7 @@ jobs: - name: Build wheels uses: pypa/cibuildwheel@v2.1.1 env: - CIBW_BUILD: cp37-* cp38-* cp39-* + CIBW_BUILD: cp37-* cp38-* cp39-* cp310-* CIBW_ARCHS: ${{ matrix.arch }} CIBW_ENVIRONMENT_MACOS: TARGET_ARCH=${{ matrix.arch }} CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 From 461030eef1f0c6dfbb131c85544ee28c6e99c963 Mon Sep 17 00:00:00 2001 From: Kota Yamaguchi Date: Fri, 26 Nov 2021 14:02:31 +0900 Subject: [PATCH 2/6] add metadata to the package --- setup.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/setup.py b/setup.py index 2b43b096..8f02584f 100644 --- a/setup.py +++ b/setup.py @@ -202,5 +202,20 @@ def build_extensions(self): 'build_dir': ('setup.py', 'docs/_build'), }, }, + classifiers=[ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: End Users/Desktop', + 'License :: OSI Approved :: BSD License', + 'Operating System :: MacOS :: MacOS X', + 'Operating System :: Microsoft :: Windows', + 'Operating System :: POSIX', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', + 'Topic :: Multimedia :: Graphics', + 'Topic :: Scientific/Engineering :: Visualization', + ], zip_safe=False, ) From 85b4b1662dbdf295b17b8b41cf7880baf034fb89 Mon Sep 17 00:00:00 2001 From: Kota Yamaguchi Date: Fri, 26 Nov 2021 14:27:46 +0900 Subject: [PATCH 3/6] Fix main branch name --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 859d17b6..33d6f7a2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,9 +2,9 @@ name: CI on: push: - branches: [master] + branches: [main] pull_request: - branches: [master] + branches: [main] release: types: [published] From 61a29ccf92e214480d28096d31ffd02b0dce58bd Mon Sep 17 00:00:00 2001 From: Kota Yamaguchi Date: Fri, 26 Nov 2021 15:42:01 +0900 Subject: [PATCH 4/6] remove pyopengl-accelerate from testing --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 33d6f7a2..760c66fd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,7 +43,7 @@ jobs: CIBW_BEFORE_ALL: bash scripts/build_${{ runner.os }}.sh CIBW_BEFORE_BUILD: pip install pybind11 numpy CIBW_TEST_REQUIRES: pytest pillow==8.3.1 glfw - CIBW_TEST_REQUIRES_MACOS: pytest pillow pyopengl pyopengl-accelerate + CIBW_TEST_REQUIRES_MACOS: pytest pillow pyopengl CIBW_TEST_COMMAND: python -m pytest {project}/tests CIBW_TEST_COMMAND_LINUX: > xvfb-run -s "-screen 0 640x480x24" python -m pytest {project}/tests From 71db0761dbac54fe76afd285a0348e901712d0c9 Mon Sep 17 00:00:00 2001 From: Kota Yamaguchi Date: Fri, 26 Nov 2021 17:23:02 +0900 Subject: [PATCH 5/6] remove pillow version specifier --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 760c66fd..6c5cc822 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,13 +36,13 @@ jobs: - name: Build wheels uses: pypa/cibuildwheel@v2.1.1 env: - CIBW_BUILD: cp37-* cp38-* cp39-* cp310-* + CIBW_BUILD: cp* CIBW_ARCHS: ${{ matrix.arch }} CIBW_ENVIRONMENT_MACOS: TARGET_ARCH=${{ matrix.arch }} CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 CIBW_BEFORE_ALL: bash scripts/build_${{ runner.os }}.sh CIBW_BEFORE_BUILD: pip install pybind11 numpy - CIBW_TEST_REQUIRES: pytest pillow==8.3.1 glfw + CIBW_TEST_REQUIRES: pytest pillow glfw CIBW_TEST_REQUIRES_MACOS: pytest pillow pyopengl CIBW_TEST_COMMAND: python -m pytest {project}/tests CIBW_TEST_COMMAND_LINUX: > From d8dcfa5e98929d0fd1b213bc27e8ff9c4585aee5 Mon Sep 17 00:00:00 2001 From: Kota Yamaguchi Date: Mon, 29 Nov 2021 14:56:37 +0900 Subject: [PATCH 6/6] use py::ssize_t instead of POSIX ssize_t --- src/skia/Canvas.cpp | 4 +-- src/skia/String.cpp | 2 +- src/skia/common.h | 4 +-- src/skia/utils.cpp | 72 ++++++++++++++++++++++----------------------- 4 files changed, 41 insertions(+), 41 deletions(-) diff --git a/src/skia/Canvas.cpp b/src/skia/Canvas.cpp index 288a4b5b..d1854e7a 100644 --- a/src/skia/Canvas.cpp +++ b/src/skia/Canvas.cpp @@ -435,7 +435,7 @@ canvas void* addr = canvas.accessTopLayerPixels(&info, &rowBytes, origin); if (!addr) return py::none(); - ssize_t bytesPerPixel = info.bytesPerPixel(); + py::ssize_t bytesPerPixel = info.bytesPerPixel(); const char* format = (bytesPerPixel == 1) ? py::format_descriptor::value : @@ -451,7 +451,7 @@ canvas bytesPerPixel, format, { info.width(), info.height() }, - { ssize_t(rowBytes), bytesPerPixel }, + { py::ssize_t(rowBytes), bytesPerPixel }, true ); }, diff --git a/src/skia/String.cpp b/src/skia/String.cpp index fe8451ac..cc174b25 100644 --- a/src/skia/String.cpp +++ b/src/skia/String.cpp @@ -18,7 +18,7 @@ py::class_(m, "String") .def(py::init(), py::arg("size")) .def(py::init( [] (py::str str) { - ssize_t length = 0; + py::ssize_t length = 0; auto buffer = PyUnicode_AsUTF8AndSize(str.ptr(), &length); if (!buffer) throw py::value_error("Failed to get UTF-8 str."); diff --git a/src/skia/common.h b/src/skia/common.h index ba44670a..b51b5d0b 100644 --- a/src/skia/common.h +++ b/src/skia/common.h @@ -58,10 +58,10 @@ SkImageInfo NumPyToImageInfo( py::array array, SkColorType ct, SkAlphaType at, const SkColorSpace* cs); py::buffer_info ImageInfoToBufferInfo( - const SkImageInfo& imageInfo, void* data, ssize_t rowBytes = 0, + const SkImageInfo& imageInfo, void* data, py::ssize_t rowBytes = 0, bool readonly = true); py::memoryview ImageInfoToMemoryView( - const SkImageInfo& imageInfo, void* data, ssize_t rowBytes = 0, + const SkImageInfo& imageInfo, void* data, py::ssize_t rowBytes = 0, bool readonly = true); py::dict ImageInfoToArrayInterface( const SkImageInfo& imageInfo, size_t rowBytes = 0); diff --git a/src/skia/utils.cpp b/src/skia/utils.cpp index 6010987d..5e8ccf5e 100644 --- a/src/skia/utils.cpp +++ b/src/skia/utils.cpp @@ -79,10 +79,10 @@ SkImageInfo NumPyToImageInfo(py::array array, SkColorType ct, SkAlphaType at, } py::buffer_info ImageInfoToBufferInfo( - const SkImageInfo& imageInfo, void* data, ssize_t rowBytes, bool readonly) { - ssize_t width = imageInfo.width(); - ssize_t height = imageInfo.height(); - ssize_t bytesPerPixel = imageInfo.bytesPerPixel(); + const SkImageInfo& imageInfo, void* data, py::ssize_t rowBytes, bool readonly) { + py::ssize_t width = imageInfo.width(); + py::ssize_t height = imageInfo.height(); + py::ssize_t bytesPerPixel = imageInfo.bytesPerPixel(); if (!rowBytes) rowBytes = imageInfo.minRowBytes(); switch (imageInfo.colorType()) { @@ -102,8 +102,8 @@ py::buffer_info ImageInfoToBufferInfo( case kRGB_888x_SkColorType: case kBGRA_8888_SkColorType: return py::buffer_info( - data, 1, "B", 3, { height, width, ssize_t(4) }, - { rowBytes, bytesPerPixel, ssize_t(1) }, readonly); + data, 1, "B", 3, { height, width, py::ssize_t(4) }, + { rowBytes, bytesPerPixel, py::ssize_t(1) }, readonly); case kRGBA_1010102_SkColorType: case kBGRA_1010102_SkColorType: @@ -116,18 +116,18 @@ py::buffer_info ImageInfoToBufferInfo( case kRGBA_F16Norm_SkColorType: case kRGBA_F16_SkColorType: return py::buffer_info( - data, 2, "e", 3, { height, width, ssize_t(4) }, - { rowBytes, bytesPerPixel, ssize_t(2) }, readonly); + data, 2, "e", 3, { height, width, py::ssize_t(4) }, + { rowBytes, bytesPerPixel, py::ssize_t(2) }, readonly); case kRGBA_F32_SkColorType: return py::buffer_info( - data, 4, "f", 3, { height, width, ssize_t(4) }, - { rowBytes, bytesPerPixel, ssize_t(4) }, readonly); + data, 4, "f", 3, { height, width, py::ssize_t(4) }, + { rowBytes, bytesPerPixel, py::ssize_t(4) }, readonly); case kR8G8_unorm_SkColorType: return py::buffer_info( - data, 1, "B", 3, { height, width, ssize_t(2) }, - { rowBytes, bytesPerPixel, ssize_t(1) }, readonly); + data, 1, "B", 3, { height, width, py::ssize_t(2) }, + { rowBytes, bytesPerPixel, py::ssize_t(1) }, readonly); case kA16_float_SkColorType: return py::buffer_info( @@ -136,8 +136,8 @@ py::buffer_info ImageInfoToBufferInfo( case kR16G16_float_SkColorType: return py::buffer_info( - data, 2, "e", 3, { height, width, ssize_t(2) }, - { rowBytes, bytesPerPixel, ssize_t(2) }, readonly); + data, 2, "e", 3, { height, width, py::ssize_t(2) }, + { rowBytes, bytesPerPixel, py::ssize_t(2) }, readonly); case kA16_unorm_SkColorType: return py::buffer_info( @@ -146,13 +146,13 @@ py::buffer_info ImageInfoToBufferInfo( case kR16G16_unorm_SkColorType: return py::buffer_info( - data, 2, "