Skip to main content

pythonocc-core-wheels

Unofficial, pip-installable wheels for pythonocc-core, repackaged from the upstream conda-forge binary, across Linux, macOS, and Windows.

Not affiliated with, endorsed by, or supported by the pythonocc-core or OpenCASCADE (OCCT) maintainers. If you can use conda, use conda-forge directly — that is the maintainer-supported distribution channel and this project exists only to serve environments where conda isn't an option.

Why this exists

pythonocc-core has no PyPI wheels; the only supported install path is conda-forge, because pythonocc-core wraps OpenCASCADE (OCCT), a large C++ CAD kernel that must be compiled and doesn't fit pip's normal "just compile the extension" model. This project doesn't recompile OCCT — it takes the already-built, already-tested conda-forge binary and repackages it into a standard wheel using the platform-appropriate repair tool (auditwheel on Linux, delocate on macOS, delvewheel on Windows), so it can be pip installed in environments without conda.

Status

Experimental, unpublished. Nothing is on PyPI yet. The build pipeline in .github/workflows/build-wheel.yml runs a matrix of Python 3.10–3.14 across Linux, macOS, and Windows, producing a downloadable CI artifact per (OS, Python version) combination so the approach can be validated before committing to a PyPI release.

Done:

  • Confirmed the wheel actually imports and runs OCC.Core.* calls correctly on a clean machine (no conda on PATH, a plain venv) — smoke-tested in CI with a real OCC.Core.BRepPrimAPI_MakeBox(...).Shape() call, on each OS with its own repair tool's output.
  • numpy declared as a runtime dependency (several OCC.Core SWIG modules need it at import time).
  • Wheel is correctly tagged cpXY-cpXY-<platform> (not py3-none-any) — the raw build bundles a specific-CPython-ABI native extension, so it needs setup.py's Distribution.has_ext_modules() = True override to get setuptools to tag it as version/ABI-specific rather than falsely claiming universal Python 3 compatibility.
  • Multiple Python versions: 3.10–3.14, matching conda-forge's own pythonocc-core-feedstock support matrix, built in parallel matrix jobs.
  • Cross-platform matrix: Linux (auditwheel), macOS (delocate), Windows (delvewheel) — each using the packaging ecosystem's standard tool for bundling a wheel's native shared-library dependencies on that OS.

