22 Commits

Author SHA1 Message Date
jdegenstein
d67472fb3c Update setup.py 2025-02-20 15:48:25 -06:00
jdegenstein
10cd914498 Update pyinstaller_pip.spec -> fix missing js file from build123d 2025-02-20 15:47:30 -06:00
jdegenstein
6d0ae2564c setup.py -> pin scipy==1.15.1 2025-02-18 09:34:15 -06:00
jdegenstein
3bbe2ea762 Update pyinstaller_pip.spec -> py311 to py312 2025-02-18 09:03:14 -06:00
jdegenstein
5a5f96d3e9 Update environment.yml 2025-02-18 08:48:31 -06:00
jdegenstein
7161462aa5 Update cqgui_env.yml 2025-02-18 08:48:21 -06:00
jdegenstein
41ee6be4e5 pyinstaller-builds-actions-PIP-TAR.yml -> add some missing deps 2025-02-18 08:47:42 -06:00
jdegenstein
9e027d908e Update pyinstaller-builds-actions-PIP-TAR.yml 2025-01-30 21:40:47 -06:00
jdegenstein
58cefa05b0 pyinstaller-builds-actions-PIP-TAR.yml -> ssl investigation for arm64 mac 2025-01-30 21:24:27 -06:00
jdegenstein
c592c9cccf Update pyinstaller_pip.spec 2025-01-30 21:20:27 -06:00
jdegenstein
f9e32b156a updates to work on python 3.13 2025-01-29 16:03:21 -06:00
jdegenstein
70b823ae5d cq_utils.py -> comment out nonexistent reload(cq.occ_impl.exporters.utils) 2025-01-12 15:36:25 -06:00
jdegenstein
0569294a2b setup.py -> numpy>=2,<3 and python 3.10 through 3.12 2024-12-01 13:54:01 -06:00
jdegenstein
0e6b47e21e pyinstaller-builds-actions-PIP-TAR.yml -> re-enable macos/windows builds after fixing linux build 2024-09-18 20:45:07 -05:00
jdegenstein
01ce43e1be pyinstaller-builds-actions-PIP-TAR.yml -> set LD_LIBRARY_PATH 2024-09-18 14:59:00 -05:00
jdegenstein
0499f2dc69 Update pyinstaller-builds-actions-PIP-TAR.yml 2024-09-18 11:00:27 -05:00
jdegenstein
5225408777 Update pyinstaller-builds-actions-PIP-TAR.yml 2024-09-18 10:59:29 -05:00
jdegenstein
8748b35e9f Update pyinstaller-builds-actions-PIP-TAR.yml 2024-09-18 10:52:27 -05:00
jdegenstein
7a279ad9a7 Update pyinstaller-builds-actions-PIP-TAR.yml 2024-09-18 09:36:44 -05:00
jdegenstein
cf3df6e95a pyinstaller-builds-actions-PIP-TAR.yml -> add linux libssl3-dev install via apt and temporarily disable other builds 2024-09-18 09:32:10 -05:00
jdegenstein
7015e70f4a pyinstaller-builds-actions-PIP-TAR.yml -> add mac-specific shell script 2024-09-17 14:59:07 -05:00
jdegenstein
f21b680ced Create CQ-editor-mac.sh 2024-09-17 14:57:46 -05:00
7 changed files with 40 additions and 22 deletions

View File

