2 Commits

Author SHA1 Message Date
jdegenstein
9a41946bf6 ... PIP-TAR.yml -> disable linux/macos builds (only WIN) 2024-06-09 14:11:40 -05:00
jdegenstein
e9696209d0 ... -PIP-TAR.yml-> add choco install upx 2024-06-09 14:10:44 -05:00
10 changed files with 137 additions and 155 deletions

View File

@@ -9,135 +9,127 @@ on:
required: true
default: 'dir'
jobs:
build-linux-x86_64:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: mamba-org/setup-micromamba@v1
with:
environment-name: test
environment-file: environment.yml
init-shell: >-
bash
# create-args: >-
- name: pip install cadquery CQ-editor ... etc
shell: bash --login {0}
run: |
sudo apt install -y libblas-dev libblas3 libblas64-3 libblas64-dev
sudo apt install -y libxkbcommon0 libxkbcommon-x11-0 libxcb-xinerama0
sudo apt install -y qtbase5-dev qt5-qmake
micromamba info
pip install pyopengl
pip install git+https://github.com/jdegenstein/jmwright-CQ-Editor
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 path
pip install jupyter-rfb
pip install git+https://github.com/gumyr/cq_warehouse.git#egg=cq_warehouse
pip install git+https://github.com/gumyr/bd_warehouse
pip install git+https://github.com/meadiode/cq_gears.git@main
pip install -e "git+https://github.com/CadQuery/cadquery-plugins.git#egg=cq_cache&subdirectory=plugins/cq_cache"
pip install git+https://github.com/gumyr/build123d
pip install git+https://github.com/JustinSDK/cqMore
pip list
- name: Run build
shell: bash --login {0}
run: |
micromamba activate test
micromamba info
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/
- uses: actions/upload-artifact@v4
with:
name: CQ-editor-Linux-x86_64
path: dist
build-macos-x86_64:
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- uses: mamba-org/setup-micromamba@v1
with:
environment-name: test
environment-file: environment.yml
init-shell: >-
bash
- name: pip install cadquery CQ-editor ... etc
shell: bash --login {0}
run: |
micromamba info
pip install git+https://github.com/jdegenstein/jmwright-CQ-Editor
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 path
pip uninstall -y PyQt5
pip install PyQt5==5.15.7
pip install PyQtWebEngine==5.15.6
pip install git+https://github.com/gumyr/cq_warehouse.git#egg=cq_warehouse
pip install git+https://github.com/gumyr/bd_warehouse
pip install git+https://github.com/meadiode/cq_gears.git@main
pip install -e "git+https://github.com/CadQuery/cadquery-plugins.git#egg=cq_cache&subdirectory=plugins/cq_cache"
pip install git+https://github.com/gumyr/build123d
pip install git+https://github.com/JustinSDK/cqMore
pip list
- name: Run build
shell: bash --login {0}
run: |
micromamba activate test
micromamba info
pyinstaller pyinstaller_pip.spec ${{ github.event.inputs.type }}
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
with:
name: CQ-editor-MacOS-x86_64
path: dist
build-macos-arm64:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- uses: mamba-org/setup-micromamba@v1
with:
environment-name: test
environment-file: environment.yml
init-shell: >-
bash
- name: pip install cadquery CQ-editor ... etc
shell: bash --login {0}
run: |
micromamba info
brew update
brew upgrade
brew install openssl
pip install git+https://github.com/jdegenstein/jmwright-CQ-Editor
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 path
pip uninstall -y PyQt5
pip install PyQt5==5.15.10
pip install PyQtWebEngine==5.15.6
pip install git+https://github.com/gumyr/cq_warehouse.git#egg=cq_warehouse
pip install git+https://github.com/gumyr/bd_warehouse
pip install git+https://github.com/meadiode/cq_gears.git@main
pip install -e "git+https://github.com/CadQuery/cadquery-plugins.git#egg=cq_cache&subdirectory=plugins/cq_cache"
pip install git+https://github.com/gumyr/build123d
pip install git+https://github.com/JustinSDK/cqMore
pip list
- name: Run build
shell: bash --login {0}
run: |
micromamba activate test
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 }}
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
with:
name: CQ-editor-MacOS-arm64
path: dist
# build-linux-x86_64:
# runs-on: ubuntu-22.04
# steps:
# - uses: actions/checkout@v4
# - uses: mamba-org/setup-micromamba@v1
# with:
# environment-name: test
# environment-file: environment.yml
# init-shell: >-
# bash
# - name: pip install cadquery CQ-editor ... etc
# shell: bash --login {0}
# run: |
# sudo apt install -y libblas-dev libblas3 libblas64-3 libblas64-dev
# sudo apt install -y libxkbcommon0 libxkbcommon-x11-0 libxcb-xinerama0
# sudo apt install -y qtbase5-dev qt5-qmake
# micromamba info
# pip install pyopengl
# pip install git+https://github.com/jdegenstein/jmwright-CQ-Editor
# pip install -vvv --pre git+https://github.com/cadquery/cadquery casadi
# pip install pyinstaller>=5.6
# pip install path
# pip install jupyter-rfb
# pip install git+https://github.com/gumyr/cq_warehouse.git#egg=cq_warehouse
# pip install git+https://github.com/gumyr/bd_warehouse
# pip install git+https://github.com/meadiode/cq_gears.git@main
# pip install -e "git+https://github.com/CadQuery/cadquery-plugins.git#egg=cq_cache&subdirectory=plugins/cq_cache"
# pip install git+https://github.com/gumyr/build123d
# pip install git+https://github.com/JustinSDK/cqMore
# pip list
# - name: Run build
# shell: bash --login {0}
# run: |
# micromamba activate test
# micromamba info
# pyinstaller 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/
# - uses: actions/upload-artifact@v4
# with:
# name: CQ-editor-Linux-x86_64
# path: dist
# build-macos-x86_64:
# runs-on: macos-13
# steps:
# - uses: actions/checkout@v4
# - uses: mamba-org/setup-micromamba@v1
# with:
# environment-name: test
# environment-file: environment.yml
# init-shell: >-
# bash
# - name: pip install cadquery CQ-editor ... etc
# shell: bash --login {0}
# run: |
# micromamba info
# pip install git+https://github.com/jdegenstein/jmwright-CQ-Editor
# pip install --pre git+https://github.com/cadquery/cadquery casadi
# pip install pyinstaller>=5.6
# pip install path
# pip uninstall -y PyQt5
# pip install PyQt5==5.15.7
# pip install PyQtWebEngine==5.15.6
# pip install git+https://github.com/gumyr/cq_warehouse.git#egg=cq_warehouse
# pip install git+https://github.com/gumyr/bd_warehouse
# pip install git+https://github.com/meadiode/cq_gears.git@main
# pip install -e "git+https://github.com/CadQuery/cadquery-plugins.git#egg=cq_cache&subdirectory=plugins/cq_cache"
# pip install git+https://github.com/gumyr/build123d
# pip install git+https://github.com/JustinSDK/cqMore
# pip list
# - name: Run build
# shell: bash --login {0}
# run: |
# micromamba activate test
# micromamba info
# 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/
# - uses: actions/upload-artifact@v4
# with:
# name: CQ-editor-MacOS-x86_64
# path: dist
# build-macos-arm64:
# runs-on: macos-14
# steps:
# - uses: actions/checkout@v4
# - uses: mamba-org/setup-micromamba@v1
# with:
# environment-name: test
# environment-file: environment.yml
# init-shell: >-
# bash
# - name: pip install cadquery CQ-editor ... etc
# shell: bash --login {0}
# run: |
# micromamba info
# 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 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 path
# pip uninstall -y PyQt5
# pip install PyQt5==5.15.10
# pip install PyQtWebEngine==5.15.6
# pip install git+https://github.com/gumyr/cq_warehouse.git#egg=cq_warehouse
# pip install git+https://github.com/gumyr/bd_warehouse
# pip install git+https://github.com/meadiode/cq_gears.git@main
# pip install -e "git+https://github.com/CadQuery/cadquery-plugins.git#egg=cq_cache&subdirectory=plugins/cq_cache"
# pip install git+https://github.com/gumyr/build123d
# pip install git+https://github.com/JustinSDK/cqMore
# pip list
# - name: Run build
# shell: bash --login {0}
# run: |
# micromamba activate test
# micromamba info
# 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/
# - uses: actions/upload-artifact@v4
# with:
# name: CQ-editor-MacOS-arm64
# path: dist
build-windows:
runs-on: windows-latest
steps:
@@ -152,8 +144,9 @@ jobs:
shell: bash --login {0}
run: |
micromamba info
choco install upx
pip install git+https://github.com/jdegenstein/jmwright-CQ-Editor
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 --pre git+https://github.com/cadquery/cadquery casadi
pip install pyinstaller>=5.6
pip install path
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 typing import List, Union
from importlib import reload
from imp import reload
from types import SimpleNamespace
from OCP.XCAFPrs import XCAFPrs_AISObject
@@ -31,7 +31,7 @@ def find_cq_objects(results: dict):
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 = []
@@ -213,7 +213,7 @@ def reload_cq():
reload(cq.sketch)
reload(cq.occ_impl.exporters.svg)
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.amf)
reload(cq.occ_impl.exporters.json)

View File

@@ -148,7 +148,7 @@ class Editor(CodeEditor,ComponentMixin):
if not self.confirm_discard(): return
curr_dir = Path(self.filename).absolute().dirname()
curr_dir = Path(self.filename).abspath().dirname()
fname = get_open_filename(self.EXTENSIONS, curr_dir)
if fname != '':
self.load_from_file(fname)

View File

@@ -186,7 +186,7 @@ class Debugger(QObject, ComponentMixin):
def _exec(self, code, locals_dict, globals_dict):
with ExitStack() as stack:
fname = self.parent().components["editor"].filename
p = Path(fname if fname else "").absolute().dirname()
p = Path(fname if fname else "").abspath().dirname()
if self.preferences["Add script dir to path"] and p.exists():
sys.path.insert(0, p)

View File

@@ -147,7 +147,7 @@ class Editor(CodeEditor,ComponentMixin):
if not self.confirm_discard(): return
curr_dir = Path(self.filename).absolute().dirname()
curr_dir = Path(self.filename).abspath().dirname()
fname = get_open_filename(self.EXTENSIONS, curr_dir)
if fname != '':
self.load_from_file(fname)

View File

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

View File

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

View File

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

View File

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