33 Commits

Author SHA1 Message Date
f95e31b636 Update setup.py 2024-10-05 23:38:36 +02:00
3099fa560e Update setup.py 2024-10-05 23:35:38 +02: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
jdegenstein
9579757c98 debugger.py -> abspath to absolute 2024-08-22 12:34:28 -05:00
jdegenstein
5d8f651f97 widgets/editor.py -> abspath to absolute 2024-08-22 12:34:12 -05:00
jdegenstein
7f01d73f54 editor.py -> abspath to absolute 2024-08-22 12:33:40 -05:00
jdegenstein
d657da605a setup.py -> add numpy dep below v2 2024-08-22 12:27:06 -05:00
jdegenstein
5fdeda5076 pyinstaller-builds-actions-PIP-TAR.yml -> pip install self built macos arm64 nlopt 2024-06-05 08:45:57 -05:00
jdegenstein
ebdc391f3d Update pyinstaller-builds-actions-PIP-TAR.yml 2024-06-04 20:36:06 -05:00
jdegenstein
3ba85424c7 Update pyinstaller-builds-actions-PIP-TAR.yml -> use mainline pyinstaller-hooks-contrib 2024-06-04 14:09:54 -05:00
jdegenstein
069df10dd0 Update pyinstaller-builds-actions-PIP-TAR.yml 2024-06-01 15:20:44 -05:00
jdegenstein
c2ba027cd5 Update pyinstaller-builds-actions-PIP-TAR.yml 2024-06-01 09:54:33 -05:00
jdegenstein
9653933c2e CQ-editor.sh workaround from issue #13 2024-05-30 20:44:56 -05:00
jdegenstein
7878bad430 Update pyinstaller-builds-actions-PIP-TAR.yml 2024-05-30 15:21:05 -05:00
jdegenstein
80b9dd5bef pyinstaller-builds-actions-PIP-TAR.yml 2024-05-30 14:48:30 -05:00
jdegenstein
67d64f67a7 pyinstaller-builds-actions-PIP-TAR.yml -> attempt to add macos-arm64 2024-05-30 14:40:50 -05:00
jdegenstein
4ae685aba2 pyinstaller-builds-actions-PIP-TAR.yml -> Fix win path for use with bash 2024-05-30 14:20:24 -05:00
jdegenstein
189c37e284 pyinstaller-builds-actions-PIP-TAR.yml -> shell: bash --login {0} 2024-05-30 14:06:37 -05:00
jdegenstein
8b63d10dc5 Update pyinstaller-builds-actions-PIP-TAR.yml 2024-05-30 13:59:06 -05:00
jdegenstein
38feb5ddc4 pyinstaller-builds-actions-PIP-TAR.yml -> activate environment 2024-05-30 13:49:42 -05:00
jdegenstein
0254de2be7 Update cqgui_env.yml python 3.11 2024-05-30 13:15:30 -05:00
jdegenstein
33e813dad8 pyinstaller_pip.spec -> python 3.11 2024-05-30 13:14:42 -05:00
jdegenstein
5354369dcd environment.yml -> python=3.11 2024-05-30 13:14:04 -05:00
jdegenstein
20e8d623d0 pyinstaller-builds-actions-PIP-TAR.yml -> Updating actions and fixing MacOS/x86_64 builds 2024-05-30 13:13:05 -05:00
jdegenstein
f26f95396a pyinstaller-builds-actions-PIP-TAR.yml -> update some GH actions for node20 2024-04-12 09:46:11 -05:00
10 changed files with 93 additions and 45 deletions

View File