@@ -19,6 +19,7 @@ jobs:
environment-file: environment.yml environment-file: environment.yml
init-shell: >- init-shell: >-
bash bash
# create-args: >-
- name: pip install cadquery CQ-editor ... etc - name: pip install cadquery CQ-editor ... etc
shell: bash --login {0} shell: bash --login {0}
run: | run: |
@@ -28,7 +29,7 @@ jobs:
micromamba info micromamba info
pip install pyopengl pip install pyopengl
pip install git+https://github.com/jdegenstein/jmwright-CQ-Editor pip install git+https://github.com/jdegenstein/jmwright-CQ-Editor
pip install -vvv --pre git+https://github.com/cadquery/cadquery casadi pip install -vvv --pre git+https://github.com/cadquery/cadquery casadi typish "multimethod>=1.11,<2.0" "nlopt>=2.9.0,<3.0" typish
pip install pyinstaller>=5.6 pip install pyinstaller>=5.6
pip install path pip install path
pip install jupyter-rfb pip install jupyter-rfb
@@ -44,7 +45,10 @@ jobs:
run: | run: |
micromamba activate test micromamba activate test
micromamba info micromamba info
pyinstaller pyinstaller_pip.spec ${{ github.event.inputs.type }} echo $LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/home/runner/micromamba/envs/test/lib
echo $LD_LIBRARY_PATH
pyinstaller --log-level=DEBUG pyinstaller_pip.spec ${{ github.event.inputs.type }}
cp /home/runner/work/jmwright-CQ-Editor/jmwright-CQ-Editor/pyinstaller/CQ-editor.sh /home/runner/work/jmwright-CQ-Editor/jmwright-CQ-Editor/dist/ cp /home/runner/work/jmwright-CQ-Editor/jmwright-CQ-Editor/pyinstaller/CQ-editor.sh /home/runner/work/jmwright-CQ-Editor/jmwright-CQ-Editor/dist/
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
with: with:
@@ -65,7 +69,7 @@ jobs:
run: | run: |
micromamba info micromamba info
pip install git+https://github.com/jdegenstein/jmwright-CQ-Editor pip install git+https://github.com/jdegenstein/jmwright-CQ-Editor
pip install --pre git+https://github.com/cadquery/cadquery casadi pip install -vvv --pre git+https://github.com/cadquery/cadquery casadi typish "multimethod>=1.11,<2.0" "nlopt>=2.9.0,<3.0" typish
pip install pyinstaller>=5.6 pip install pyinstaller>=5.6
pip install path pip install path
pip uninstall -y PyQt5 pip uninstall -y PyQt5
@@ -84,7 +88,7 @@ jobs:
micromamba activate test micromamba activate test
micromamba info micromamba info
pyinstaller pyinstaller_pip.spec ${{ github.event.inputs.type }} pyinstaller pyinstaller_pip.spec ${{ github.event.inputs.type }}
cp /Users/runner/work/jmwright-CQ-Editor/jmwright-CQ-Editor/pyinstaller/CQ-editor.sh /Users/runner/work/jmwright-CQ-Editor/jmwright-CQ-Editor/dist/ cp /Users/runner/work/jmwright-CQ-Editor/jmwright-CQ-Editor/pyinstaller/CQ-editor-mac.sh /Users/runner/work/jmwright-CQ-Editor/jmwright-CQ-Editor/dist/CQ-editor.sh
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
with: with:
name: CQ-editor-MacOS-x86_64 name: CQ-editor-MacOS-x86_64
@@ -103,10 +107,11 @@ jobs:
shell: bash --login {0} shell: bash --login {0}
run: | run: |
micromamba info micromamba info
brew update
brew upgrade
brew install openssl
pip install git+https://github.com/jdegenstein/jmwright-CQ-Editor pip install git+https://github.com/jdegenstein/jmwright-CQ-Editor
pip install https://github.com/CadQuery/ocp-build-system/releases/download/7.7.2.0/cadquery_ocp-7.7.2-cp311-cp311-macosx_11_0_arm64.whl pip install -vvv --pre git+https://github.com/cadquery/cadquery casadi typish "multimethod>=1.11,<2.0" "nlopt>=2.9.0,<3.0" typish
pip install https://github.com/jdegenstein/nlopt-python/releases/download/2.7.1.3/nlopt-2.7.1-cp311-cp311-macosx_11_0_arm64.whl
pip install --pre git+https://github.com/cadquery/cadquery casadi
pip install pyinstaller>=5.6 pip install pyinstaller>=5.6
pip install path pip install path
pip uninstall -y PyQt5 pip uninstall -y PyQt5
@@ -124,8 +129,11 @@ jobs:
run: | run: |
micromamba activate test micromamba activate test
micromamba info micromamba info
echo $LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/home/runner/micromamba/envs/test/lib
echo $LD_LIBRARY_PATH
pyinstaller pyinstaller_pip.spec ${{ github.event.inputs.type }} pyinstaller pyinstaller_pip.spec ${{ github.event.inputs.type }}
cp /Users/runner/work/jmwright-CQ-Editor/jmwright-CQ-Editor/pyinstaller/CQ-editor.sh /Users/runner/work/jmwright-CQ-Editor/jmwright-CQ-Editor/dist/ cp /Users/runner/work/jmwright-CQ-Editor/jmwright-CQ-Editor/pyinstaller/CQ-editor-mac.sh /Users/runner/work/jmwright-CQ-Editor/jmwright-CQ-Editor/dist/CQ-editor.sh
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
with: with:
name: CQ-editor-MacOS-arm64 name: CQ-editor-MacOS-arm64
@@ -145,7 +153,7 @@ jobs:
run: | run: |
micromamba info micromamba info
pip install git+https://github.com/jdegenstein/jmwright-CQ-Editor pip install git+https://github.com/jdegenstein/jmwright-CQ-Editor
pip install --pre git+https://github.com/cadquery/cadquery casadi pip install -vvv --pre git+https://github.com/cadquery/cadquery casadi typish "multimethod>=1.11,<2.0" "nlopt>=2.9.0,<3.0" typish
pip install pyinstaller>=5.6 pip install pyinstaller>=5.6
pip install path pip install path
pip install git+https://github.com/gumyr/cq_warehouse.git#egg=cq_warehouse pip install git+https://github.com/gumyr/cq_warehouse.git#egg=cq_warehouse

