mirror of
https://github.com/jdegenstein/jmwright-CQ-Editor.git
synced 2025-12-20 06:27:05 +01:00
Compare commits
44 Commits
0.30-dev-4
...
0.30-dev-8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d67472fb3c | ||
|
|
10cd914498 | ||
|
|
6d0ae2564c | ||
|
|
3bbe2ea762 | ||
|
|
5a5f96d3e9 | ||
|
|
7161462aa5 | ||
|
|
41ee6be4e5 | ||
|
|
9e027d908e | ||
|
|
58cefa05b0 | ||
|
|
c592c9cccf | ||
|
|
f9e32b156a | ||
|
|
70b823ae5d | ||
|
|
0569294a2b | ||
|
|
0e6b47e21e | ||
|
|
01ce43e1be | ||
|
|
0499f2dc69 | ||
|
|
5225408777 | ||
|
|
8748b35e9f | ||
|
|
7a279ad9a7 | ||
|
|
cf3df6e95a | ||
|
|
7015e70f4a | ||
|
|
f21b680ced | ||
|
|
9579757c98 | ||
|
|
5d8f651f97 | ||
|
|
7f01d73f54 | ||
|
|
d657da605a | ||
|
|
5fdeda5076 | ||
|
|
ebdc391f3d | ||
|
|
3ba85424c7 | ||
|
|
069df10dd0 | ||
|
|
c2ba027cd5 | ||
|
|
9653933c2e | ||
|
|
7878bad430 | ||
|
|
80b9dd5bef | ||
|
|
67d64f67a7 | ||
|
|
4ae685aba2 | ||
|
|
189c37e284 | ||
|
|
8b63d10dc5 | ||
|
|
38feb5ddc4 | ||
|
|
0254de2be7 | ||
|
|
33e813dad8 | ||
|
|
5354369dcd | ||
|
|
20e8d623d0 | ||
|
|
f26f95396a |
@@ -9,31 +9,28 @@ on:
|
||||
required: true
|
||||
default: 'dir'
|
||||
jobs:
|
||||
build-linux:
|
||||
build-linux-x86_64:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- uses: mamba-org/setup-micromamba@v1
|
||||
with:
|
||||
#miniconda-version: "latest"
|
||||
#auto-update-conda: true
|
||||
environment-name: test
|
||||
environment-file: environment.yml
|
||||
create-args: >-
|
||||
python=3.10
|
||||
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
|
||||
sudo apt install -y libxkbcommon-x11-0
|
||||
sudo apt install -y libxcb-xinerama0
|
||||
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 git+https://github.com/jdegenstein/pyinstaller-hooks-contrib
|
||||
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
|
||||
@@ -46,32 +43,34 @@ jobs:
|
||||
- name: Run build
|
||||
shell: bash --login {0}
|
||||
run: |
|
||||
micromamba activate test
|
||||
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/
|
||||
- uses: alehechka/upload-tartifact@v2
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: CQ-editor-Linux-x86_64
|
||||
path: dist
|
||||
build-macos:
|
||||
runs-on: macos-latest
|
||||
build-macos-x86_64:
|
||||
runs-on: macos-13
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- uses: mamba-org/setup-micromamba@v1
|
||||
with:
|
||||
#miniconda-version: "latest"
|
||||
#auto-update-conda: true
|
||||
environment-name: test
|
||||
environment-file: environment.yml
|
||||
create-args: >-
|
||||
python=3.10
|
||||
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 git+https://github.com/jdegenstein/pyinstaller-hooks-contrib
|
||||
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
|
||||
@@ -86,34 +85,76 @@ jobs:
|
||||
- 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: alehechka/upload-tartifact@v1
|
||||
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
|
||||
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-windows:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- uses: mamba-org/setup-micromamba@v1
|
||||
with:
|
||||
#miniconda-version: "latest"
|
||||
#auto-update-conda: true
|
||||
environment-name: test
|
||||
environment-file: environment.yml
|
||||
init-shell: >-
|
||||
powershell
|
||||
create-args: >-
|
||||
python=3.10
|
||||
bash
|
||||
- name: pip install cadquery CQ-editor ... etc
|
||||
shell: powershell
|
||||
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 git+https://github.com/jdegenstein/pyinstaller-hooks-contrib
|
||||
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 git+https://github.com/gumyr/cq_warehouse.git#egg=cq_warehouse
|
||||
pip install git+https://github.com/gumyr/bd_warehouse
|
||||
@@ -123,12 +164,18 @@ jobs:
|
||||
pip install git+https://github.com/JustinSDK/cqMore
|
||||
pip list
|
||||
- name: Run build
|
||||
shell: powershell
|
||||
shell: bash --login {0}
|
||||
run: |
|
||||
micromamba activate test
|
||||
micromamba info
|
||||
pyinstaller pyinstaller_pip.spec ${{ github.event.inputs.type }}
|
||||
Copy-Item D:\a\jmwright-CQ-Editor\jmwright-CQ-Editor\pyinstaller\CQ-editor.cmd D:\a\jmwright-CQ-Editor\jmwright-CQ-Editor\dist\
|
||||
- uses: alehechka/upload-tartifact@v2
|
||||
cp D:/a/jmwright-CQ-Editor/jmwright-CQ-Editor/pyinstaller/CQ-editor.cmd D:/a/jmwright-CQ-Editor/jmwright-CQ-Editor/dist/
|
||||
|
||||
- name: 7zip artifact (workaround for too many files during artifact upload)
|
||||
shell: bash --login {0}
|
||||
run: 7z a release.zip ./dist/*
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: CQ-editor-Windows
|
||||
path: dist
|
||||
path: release.zip
|
||||
|
||||
@@ -2,7 +2,7 @@ import cadquery as cq
|
||||
from cadquery.occ_impl.assembly import toCAF
|
||||
|
||||
from typing import List, Union
|
||||
from imp import reload
|
||||
from importlib 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)
|
||||
|
||||
@@ -148,7 +148,7 @@ class Editor(CodeEditor,ComponentMixin):
|
||||
|
||||
if not self.confirm_discard(): return
|
||||
|
||||
curr_dir = Path(self.filename).abspath().dirname()
|
||||
curr_dir = Path(self.filename).absolute().dirname()
|
||||
fname = get_open_filename(self.EXTENSIONS, curr_dir)
|
||||
if fname != '':
|
||||
self.load_from_file(fname)
|
||||
|
||||
@@ -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 "").abspath().dirname()
|
||||
p = Path(fname if fname else "").absolute().dirname()
|
||||
|
||||
if self.preferences["Add script dir to path"] and p.exists():
|
||||
sys.path.insert(0, p)
|
||||
|
||||
@@ -147,7 +147,7 @@ class Editor(CodeEditor,ComponentMixin):
|
||||
|
||||
if not self.confirm_discard(): return
|
||||
|
||||
curr_dir = Path(self.filename).abspath().dirname()
|
||||
curr_dir = Path(self.filename).absolute().dirname()
|
||||
fname = get_open_filename(self.EXTENSIONS, curr_dir)
|
||||
if fname != '':
|
||||
self.load_from_file(fname)
|
||||
|
||||
@@ -5,7 +5,7 @@ channels:
|
||||
dependencies:
|
||||
- pyqt=5
|
||||
- pyqtgraph
|
||||
- python=3.10
|
||||
- python=3.12
|
||||
- spyder=5
|
||||
- path
|
||||
- logbook
|
||||
|
||||
@@ -3,4 +3,4 @@ channels:
|
||||
- conda-forge
|
||||
- defaults
|
||||
dependencies:
|
||||
- python=3.10
|
||||
- python=3.12
|
||||
|
||||
4
pyinstaller/CQ-editor-mac.sh
Normal file
4
pyinstaller/CQ-editor-mac.sh
Normal 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
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
export QT_MAC_WANTS_LAYER=1
|
||||
chmod u+x ./CQ-editor/CQ-editor
|
||||
./CQ-editor/CQ-editor
|
||||
QT_QPA_PLATFORM=xcb PYOPENGL_PLATFORM=x11 ./CQ-editor/CQ-editor
|
||||
|
||||
@@ -10,17 +10,18 @@ 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.cpython-310-x86_64-linux-gnu.so'), '.')]
|
||||
ocp_path = [(os.path.join(HOMEPATH, 'OCP', 'OCP.cpython-312-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.cpython-310-darwin.so'), '.')]
|
||||
ocp_path = [(os.path.join(HOMEPATH, 'OCP', 'OCP.cpython-312-darwin.so'), '.')]
|
||||
elif sys.platform == 'win32':
|
||||
occt_dir = os.path.join(Path(sys.prefix), 'Library', 'share', 'opencascade')
|
||||
ocp_path = [(os.path.join(HOMEPATH, 'OCP.cp310-win_amd64.pyd'), '.')]
|
||||
ocp_path = [(os.path.join(HOMEPATH, 'OCP', 'OCP.cp312-win_amd64.pyd'), '.')]
|
||||
|
||||
datas1, binaries1, hiddenimports1 = collect_all('debugpy')
|
||||
hiddenimports2 = collect_submodules('xmlrpc')
|
||||
@@ -31,6 +32,7 @@ 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',
|
||||
|
||||
11
setup.py
11
setup.py
@@ -3,19 +3,22 @@ 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"),
|
||||
@@ -26,7 +29,7 @@ setup(
|
||||
"CQ-editor = cq_editor.__main__:main",
|
||||
]
|
||||
},
|
||||
python_requires=">=3.8,<3.12",
|
||||
python_requires=">=3.10,<3.14",
|
||||
install_requires=[
|
||||
"logbook>=1",
|
||||
"ipython",
|
||||
@@ -35,5 +38,7 @@ setup(
|
||||
"requests>=2,<3",
|
||||
"spyder>=5,<6",
|
||||
"pyqtgraph",
|
||||
"numpy >= 2, <3",
|
||||
"scipy==1.14.1", # workaround for renamed stuff in scipy optimize
|
||||
],
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user