Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Basic working pymmcore-gui, on which we can build #5

Open
wants to merge 228 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
228 commits
Select commit Hold shift + click to select a range
2f2f297
build: Initial Commit
fdrgsp Mar 18, 2024
f15a058
chore: update pre-commit
fdrgsp Mar 18, 2024
cda2182
feat: add mainwindow, preview and viewer
fdrgsp Mar 19, 2024
5dd37a6
feat: restore layout at startup
fdrgsp Mar 19, 2024
6c141a3
feat: close all viewers when the main window is closed
fdrgsp Mar 19, 2024
ba34170
feat: add __main__
fdrgsp Mar 19, 2024
2d4f5de
feat: handle system configs at startup
fdrgsp Mar 19, 2024
20dafaf
docs: readme
fdrgsp Mar 19, 2024
6b6fe2f
docs: Update README.md
fdrgsp Mar 19, 2024
c3b1f7b
fix: add zarr to dependencies
fdrgsp Mar 19, 2024
d822293
fix: _canvas_size
fdrgsp Mar 19, 2024
51c10a8
fix: _canvas_size
fdrgsp Mar 19, 2024
542abcb
fix: _lut_slider
fdrgsp Mar 19, 2024
55d9c6e
fix: spaces
fdrgsp Mar 19, 2024
1ea2f55
ci(dependabot): bump softprops/action-gh-release from 1 to 2
dependabot[bot] Mar 18, 2024
52ba2c5
ci(dependabot): bump actions/checkout from 3 to 4
dependabot[bot] Mar 18, 2024
42c55d3
ci(dependabot): bump actions/setup-python from 4 to 5
dependabot[bot] Mar 18, 2024
5fee5ec
ci(dependabot): bump codecov/codecov-action from 3 to 4
dependabot[bot] Mar 18, 2024
d7b5176
fix: update dependancies
fdrgsp Mar 19, 2024
7b4318c
fix: docstring
fdrgsp Mar 19, 2024
c276b5e
fix: example
fdrgsp Mar 20, 2024
1829eff
fix: roiSet + remove shutter toolbar button
fdrgsp Mar 20, 2024
2938343
fix: _save_layout
fdrgsp Mar 23, 2024
6432b61
docs: Update README.md
fdrgsp Mar 23, 2024
07162cd
ci(pre-commit.ci): autoupdate
pre-commit-ci[bot] May 6, 2024
3e4054b
feat: example using new MDAViewer
tlambert03 May 7, 2024
60c1a5c
Update README.md
fdrgsp May 27, 2024
beaa562
feat: update logic
fdrgsp May 27, 2024
72c7e2b
fix: pre-commit
fdrgsp May 27, 2024
7b2662f
fix: readme.md
fdrgsp May 27, 2024
b3fdbb9
fix: reader
fdrgsp May 27, 2024
bc3560d
fix: _open_datastore
fdrgsp May 27, 2024
b7fb85d
Update README.md
fdrgsp May 27, 2024
11d34c2
fix: dependencies
fdrgsp May 27, 2024
2e55b3d
fix: tqdm
fdrgsp May 27, 2024
479dddf
fix: "yaml"
fdrgsp May 27, 2024
80f480e
fix: pyyaml
fdrgsp May 27, 2024
dc3e1f2
feat: close viewers menu
fdrgsp May 27, 2024
119a5c0
fix: gitignore
fdrgsp May 27, 2024
8f184fd
Update README.md
fdrgsp May 27, 2024
55d6568
fix: update tensorstor reader
fdrgsp Jun 2, 2024
db84981
fix: add exp wdg
fdrgsp Jun 3, 2024
bda5993
fix: exp
fdrgsp Jun 3, 2024
0c6c564
fix: update readers
fdrgsp Jun 3, 2024
f81331d
fix: remove DS_Store
fdrgsp Jun 3, 2024
cd80d56
ci(pre-commit.ci): autoupdate
pre-commit-ci[bot] Jun 3, 2024
c76b86a
style(pre-commit.ci): auto fixes [...]
pre-commit-ci[bot] Jun 3, 2024
a138f65
test: wip
fdrgsp Jun 3, 2024
46ceff7
fix: closeEvent
fdrgsp Jun 3, 2024
2582477
fix: exp
fdrgsp Jun 4, 2024
3e8c327
test: add test
fdrgsp Jun 4, 2024
cf89fed
test: update
fdrgsp Jun 4, 2024
9c42ac7
test: update
fdrgsp Jun 4, 2024
058db35
test: fix pyproject.toml
fdrgsp Jun 4, 2024
a23f3b3
test: fix ci
fdrgsp Jun 4, 2024
fdf019d
test: fix ci
fdrgsp Jun 4, 2024
24e26dd
test: fix ci
fdrgsp Jun 4, 2024
20951ac
test: fix ci
fdrgsp Jun 4, 2024
29fb85c
test: fix
fdrgsp Jun 4, 2024
1d28c3f
test: exclude pyside2 3.11
fdrgsp Jun 4, 2024
aa687fd
test: fix
fdrgsp Jun 4, 2024
4e24b7b
test: fix ci name
fdrgsp Jun 4, 2024
18a5fa5
test: fix
fdrgsp Jun 4, 2024
f0aca4f
fix: tensor writer
fdrgsp Jun 4, 2024
a658d07
test: update
fdrgsp Jun 4, 2024
d8a7c57
test: fix
fdrgsp Jun 4, 2024
0c18208
test: fix
fdrgsp Jun 4, 2024
8e76cd3
test: wip
fdrgsp Jun 4, 2024
7817aee
test: wip
fdrgsp Jun 4, 2024
e38b80f
test: tix
fdrgsp Jun 4, 2024
eb6541c
test: fix
fdrgsp Jun 4, 2024
864649f
fix: readme
fdrgsp Jun 4, 2024
5e81ba6
test: wip
fdrgsp Jun 4, 2024
3244c0a
test: wip
fdrgsp Jun 4, 2024
17db4ac
test: wip
fdrgsp Jun 4, 2024
6e31da2
fix: preview _on_save
fdrgsp Jun 4, 2024
d8ecf98
fix: _enable
fdrgsp Jun 4, 2024
75e47f4
Update README.md
fdrgsp Jun 4, 2024
00b8761
feat: update readers + tests
fdrgsp Jun 5, 2024
475d359
test: fix
fdrgsp Jun 5, 2024
d946059
fix: showMaximized
fdrgsp Jun 6, 2024
e80b1f6
test: update
fdrgsp Jun 5, 2024
0ae5fde
test: add more
fdrgsp Jun 5, 2024
ea50645
test: fix
fdrgsp Jun 5, 2024
b0f2ad9
test: test_mda_viewer_saving
fdrgsp Jun 6, 2024
7496379
test: rename
fdrgsp Jun 6, 2024
20aa326
fix: dependencies
fdrgsp Jun 6, 2024
b783248
fix: dependencies
fdrgsp Jun 6, 2024
dd12850
fix: readme
fdrgsp Jun 6, 2024
67addf6
fix: readme
fdrgsp Jun 6, 2024
7d6d948
fix: readme
fdrgsp Jun 6, 2024
35065dc
test: update
fdrgsp Jun 10, 2024
163b90e
test: update
fdrgsp Jun 10, 2024
fc5cb5a
feat: add axix labels to tensorstore reader
fdrgsp Jun 7, 2024
ec97e5e
test: fix
fdrgsp Jun 7, 2024
c101f7c
fix: annotations
fdrgsp Jun 7, 2024
979e67d
fix: use tuple
fdrgsp Jun 7, 2024
b2f8fc1
fix: update
fdrgsp Jun 7, 2024
a152482
fix: label
fdrgsp Jun 7, 2024
5f665a9
fix: update pymmcore-plus version
fdrgsp Jun 10, 2024
8af403a
fix: update stage widget
fdrgsp Jun 10, 2024
d3a7f45
fix: pyproject
fdrgsp Jun 13, 2024
0b80e55
fix: __future__
fdrgsp Jun 19, 2024
6622283
ci(pre-commit.ci): autoupdate
pre-commit-ci[bot] Jul 1, 2024
6b290f7
fix: prevent crash on exception
tlambert03 Jul 3, 2024
ab3d7eb
lint
tlambert03 Jul 3, 2024
6d7ecbf
fix: temporary pin pymmcore-plus ==0.10.2
fdrgsp Jul 7, 2024
998d934
feat: add install widget
tlambert03 Jul 3, 2024
4fc3040
fix: fix for pymmcore->=0.11.0
fdrgsp Jul 7, 2024
aa4518e
Update README.md
fdrgsp Jul 18, 2024
3810a82
ci(pre-commit.ci): autoupdate
pre-commit-ci[bot] Aug 5, 2024
a2ded92
fix: typo
fdrgsp Aug 19, 2024
3c1cdff
feat: update mda widget + stack viewer + tests
fdrgsp Oct 9, 2024
b139863
fix
fdrgsp Oct 9, 2024
83c22ca
rename
fdrgsp Oct 9, 2024
ede9f45
test: fix
fdrgsp Oct 9, 2024
805087f
ci(pre-commit.ci): autoupdate
pre-commit-ci[bot] Sep 2, 2024
ce04057
fix: comment
fdrgsp Sep 27, 2024
a25079c
ci(pre-commit.ci): autoupdate
pre-commit-ci[bot] Oct 7, 2024
b75f69b
test: fix
fdrgsp Oct 9, 2024
ef32d50
test: fix
fdrgsp Oct 9, 2024
17bcd48
fix: remove unused
fdrgsp Oct 9, 2024
c8abc37
fix: rename
fdrgsp Oct 9, 2024
aec3a73
fix: subclass MDAWidget instead
fdrgsp Oct 10, 2024
895d444
fix: fix _clear method in stage wiidget
fdrgsp Oct 19, 2024
d9a661c
fix: fix stage widget + test
fdrgsp Oct 19, 2024
e4dbad2
test: update
fdrgsp Oct 19, 2024
d6143a8
wip
fdrgsp Nov 3, 2024
972e58b
feat: use ndv
fdrgsp Nov 3, 2024
0a6b085
fix: test
fdrgsp Nov 3, 2024
dd18168
fix: add comment
fdrgsp Nov 3, 2024
deea305
fix: ndv in pyproject.toml
fdrgsp Nov 3, 2024
45c0639
fix: _restart_live
fdrgsp Nov 3, 2024
9dc90c2
feat: update readers
fdrgsp Nov 4, 2024
f676ffc
feat: update mm data_wrappers
fdrgsp Nov 4, 2024
56e0bd8
fix: fix readers
fdrgsp Nov 4, 2024
2b1e52b
fix: save button logic
fdrgsp Nov 4, 2024
378b377
feat: update wrapper save methods
fdrgsp Nov 4, 2024
80bc9f6
ci(pre-commit.ci): autoupdate
pre-commit-ci[bot] Nov 4, 2024
83772c8
test: fix
fdrgsp Nov 4, 2024
04db24b
test: fix
fdrgsp Nov 4, 2024
552d3e1
style(pre-commit.ci): auto fixes [...]
pre-commit-ci[bot] Nov 4, 2024
f3926f6
fix
fdrgsp Nov 4, 2024
0c412cc
feat: add console
fdrgsp Nov 4, 2024
c1e2e41
wip, try both qtconsole and pyqtconsole
fdrgsp Nov 5, 2024
7e9169a
fix: console
fdrgsp Nov 5, 2024
3b1561f
fix: update console
fdrgsp Nov 5, 2024
cfc0e9c
test: fix
fdrgsp Nov 5, 2024
c556202
feat: update console + console variables
fdrgsp Nov 5, 2024
46ee85a
feat: MDAWidget reader method
fdrgsp Nov 5, 2024
8f5c31b
fix: remove viewer form console when closed
fdrgsp Nov 5, 2024
ee12031
fix: console as dockwdg
fdrgsp Nov 5, 2024
1104789
fix: console
fdrgsp Nov 5, 2024
75d8695
fix: rename
fdrgsp Nov 5, 2024
316095f
Update README.md
fdrgsp Nov 6, 2024
5268acb
fix
fdrgsp Nov 6, 2024
5bb11c1
fix: merge methods
fdrgsp Nov 6, 2024
8385d59
fix: remove unused
fdrgsp Nov 6, 2024
5f276eb
fix: init writers folder
fdrgsp Nov 6, 2024
472cfac
fix return type
fdrgsp Nov 6, 2024
6b332f1
fix: enable_menubar
fdrgsp Nov 6, 2024
295e390
fix: hide 3d btn
fdrgsp Nov 9, 2024
8ef3611
feat: preview.image
fdrgsp Nov 10, 2024
b0d0478
fix: get_next_available_path
fdrgsp Nov 12, 2024
3b77288
move prop prowser to cfg menu
fdrgsp Nov 13, 2024
1c99d46
ci(dependabot): bump codecov/codecov-action from 4 to 5
dependabot[bot] Nov 18, 2024
5ca18b6
ci(pre-commit.ci): autoupdate
pre-commit-ci[bot] Dec 2, 2024
c1aece7
fix: unused
fdrgsp Dec 4, 2024
c81d806
fix: fix image size and reset
fdrgsp Dec 16, 2024
c15e1e4
fix: fix image size and reset
fdrgsp Dec 16, 2024
2262d03
fix: revert
fdrgsp Dec 16, 2024
c1590b0
fix
fdrgsp Dec 16, 2024
e382646
pin ndv
fdrgsp Dec 16, 2024
72b717c
bring in federico's gui
tlambert03 Dec 17, 2024
178d888
check in version and lockfile
tlambert03 Dec 17, 2024
2ef22a3
add uv tests
tlambert03 Dec 17, 2024
a902afb
remove zarr
tlambert03 Dec 17, 2024
a75a97e
uv run
tlambert03 Dec 17, 2024
8426271
update pdbpp
tlambert03 Dec 17, 2024
bc1d877
fix again
tlambert03 Dec 17, 2024
73f8ae2
changes to structure
tlambert03 Dec 17, 2024
7d12467
more move
tlambert03 Dec 17, 2024
27c63aa
update main
tlambert03 Dec 17, 2024
722311d
rip it out
tlambert03 Dec 18, 2024
b7af929
add pyinstaller
tlambert03 Dec 18, 2024
daf470d
more progress
tlambert03 Dec 20, 2024
6ec030f
pattern for widgets
tlambert03 Dec 22, 2024
d0a03e6
more stuff!!
tlambert03 Dec 23, 2024
8584a73
better exception logger
tlambert03 Dec 23, 2024
ab15b07
add stage widget
tlambert03 Dec 23, 2024
b7de873
show some defatuls
tlambert03 Dec 23, 2024
6269cbb
update pre-commit
tlambert03 Dec 23, 2024
b3af201
newline
tlambert03 Dec 23, 2024
7a7f7c2
fix pre-commit on CI
tlambert03 Dec 23, 2024
5980b63
add tests
tlambert03 Dec 23, 2024
7264681
move bundle, vendor code syntax
tlambert03 Dec 23, 2024
94e6052
add pyinstaller dev dep
tlambert03 Dec 23, 2024
99e1c92
more app bundle stuff
tlambert03 Dec 23, 2024
0cf57b1
bump stuff
tlambert03 Dec 24, 2024
0f9bfb3
no ubuntu bundle
tlambert03 Dec 24, 2024
2ea192c
change upload name
tlambert03 Dec 24, 2024
dd75990
ls all
tlambert03 Dec 24, 2024
26102ff
change windows dir
tlambert03 Dec 24, 2024
1a39293
create dmg
tlambert03 Dec 24, 2024
736c51b
fix test
tlambert03 Dec 24, 2024
2a0b0a5
style(pre-commit.ci): auto fixes [...]
pre-commit-ci[bot] Dec 24, 2024
ad9832a
fix ocommand
tlambert03 Dec 24, 2024
b64e4cd
Merge branch 'trim-gui' of https://github.com/tlambert03/pymmcore-gui…
tlambert03 Dec 24, 2024
e63ce68
linting
tlambert03 Dec 24, 2024
2f78aba
misc
tlambert03 Dec 24, 2024
16e8ebc
remove pdbpp
tlambert03 Dec 24, 2024
2454f40
use macos latest
tlambert03 Dec 24, 2024
e959814
maintain symlinks
tlambert03 Dec 24, 2024
92e797c
try rsync
tlambert03 Dec 24, 2024
034be3b
try zip
tlambert03 Dec 24, 2024
d382dc4
try different action
tlambert03 Dec 24, 2024
81fbe7b
name conflict
tlambert03 Dec 24, 2024
4eb0ea0
try ditto
tlambert03 Dec 24, 2024
9ee3e79
just dist folder
tlambert03 Dec 24, 2024
6e8c67c
back to fork
tlambert03 Dec 24, 2024
77cbf33
add more comments
tlambert03 Dec 24, 2024
61c152e
fix console on windows
tlambert03 Dec 24, 2024
3460938
style(pre-commit.ci): auto fixes [...]
pre-commit-ci[bot] Dec 24, 2024
e6aca69
change bundle name
tlambert03 Dec 24, 2024
e2ad9f5
Merge branch 'trim-gui' of https://github.com/tlambert03/pymmcore-gui…
tlambert03 Dec 24, 2024
b4fe735
stderr each separately
tlambert03 Dec 24, 2024
d47bb8c
more windows changes
tlambert03 Dec 24, 2024
c061e7a
add shutters
tlambert03 Dec 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
* pymmcore-gui version:
* Python version:
* Operating System:

### Description

Describe what you were trying to get done.
Tell us what happened, what went wrong, and what you expected to happen.

### What I Did

```
Paste the command(s) you ran and the output.
If there was a crash, please include the traceback here.
```
12 changes: 12 additions & 0 deletions .github/TEST_FAIL_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: "{{ env.TITLE }}"
labels: [bug]
---
The {{ workflow }} workflow failed on {{ date | date("YYYY-MM-DD HH:mm") }} UTC

The most recent failing test was on {{ env.PLATFORM }} py{{ env.PYTHON }}
with commit: {{ sha }}

Full run: https://github.com/{{ repo }}/actions/runs/{{ env.RUN_ID }}

(This post will be updated if another test fails, as long as this issue remains open.)
10 changes: 10 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
commit-message:
prefix: "ci(dependabot):"
55 changes: 55 additions & 0 deletions .github/workflows/bundle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Bundle app

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

on:
push:
branches: [main]
tags: [v*]
pull_request:
workflow_dispatch:

jobs:
bundle:
name: ${{ matrix.platform }}
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
platform: [macos-latest, windows-latest]

steps:
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v5
with:
version: "0.5.11"
enable-cache: true

- name: Install the project
run: uv sync --all-extras --dev

- name: Bundle
shell: bash
run: |
uv run pyinstaller app/mmgui.spec --clean --noconfirm
ls -la dist/mmgui