View File

@@ -2,7 +2,7 @@ import cadquery as cq
from cadquery.occ_impl.assembly import toCAF from cadquery.occ_impl.assembly import toCAF
from typing import List, Union from typing import List, Union
from imp import reload from importlib import reload
from types import SimpleNamespace from types import SimpleNamespace
from OCP.XCAFPrs import XCAFPrs_AISObject from OCP.XCAFPrs import XCAFPrs_AISObject
@@ -31,7 +31,7 @@ def find_cq_objects(results: dict):
def to_compound( def to_compound(
obj: Union[cq.Workplane, List[cq.Workplane], cq.Shape, List[cq.Shape], cq.Sketch] obj: Union[cq.Workplane, List[cq.Workplane], cq.Shape, List[cq.Shape], cq.Sketch],
): ):
vals = [] vals = []
@@ -213,7 +213,7 @@ def reload_cq():
reload(cq.sketch) reload(cq.sketch)
reload(cq.occ_impl.exporters.svg) reload(cq.occ_impl.exporters.svg)
reload(cq.cq) reload(cq.cq)
reload(cq.occ_impl.exporters.utils) # reload(cq.occ_impl.exporters.utils)
reload(cq.occ_impl.exporters.dxf) reload(cq.occ_impl.exporters.dxf)
reload(cq.occ_impl.exporters.amf) reload(cq.occ_impl.exporters.amf)
reload(cq.occ_impl.exporters.json) reload(cq.occ_impl.exporters.json)

View File

@@ -5,7 +5,7 @@ channels:
dependencies: dependencies:
- pyqt=5 - pyqt=5
- pyqtgraph - pyqtgraph
- python=3.11 - python=3.12
- spyder=5 - spyder=5
- path - path
- logbook - logbook

View File

@@ -3,4 +3,4 @@ channels:
- conda-forge - conda-forge
- defaults - defaults
dependencies: dependencies:
- python=3.11 - python=3.12

View File

@@ -0,0 +1,4 @@
#!/bin/sh
export QT_MAC_WANTS_LAYER=1
chmod u+x ./CQ-editor/CQ-editor
QT_QPA_PLATFORM=cocoa PYOPENGL_PLATFORM=x11 ./CQ-editor/CQ-editor

View File

