https://github.com/cadquery/ocp-build-system
A system to build Python wheel PyPI packages for OCP.
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.2%) to scientific vocabulary
Repository
A system to build Python wheel PyPI packages for OCP.
Basic Info
Statistics
- Stars: 10
- Watchers: 7
- Forks: 16
- Open Issues: 11
- Releases: 10
Metadata Files
README.md
Build System for OCP
VTK 9.3.1 for Python 3.13
Recipe
The github action can be found in .github/workflows/build-ocp.yml
Wheels
The action creates a wheel for Python 3.13 for os in ["ubuntu-22.04", "macos-13", "macos-14", "windows-2019"]
Known issues
This wheel will work with cadquery_ocp, but other packages that depend on vtk will most probably not work.
OCP 7.8.1.1
NOTE: For final wheels always use the official sources from the OCP repository. This can be achieved by setting the environment variable PYWRAP to false. Only use true if you know what you do!
Recipe
The github action can be found in .github/workflows/build-ocp.yml
Wheels
The action creates two different types of delocated wheels for OCP 7.8.1.1:
cadquery_ocp-7.8.1.1which is build against pypi's VTK 9.3.1cadquery_ocp_novtk-7.8.1.1which comes without VTK support
The wheels encapsulate the native OCP module into a folder OCP.
OCP
├── Adaptor2d
│ └── __init__.py
├── Adaptor3d
│ └── __init__.py
...
├── IVtk
│ └── __init__.py
├── IVtkOCC
│ └── __init__.py
├── IVtkTools
│ └── __init__.py
├── IVtkVTK
│ └── __init__.py
...
├── OCP.cpython-311-x86_64-linux-gnu.so
...
with __init__.py e.g. for Adaptor2d looking like
python
from ..OCP.Adaptor2d import *
OCP behaves exactly like the conda version, i.e. you can just ìmport OCP.BRep as usual. However, error traces can involve OCP.OCP.BRep ... prefixing the module with the OCP folder
Supported Operation Systems
The wheels are created for
- Windows (Intel)
- MacOS (Intel): running from macOS 11.11 or newer
- MacOS (arm64): running from macOS 11.11 or newer
- Linux (Intel): running Ubuntu 20.04 or newer (GLIBC2.29 and GLIBCXX3.4.26)
Supported Python Versions
- The vtk version can be built with pypi's
vtk==9.3.1for Python 3.10 - 3.12. For Python 3.13 the dependency iscadquery_vtk==9.3.1sincevtkis not provided on pypi for Python 3.13 - The novtk version can be built for Python3.10 and newer, up to 3.13.
Tests
- The vtk wheels are tested against
build123dandcadquery` - The novtk wheels are tested against a patched version of
build123donly (vtk support removed)
Known issues
- For macOS (Intel),
nlopt2.9 is not on pypi. The test installsnloptfrom conda. - For Windows,
casadiandnloptcreate a segmentation fault on exit (even when OCP and VTK are not installed). The test installsnloptandcasadifrom conda. ocpsvghascadquery_ocpas a dependency and will install parallel to the novtk wheel. The test uninstallscadquery_ocpafter installation ofbuild123d.
Development
The action heavily caches artifacts since some steps can take 0.5 - 1.5 h.
For vtk wheels:
VTK-9.3.1-py<version>-<os>-: The generated VTK SDKOCCT-7.8.1-py-<version>-vtk-<os>-: The compiled OCCT SDK with VTK supportOCP-source-7.8.1.1-vtk-<os>-: The generated OCP source with VTK supportOCP-7.8.1.1-VTK-vtk-py<version>-<os>-: The compiled OCP Python module with VTK support
For novtk wheels:
OCCT-7.8.1-py-<version>-novtk-<os>-: The compiled OCCT SDK without VTK supportOCP-7.8.1.1-VTK-novtk-py<version>-<os>-: The compiled OCP Python module without VTK support
<os> being "ubuntu-22.04", "macos-13", "macos-14", and "windows-2019".
<version> being "3.10", "3.11", "3.12", and "3.13"
To recompile, delete the respective cached elements first.
OCP 7.8.1.1 stubs
Recipe
The github action can be found in .github/workflows/build-ocp-stubs.yml
Wheels
The action creates one wheel for any Python and OS cadquery_ocp_stubs-7.8.1.1-py3-none-any.whl
Owner
- Name: CadQuery
- Login: CadQuery
- Kind: organization
- Repositories: 10
- Profile: https://github.com/CadQuery
GitHub Events
Total
- Create event: 6
- Release event: 2
- Issues event: 8
- Watch event: 2
- Delete event: 2
- Member event: 1
- Issue comment event: 21
- Push event: 53
- Pull request review event: 6
- Pull request event: 17
- Fork event: 10
Last Year
- Create event: 6
- Release event: 2
- Issues event: 8
- Watch event: 2
- Delete event: 2
- Member event: 1
- Issue comment event: 21
- Push event: 53
- Pull request review event: 6
- Pull request event: 17
- Fork event: 10
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 6
- Total pull requests: 5
- Average time to close issues: about 2 months
- Average time to close pull requests: about 5 hours
- Total issue authors: 6
- Total pull request authors: 2
- Average comments per issue: 0.5
- Average comments per pull request: 0.2
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 6
- Pull requests: 5
- Average time to close issues: about 2 months
- Average time to close pull requests: about 5 hours
- Issue authors: 6
- Pull request authors: 2
- Average comments per issue: 0.5
- Average comments per pull request: 0.2
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- jmwright (4)
- jdegenstein (3)
- bernhard-42 (2)
- ankurvdev (2)
- onobug (1)
- shimwell (1)
- polycorn (1)
- akoen (1)
- akaszynski (1)
- adam-urbanczyk (1)
- msavtchouk-pf (1)
- alexanderilyin (1)
Pull Request Authors
- jdegenstein (9)
- bernhard-42 (2)
- jmwright (2)
- derhuerst (1)
- fischman (1)
- dennyabraham (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v2 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- actions/checkout v2 composite
- actions/upload-artifact v3 composite
- conda-incubator/setup-miniconda v2 composite
- dawidd6/action-download-artifact v2 composite
- dawidd6/action-download-artifact v2 composite
- ncipollo/release-action v1 composite
- pypa/gh-action-pypi-publish release/v1 composite