- name: Create DMG
if: runner.os == 'macos'
run: |
rm -rf dist/mmgui
rm -rf dist/.DS_Store

- name: Upload bundle
# upload-artifact@v2 does not preserve symlinks, this fork does
# https://github.com/actions/upload-artifact/issues/93#issuecomment-2304775030
# https://github.com/actions/upload-artifact/compare/main...eXhumer:0b7d5f5684d3f642f978d2faad9ade64f5b4dd57
uses: eXhumer/upload-artifact@0b7d5f5684d3f642f978d2faad9ade64f5b4dd57
with:
name: pymmgui-${{ runner.os }}
path: ${{ runner.os == 'macos' && 'dist' || runner.os == 'windows' && 'dist/mmgui' }}
follow-symlinks: false
87 changes: 87 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: CI

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

on:
push:
branches: [main]
tags: [v*]
pull_request:
workflow_dispatch:

jobs:
check-manifest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: pipx run check-manifest

test:
name: ${{ matrix.platform }}
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
platform: [macos-13, windows-latest]

steps:
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v5
with:
version: "0.5.11"
enable-cache: true

- uses: pyvista/setup-headless-display-action@v3
with:
qt: true

- name: Install the project
run: uv sync --all-extras --dev

- name: Install Micro-Manager
run: uv run mmcore install