@@ -10,17 +10,18 @@ spyder_data = Path(site.getsitepackages()[-1]) / 'spyder'
parso_grammar = (Path(site.getsitepackages()[-1]) / 'parso/python').glob('grammar*') parso_grammar = (Path(site.getsitepackages()[-1]) / 'parso/python').glob('grammar*')
cqw_path = Path(site.getsitepackages()[-1]) / 'cq_warehouse' cqw_path = Path(site.getsitepackages()[-1]) / 'cq_warehouse'
bdw_path = Path(site.getsitepackages()[-1]) / 'bd_warehouse' bdw_path = Path(site.getsitepackages()[-1]) / 'bd_warehouse'
b123d_path = Path(site.getsitepackages()[-1]) / 'build123d'
cq_path = Path(site.getsitepackages()[-1]) / 'cadquery' cq_path = Path(site.getsitepackages()[-1]) / 'cadquery'
if sys.platform == 'linux': if sys.platform == 'linux':
occt_dir = os.path.join(Path(sys.prefix), 'share', 'opencascade') occt_dir = os.path.join(Path(sys.prefix), 'share', 'opencascade')
ocp_path = [(os.path.join(HOMEPATH, 'OCP.cpython-311-x86_64-linux-gnu.so'), '.')] ocp_path = [(os.path.join(HOMEPATH, 'OCP', 'OCP.cpython-312-x86_64-linux-gnu.so'), '.')]
elif sys.platform == 'darwin': elif sys.platform == 'darwin':
occt_dir = os.path.join(Path(sys.prefix), 'share', 'opencascade') occt_dir = os.path.join(Path(sys.prefix), 'share', 'opencascade')
ocp_path = [(os.path.join(HOMEPATH, 'OCP.cpython-311-darwin.so'), '.')] ocp_path = [(os.path.join(HOMEPATH, 'OCP', 'OCP.cpython-312-darwin.so'), '.')]
elif sys.platform == 'win32': elif sys.platform == 'win32':
occt_dir = os.path.join(Path(sys.prefix), 'Library', 'share', 'opencascade') occt_dir = os.path.join(Path(sys.prefix), 'Library', 'share', 'opencascade')
ocp_path = [(os.path.join(HOMEPATH, 'OCP.cp311-win_amd64.pyd'), '.')] ocp_path = [(os.path.join(HOMEPATH, 'OCP', 'OCP.cp312-win_amd64.pyd'), '.')]
datas1, binaries1, hiddenimports1 = collect_all('debugpy') datas1, binaries1, hiddenimports1 = collect_all('debugpy')
hiddenimports2 = collect_submodules('xmlrpc') hiddenimports2 = collect_submodules('xmlrpc')
@@ -31,6 +32,7 @@ a = Analysis(['run.py'],
datas=[(spyder_data, 'spyder'), datas=[(spyder_data, 'spyder'),
(cqw_path, 'cq_warehouse'), (cqw_path, 'cq_warehouse'),
(bdw_path, 'bd_warehouse'), (bdw_path, 'bd_warehouse'),
(b123d_path, 'build123d'),
(cq_path, 'cadquery')] + (cq_path, 'cadquery')] +
[(p, 'parso/python') for p in parso_grammar] + datas1, [(p, 'parso/python') for p in parso_grammar] + datas1,
hiddenimports=['ipykernel.datapub', 'debugpy', 'vtkmodules', 'vtkmodules.all', hiddenimports=['ipykernel.datapub', 'debugpy', 'vtkmodules', 'vtkmodules.all',

View File

@@ -3,19 +3,22 @@ import os.path
from setuptools import setup, find_packages from setuptools import setup, find_packages
def read(rel_path): def read(rel_path):
here = os.path.abspath(os.path.dirname(__file__)) here = os.path.abspath(os.path.dirname(__file__))
with codecs.open(os.path.join(here, rel_path), 'r') as fp: with codecs.open(os.path.join(here, rel_path), "r") as fp:
return fp.read() return fp.read()
def get_version(rel_path): def get_version(rel_path):
for line in read(rel_path).splitlines(): for line in read(rel_path).splitlines():
if line.startswith('__version__'): if line.startswith("__version__"):
delim = '"' if '"' in line else "'" delim = '"' if '"' in line else "'"
return line.split(delim)[1] return line.split(delim)[1]
else: else:
raise RuntimeError("Unable to find version string.") raise RuntimeError("Unable to find version string.")
setup( setup(
name="CQ-editor", name="CQ-editor",
version=get_version("cq_editor/_version.py"), version=get_version("cq_editor/_version.py"),
@@ -26,7 +29,7 @@ setup(
"CQ-editor = cq_editor.__main__:main", "CQ-editor = cq_editor.__main__:main",
] ]
}, },
python_requires=">=3.8,<3.12", python_requires=">=3.10,<3.14",
install_requires=[ install_requires=[
"logbook>=1", "logbook>=1",
"ipython", "ipython",
@@ -35,6 +38,7 @@ setup(
"requests>=2,<3", "requests>=2,<3",
"spyder>=5,<6", "spyder>=5,<6",
"pyqtgraph", "pyqtgraph",
"numpy >= 1.24.1, <2", "numpy >= 2, <3",
"scipy==1.14.1", # workaround for renamed stuff in scipy optimize
], ],
) )