@@ -9,31 +9,28 @@ on:
required: true required: true
default: 'dir' default: 'dir'
jobs: jobs:
build-linux: build-linux-x86_64:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- uses: mamba-org/setup-micromamba@v1 - uses: mamba-org/setup-micromamba@v1
with: with:
#miniconda-version: "latest"
#auto-update-conda: true
environment-name: test environment-name: test
environment-file: environment.yml environment-file: environment.yml
create-args: >- init-shell: >-
python=3.10 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: |
sudo apt install -y libblas-dev libblas3 libblas64-3 libblas64-dev sudo apt install -y libblas-dev libblas3 libblas64-3 libblas64-dev
sudo apt install -y libxkbcommon0 sudo apt install -y libxkbcommon0 libxkbcommon-x11-0 libxcb-xinerama0
sudo apt install -y libxkbcommon-x11-0
sudo apt install -y libxcb-xinerama0
sudo apt install -y qtbase5-dev qt5-qmake sudo apt install -y qtbase5-dev qt5-qmake
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
pip install pyinstaller>=5.6 git+https://github.com/jdegenstein/pyinstaller-hooks-contrib pip install pyinstaller>=5.6
pip install path pip install path
pip install jupyter-rfb pip install jupyter-rfb
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
@@ -46,32 +43,34 @@ jobs:
- name: Run build - name: Run build
shell: bash --login {0} shell: bash --login {0}
run: | run: |
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: alehechka/upload-tartifact@v2 - uses: actions/upload-artifact@v4
with: with:
name: CQ-editor-Linux-x86_64 name: CQ-editor-Linux-x86_64
path: dist path: dist
build-macos: build-macos-x86_64:
runs-on: macos-latest runs-on: macos-13
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- uses: mamba-org/setup-micromamba@v1 - uses: mamba-org/setup-micromamba@v1
with: with:
#miniconda-version: "latest"
#auto-update-conda: true
environment-name: test environment-name: test
environment-file: environment.yml environment-file: environment.yml
create-args: >- init-shell: >-
python=3.10 bash
- name: pip install cadquery CQ-editor ... etc - name: pip install cadquery CQ-editor ... etc
shell: bash --login {0} shell: bash --login {0}
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 --pre git+https://github.com/cadquery/cadquery casadi
pip install pyinstaller>=5.6 git+https://github.com/jdegenstein/pyinstaller-hooks-contrib pip install pyinstaller>=5.6
pip install path pip install path
pip uninstall -y PyQt5 pip uninstall -y PyQt5
pip install PyQt5==5.15.7 pip install PyQt5==5.15.7
@@ -86,34 +85,72 @@ jobs:
- name: Run build - name: Run build
shell: bash --login {0} shell: bash --login {0}
run: | run: |
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: alehechka/upload-tartifact@v1 - uses: actions/upload-artifact@v4
with: 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
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-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 path: dist
build-windows: build-windows:
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- uses: mamba-org/setup-micromamba@v1 - uses: mamba-org/setup-micromamba@v1
with: with:
#miniconda-version: "latest"
#auto-update-conda: true
environment-name: test environment-name: test
environment-file: environment.yml environment-file: environment.yml
init-shell: >- init-shell: >-
powershell bash
create-args: >-
python=3.10
- name: pip install cadquery CQ-editor ... etc - name: pip install cadquery CQ-editor ... etc
shell: powershell shell: bash --login {0}
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 --pre git+https://github.com/cadquery/cadquery casadi
pip install pyinstaller>=5.6 git+https://github.com/jdegenstein/pyinstaller-hooks-contrib 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
pip install git+https://github.com/gumyr/bd_warehouse pip install git+https://github.com/gumyr/bd_warehouse
@@ -123,12 +160,18 @@ jobs:
pip install git+https://github.com/JustinSDK/cqMore pip install git+https://github.com/JustinSDK/cqMore
pip list pip list
- name: Run build - name: Run build
shell: powershell shell: bash --login {0}
run: | run: |
micromamba activate test
micromamba info micromamba info
pyinstaller pyinstaller_pip.spec ${{ github.event.inputs.type }} 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\ cp 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
- 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: with:
name: CQ-editor-Windows name: CQ-editor-Windows
path: dist path: release.zip

View File

@@ -148,7 +148,7 @@ class Editor(CodeEditor,ComponentMixin):
if not self.confirm_discard(): return 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) fname = get_open_filename(self.EXTENSIONS, curr_dir)
if fname != '': if fname != '':
self.load_from_file(fname) self.load_from_file(fname)

View File

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

View File

@@ -147,7 +147,7 @@ class Editor(CodeEditor,ComponentMixin):
if not self.confirm_discard(): return 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) fname = get_open_filename(self.EXTENSIONS, curr_dir)
if fname != '': if fname != '':
self.load_from_file(fname) self.load_from_file(fname)

View File

@@ -5,7 +5,7 @@ channels:
dependencies: dependencies:
- pyqt=5 - pyqt=5
- pyqtgraph - pyqtgraph
- python=3.10 - python=3.11
- 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.10 - python=3.11

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

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

View File

@@ -14,13 +14,13 @@ 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-310-x86_64-linux-gnu.so'), '.')] ocp_path = [(os.path.join(HOMEPATH, 'OCP.cpython-311-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-310-darwin.so'), '.')] ocp_path = [(os.path.join(HOMEPATH, 'OCP.cpython-311-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.cp310-win_amd64.pyd'), '.')] ocp_path = [(os.path.join(HOMEPATH, 'OCP.cp311-win_amd64.pyd'), '.')]
datas1, binaries1, hiddenimports1 = collect_all('debugpy') datas1, binaries1, hiddenimports1 = collect_all('debugpy')
hiddenimports2 = collect_submodules('xmlrpc') hiddenimports2 = collect_submodules('xmlrpc')

View File

@@ -26,7 +26,7 @@ setup(
"CQ-editor = cq_editor.__main__:main", "CQ-editor = cq_editor.__main__:main",
] ]
}, },
python_requires=">=3.8,<3.12", python_requires=">=3.8,<3.13",
install_requires=[ install_requires=[
"logbook>=1", "logbook>=1",
"ipython", "ipython",
@@ -35,5 +35,6 @@ setup(
"requests>=2,<3", "requests>=2,<3",
"spyder>=5,<6", "spyder>=5,<6",
"pyqtgraph", "pyqtgraph",
"numpy >= 1.24.1, <2",
], ],
) )