- name: Test
run: uv run pytest -v --cov=pymmcore_gui --cov-report=xml --color=yes

- name: Coverage
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}

deploy:
name: Deploy
needs: test
if: success() && startsWith(github.ref, 'refs/tags/') && github.event_name != 'schedule'
runs-on: ubuntu-latest

permissions:
id-token: write
contents: write

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: 🐍 Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"

- name: 👷 Build
run: |
python -m pip install build
python -m build

- name: 🚢 Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1

- uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
files: "./dist/*"
33 changes: 2 additions & 31 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.DS_Store

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
Expand Down Expand Up @@ -26,12 +28,6 @@ share/python-wheels/
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt
Expand Down Expand Up @@ -82,31 +78,6 @@ target/
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/
Expand Down
32 changes: 32 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
ci:
autoupdate_schedule: monthly
autofix_commit_msg: "style(pre-commit.ci): auto fixes [...]"
autoupdate_commit_msg: "ci(pre-commit.ci): autoupdate"

repos:
- repo: https://github.com/abravalheri/validate-pyproject
rev: v0.23
hooks:
- id: validate-pyproject

- repo: https://github.com/crate-ci/typos
rev: v1.28.4
hooks:
- id: typos
args: [--force-exclude] # omitting --write-changes

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.8.4
hooks:
- id: ruff
args: [--fix, --unsafe-fixes]
- id: ruff-format

- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.14.0
hooks:
- id: mypy
files: "^src/"
additional_dependencies:
- pymmcore-plus >=0.11.0
# - PyQt6
1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.12
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BSD 3-Clause License

Copyright (c) 2024, Talley Lambert
Copyright (c) 2024, pymmcore-plus contributors

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
Expand Down
4 changes: 0 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ This is a stub repo for discussing a unified effort towards a GUI application fo

For now, this serves as place to store TODO issues and discussion items. Please open an issue if you are interested, (even just to say hi! 🙂)


## Existing Efforts

### napari-micromanager
Expand All @@ -39,11 +38,8 @@ One candidate to replace the viewing functionality provided by napari is [`ndv`]

<img width="1190" alt="Screenshot 2024-10-13 at 2 50 57 PM" src="https://github.com/user-attachments/assets/cd1d81aa-1bab-48ca-ad31-420dc08e72a5">


[`pymmcore-plus-sandbox`](https://github.com/gselzer/pymmcore-plus-sandbox) is another experimental standalone GUI written by Gabe Selzer ([@gselzer](https://github.com/gselzer) with input from [@marktsuchida](https://github.com/marktsuchida). One initial goal here is to create a main window that looks very similar to the java based MMStudio (which would make it familiar to existing users of the java ecosystem).

### LEB-EPFL

Willi Stepp ([@wl-stepp](https://github.com/wl-stepp)) has been an active contributor to pymmcore-widgets and uses some of these widgets in his event-driven microscopy controllers.


4 changes: 4 additions & 0 deletions app/hooks/hook-debugpy.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
from PyInstaller.utils.hooks import collect_all, collect_submodules

datas, binaries, hiddenimports = collect_all("debugpy")
hiddenimports += collect_submodules("xmlrpc")
3 changes: 3 additions & 0 deletions app/hooks/hook-pymmcore_widgets.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from PyInstaller.utils.hooks import collect_data_files

datas = collect_data_files("pymmcore_widgets")
5 changes: 5 additions & 0 deletions app/hooks/hook-superqt.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from PyInstaller.utils.hooks import collect_data_files, collect_entry_point

datas, hiddenimports = collect_entry_point("superqt.fonticon")
for hiddenimport in hiddenimports:
datas += collect_data_files(hiddenimport)
10 changes: 10 additions & 0 deletions app/hooks/hook-vispy.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from PyInstaller.utils.hooks import collect_data_files

datas = collect_data_files("vispy")

hiddenimports = [
"vispy.glsl",
"vispy.app.backends._pyqt6",
"vispy.app.backends._test",
"vispy.scene.visuals",
]
Binary file added app/icon.icns
Binary file not shown.
Binary file added app/icon.ico
Binary file not shown.
Loading
Loading