Merge nanobind API by perara - #1
Merged
Merged
Conversation
… updated CMake configuration for nanobind integration, and created build script for wheel generation. Updated .gitignore to exclude build directories.
…t.toml to skip musllinux builds, improved cleanup commands, and specified architectures. Added setup_buildx.sh for Docker buildx setup. Updated setup.cfg with new version and authors. Refined GitHub Actions workflow for multi-architecture builds and publishing to PyPI.
…roved conditional logic for architecture builds and publishing steps, ensuring clarity and correctness in the workflow execution.
…ic for architecture builds in the wheel building process, streamlining the workflow for improved clarity and efficiency.
…ate jobs for x86_64 and ARM64 architectures, improved conditional logic for architecture selection, and updated actions versions for better compatibility. Streamlined environment variable setup and artifact uploads.
… ARM64 architecture to enable NEON and crypto extensions, improving performance on compatible systems.
…eters and logic for improved visual feedback during firing. Adjusted firing flag duration to match pulse duration, enhancing the overall user experience. Removed legacy pulse drawing code for clarity.
…inux image to manylinux_2_28 for better compatibility, specified both x86_64 and aarch64 architectures, and increased CMake build parallel level to 4 for enhanced performance during builds.
…g for broader compatibility - Introduced LICENSE file with MIT License terms. - Added MANIFEST.in to include necessary files in the package distribution. - Updated pyproject.toml to support Python versions 3.8 to 3.12 and adjusted architecture specifications. - Enhanced setup.cfg with additional metadata and clarified supported Python versions. - Created test_wheel_build.sh for testing wheel build configuration. - Refined GitHub Actions workflow for building wheels across multiple platforms.
… specifying the Python executable through setup.py, improving cross-compilation capabilities. Adjusted Python find strategy to ensure correct version detection.
…ermine target architecture (arm64 or x86_64) based on environment variables and system checks, improving build compatibility. Updated .gitignore to exclude .history directory.
…ut naming: Removed the override of OUTPUT_NAME for the BLEND2DPY_TARGET_NAME, ensuring correct naming conventions are maintained.
…i-platform wheel builds - Documented four key issues and their fixes related to Python version detection, MSBuild parallel build flags, macOS architecture targeting, and module import failures. - Updated CMakeLists.txt to ensure correct Python executable usage and module naming conventions. - Enhanced setup.py for platform-specific build configurations and architecture detection. - Verified successful builds across multiple platforms, preparing for production PyPI publishing.
…rove build logging - Set the output name of the BLEND2DPY_TARGET_NAME to "_capi" for consistent module imports. - Adjusted Windows-specific properties to ensure the correct .pyd suffix is used. - Added debug messages to log the building process and output details for better visibility during builds.
The removal of OUTPUT_NAME broke module imports. The original OUTPUT_NAME '_capi' is required for proper module installation. - Reverted to: OUTPUT_NAME '_capi' - Added debug messages to track build output - Linux/Windows should work again - macOS still under investigation
macOS wheels build successfully but fail at import with: ModuleNotFoundError: No module named 'blend2d._capi' Changes: - Disabled macOS in GitHub Actions workflow - Added *-macosx* to skip patterns in pyproject.toml - Created MACOS_DISABLED.md documentation What works now: ✅ Linux (x86_64, aarch64) - 10 wheels ✅ Windows (AMD64) - 5 wheels ❌ macOS - Disabled (can install from source) Total: 15 wheels for PyPI release
- Changed installation command in README.md to reflect new package name. - Updated setup.cfg to rename the package from blend2d to blend2d-python. - Modified GitHub Actions workflow for Trusted Publishing to use the new package name.
Zybulon
marked this pull request as ready for review
July 26, 2026 12:39
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.