Done (cont'd):

  • Confirmed conda-forge publishes every (OS, Python version) combination in the matrix: all 15 cells (5 Python versions × 3 OSes) installed and built cleanly with no upstream gaps.
  • Wheels stripped of debug symbols (auditwheel repair --strip on Linux; manual strip -S -x on the bundled OCCT dylibs and staged OCC/*.so extension modules on macOS, since delocate-wheel has no equivalent flag) and recompressed with LZMA (repaired wheels are DEFLATE; LZMA cuts the Linux wheel from ~109 MB down to ~79 MB — verified installable end-to-end) so every cell fits under PyPI's 100 MB/file limit for new projects. Windows was already under; the unstripped Linux (~117 MB) and macOS (~103 MB) were both over and failed the first real publish attempt outright (see "Releasing" below). A Check wheel size CI step now fails the build early if any wheel is still over 100 MB, rather than only finding out at publish time.
  • macOS delocate repair fixed: GitHub's macos-latest /usr/bin/otool is a shim that resolves via xcodebuild -find otool, which the runner SIGKILLs ("Unexpected first line: Killed: 9"). The build now installs conda-forge's cctools (a real otool/install_name_tool) and puts it first on PATH so delocate never touches the broken shim.

Not yet done / to validate:

  • An actual first successful publish to PyPI (the first real attempt failed on the size limit above; retrying now that stripping is wired in — see "Releasing" below).
  • Whether any OCC.Core functionality beyond basic BRep calls needs OCCT's runtime resource files / CSF_* environment variables that conda's activation scripts normally set up (unverified beyond the smoke test's narrow coverage).

Releasing

Publishing to PyPI happens only on an explicit GitHub Release (never on a plain push or PR, even though those still run the full build/test matrix). Authentication uses PyPI Trusted Publishing (OIDC) — no token is stored anywhere in this repo. The publish job in .github/workflows/build-wheel.yml runs in the pypi GitHub Environment and requires a pending publisher already configured on PyPI (Account settings → Publishing) pointing at this repo, the build-wheel.yml workflow, and the pypi environment.

To cut a release: create a GitHub Release (with a matching tag, e.g. v7.9.3). That triggers the full 15-cell build matrix plus the publish job, which collects every matrix cell's wheel artifact and uploads all of them to PyPI in one pass.

Scope

Only the OCC.Core namespace is packaged (the geometry-kernel bindings). OCC.Display and other visualization-related submodules are intentionally dropped from the wheel to avoid pulling in their much heavier dependency chain (VTK, Qt, etc.), since typical downstream consumers only need OCC.Core.*.

Known limitation: glibc/manylinux tag

The wheel is built on GitHub's ubuntu-latest runner and its actual required platform tag is determined empirically by auditwheel from the linked symbol versions, rather than pinned in advance — an earlier attempt to force manylinux_2_28 failed outright because the runner's glibc/libstdc++ versions are newer than that baseline allows. In practice this currently resolves to manylinux_2_39_x86_64, meaning installing systems need a fairly recent glibc (roughly Ubuntu 24.04+ / Debian 13+ / Fedora 40+ era). Older distros are not supported by this wheel; building inside an actual manylinux Docker container (rather than directly on the runner) would lower this requirement, but hasn't been attempted yet.

Licensing

The build scripts and CI configuration in this repository are MIT licensed (see LICENSE). The redistributed binaries themselves are pythonocc-core / OpenCASCADE (OCCT), both licensed under LGPL-2.1 (with the OCCT public-patent exception) — see the upstream projects for their full license terms. Redistributing these binaries is intended to remain within the terms of that license; this is not legal advice, and this repackaging effort has not been reviewed by a lawyer.

Release files for pythonocc-core-wheels 7.9.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for pythonocc-core-wheels 7.9.3
File
pythonocc_core_wheels-7.9.3-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
pythonocc_core_wheels-7.9.3-cp314-cp314-manylinux_2_39_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.39+ x86-64 Details
pythonocc_core_wheels-7.9.3-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
pythonocc_core_wheels-7.9.3-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pythonocc_core_wheels-7.9.3-cp313-cp313-manylinux_2_39_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.39+ x86-64 Details
pythonocc_core_wheels-7.9.3-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
pythonocc_core_wheels-7.9.3-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pythonocc_core_wheels-7.9.3-cp312-cp312-manylinux_2_39_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.39+ x86-64 Details
pythonocc_core_wheels-7.9.3-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
pythonocc_core_wheels-7.9.3-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pythonocc_core_wheels-7.9.3-cp311-cp311-manylinux_2_39_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.39+ x86-64 Details
pythonocc_core_wheels-7.9.3-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
pythonocc_core_wheels-7.9.3-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pythonocc_core_wheels-7.9.3-cp310-cp310-manylinux_2_39_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.39+ x86-64 Details
pythonocc_core_wheels-7.9.3-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 737.4 MB

Release files / pythonocc_core_wheels-7.9.3-cp314-cp314-win_amd64.whl

Download URL pythonocc_core_wheels-7.9.3-cp314-cp314-win_amd64.whl
Size 86.0 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
da92b586e902d4554e5be337c447bf1ba4d85214c2d4ee76f64d52f11283611c
BLAKE2b-256 checksum
How to use checksums
2764243b44543640e04d92abf3777deb2b22235c68f6740eb399ecbba284ba76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pythonocc_core_wheels-7.9.3-cp314-cp314-manylinux_2_39_x86_64.whl

Download URL pythonocc_core_wheels-7.9.3-cp314-cp314-manylinux_2_39_x86_64.whl
Size 32.1 MB
Tags CPython 3.14 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
fbe8a058ecf5ada94ff005f0c8f9820c7ac285503eac400071ab6c18e2447440
BLAKE2b-256 checksum
How to use checksums
827456562a6186dd21c2d20a919358dbce5b0f3424d15a5d5dc2acd2033711e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pythonocc_core_wheels-7.9.3-cp314-cp314-macosx_11_0_arm64.whl

Download URL pythonocc_core_wheels-7.9.3-cp314-cp314-macosx_11_0_arm64.whl
Size 29.6 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2c3559f1c91e2743170cf3fad3c26a0cf776694e28d926f9e0f0c183f47e4a5f
BLAKE2b-256 checksum
How to use checksums
51f5adff169f46654839eef0278a636ad84ffc619c9f69aba026feb4618c9d11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pythonocc_core_wheels-7.9.3-cp313-cp313-win_amd64.whl

Download URL pythonocc_core_wheels-7.9.3-cp313-cp313-win_amd64.whl
Size 85.9 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
0c94694023a0e17d362b570e5ca001821aab60341f2301bd848db5118a253061
BLAKE2b-256 checksum
How to use checksums
7d790254face67b4e1427bd10db3c9f02f2feed5e3cb0150a753eca902e2a644
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pythonocc_core_wheels-7.9.3-cp313-cp313-manylinux_2_39_x86_64.whl

Download URL pythonocc_core_wheels-7.9.3-cp313-cp313-manylinux_2_39_x86_64.whl
Size 32.0 MB
Tags CPython 3.13 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
75360f8603782a1a2058d5eca4357cbf8c0220694642dd25c8341d7e5a6a246a
BLAKE2b-256 checksum
How to use checksums
d676c3af80e40d10cd68c20cc9e1954b17bdb669a01722ba433c7bc264454e49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pythonocc_core_wheels-7.9.3-cp313-cp313-macosx_11_0_arm64.whl

Download URL pythonocc_core_wheels-7.9.3-cp313-cp313-macosx_11_0_arm64.whl
Size 29.6 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
eeb1c5ab8a645e2866963a4db9d744e9f7740a9d5b7af92facf6c6af62ef9149
BLAKE2b-256 checksum
How to use checksums
25c45a8c7f4d8fd1ee93f7955ca17be44a7c67f5927f8e5daea6fe0038eb7dec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pythonocc_core_wheels-7.9.3-cp312-cp312-win_amd64.whl

Download URL pythonocc_core_wheels-7.9.3-cp312-cp312-win_amd64.whl
Size 85.9 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
e6a475272445706cdbb629e8070b878590eec6f8cedaa7b50725fdd245f672ff
BLAKE2b-256 checksum
How to use checksums
c5ca4ba5a2ad7982ada33f92b086ac60b9c83061a363516de4933fddb39eb148
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pythonocc_core_wheels-7.9.3-cp312-cp312-manylinux_2_39_x86_64.whl

Download URL pythonocc_core_wheels-7.9.3-cp312-cp312-manylinux_2_39_x86_64.whl
Size 32.1 MB
Tags CPython 3.12 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
796ed807124cbe4d8d844eafd6215a995ee32c2e64bbae6f8ce883f8274ca8db
BLAKE2b-256 checksum
How to use checksums
25f18b1833b6ce83482ca5a6315f63c87a95764839432b532d18a2e6c22f396a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pythonocc_core_wheels-7.9.3-cp312-cp312-macosx_11_0_arm64.whl

Download URL pythonocc_core_wheels-7.9.3-cp312-cp312-macosx_11_0_arm64.whl
Size 29.6 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
42a425a147e43a65599f9f97b60e643b7a794acc63f9c97c77816c785a21139a
BLAKE2b-256 checksum
How to use checksums
dd90571c90d2cc269a2391790af6e9eb5f87b17a95829de34f67466bc3502612
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pythonocc_core_wheels-7.9.3-cp311-cp311-win_amd64.whl

Download URL pythonocc_core_wheels-7.9.3-cp311-cp311-win_amd64.whl
Size 85.8 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
24fff51e09db2fe718f8d23d8f758b8d9831943e522ff95b7ef16a7f43f73489
BLAKE2b-256 checksum
How to use checksums
ca501b1be4bcca06f08c68700f56f097cafe41b446b1744e88704696f276650d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pythonocc_core_wheels-7.9.3-cp311-cp311-manylinux_2_39_x86_64.whl

Download URL pythonocc_core_wheels-7.9.3-cp311-cp311-manylinux_2_39_x86_64.whl
Size 32.0 MB
Tags CPython 3.11 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
81da065a03e25f18b6fb6a0436f29a0ce841e83636b2390e90205b3e6cbc4dc4
BLAKE2b-256 checksum
How to use checksums
ad69f61d880978bc35a44ed9b1efc05dd6be275d42209aee47e6c2fea13f418d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pythonocc_core_wheels-7.9.3-cp311-cp311-macosx_11_0_arm64.whl

Download URL pythonocc_core_wheels-7.9.3-cp311-cp311-macosx_11_0_arm64.whl
Size 29.6 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
385483cd0f785fb51045726bb6607fcfb368780963ecd6f28fccba9428c87f4a
BLAKE2b-256 checksum
How to use checksums
4411451d625a40f1b59a5139f3daf75cd5a0423dc560817fcd80976390200ee0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pythonocc_core_wheels-7.9.3-cp310-cp310-win_amd64.whl

Download URL pythonocc_core_wheels-7.9.3-cp310-cp310-win_amd64.whl
Size 85.8 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
964b4be80e3f1f5e12125317337fb1113349feefc87aab4e21722bc014c45d60
BLAKE2b-256 checksum
How to use checksums
8b16db19c80e2beaa5e427a7a3ea8124cccd1182733361f60642a8d49c0e8549
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pythonocc_core_wheels-7.9.3-cp310-cp310-manylinux_2_39_x86_64.whl

Download URL pythonocc_core_wheels-7.9.3-cp310-cp310-manylinux_2_39_x86_64.whl
Size 32.0 MB
Tags CPython 3.10 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
7bd24a07409b5a125b2a926b92cce7acf1576f66038f2c17c14010978f2f51cf
BLAKE2b-256 checksum
How to use checksums
ad3a291709b1bb754c3ab7d350fe0a2e916fe24daa712afb6c44e1525dbb9ce8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pythonocc_core_wheels-7.9.3-cp310-cp310-macosx_11_0_arm64.whl

Download URL pythonocc_core_wheels-7.9.3-cp310-cp310-macosx_11_0_arm64.whl
Size 29.6 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9f6bbb63e27391302e3745818d82ae09e71032a785504307a50695fcf33c2f28
BLAKE2b-256 checksum
How to use checksums
744b01c4c327ed0ce054c9954db9f762c415315811dde2f065827a4541efbd75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

7.9.3 This release

15 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page