0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-13 19:21:50 +02:00

build: pyqt6 support dropped

This commit is contained in:
2025-01-30 15:53:38 +01:00
parent 4f8e6835fe
commit a20935e862
4 changed files with 24 additions and 31 deletions

View File

@ -148,7 +148,7 @@ tests:
- *clone-repos - *clone-repos
- *install-os-packages - *install-os-packages
- *install-repos - *install-repos
- pip install -e .[dev,pyqt6] - pip install -e .[dev,pyside6]
- coverage run --source=./bec_widgets -m pytest -v --junitxml=report.xml --maxfail=2 --random-order --full-trace ./tests/unit_tests - coverage run --source=./bec_widgets -m pytest -v --junitxml=report.xml --maxfail=2 --random-order --full-trace ./tests/unit_tests
- coverage report - coverage report
- coverage xml - coverage xml
@ -172,7 +172,6 @@ test-matrix:
- "3.12" - "3.12"
QT_PCKG: QT_PCKG:
- "pyside6" - "pyside6"
- "pyqt6"
stage: AdditionalTests stage: AdditionalTests
needs: [] needs: []
@ -211,7 +210,7 @@ end-2-end-conda:
- cd ../ - cd ../
- pip install -e ./ophyd_devices - pip install -e ./ophyd_devices
- pip install -e .[dev,pyqt6] - pip install -e .[dev,pyside6]
- cd ./tests/end-2-end - cd ./tests/end-2-end
- pytest -v --start-servers --flush-redis --random-order - pytest -v --start-servers --flush-redis --random-order

View File

@ -1,12 +1,17 @@
# BEC Widgets # BEC Widgets
**⚠️ Important Notice:**
🚨 **PyQt6 is no longer supported** due to incompatibilities with Qt Designer. Please use **PySide6** instead. 🚨
BEC Widgets is a GUI framework designed for interaction with [BEC (Beamline Experiment Control)](https://gitlab.psi.ch/bec/bec). BEC Widgets is a GUI framework designed for interaction with [BEC (Beamline Experiment Control)](https://gitlab.psi.ch/bec/bec).
## Installation ## Installation
Use the package manager [pip](https://pip.pypa.io/en/stable/) to install BEC Widgets: Use the package manager [pip](https://pip.pypa.io/en/stable/) to install BEC Widgets:
```bash ```bash
pip install bec_widgets PyQt6 pip install bec_widgets[pyside6]
``` ```
For development purposes, you can clone the repository and install the package locally in editable mode: For development purposes, you can clone the repository and install the package locally in editable mode:
@ -14,22 +19,12 @@ For development purposes, you can clone the repository and install the package l
```bash ```bash
git clone https://gitlab.psi.ch/bec/bec-widgets git clone https://gitlab.psi.ch/bec/bec-widgets
cd bec_widgets cd bec_widgets
pip install -e .[dev,pyqt6] pip install -e .[dev,pyside6]
``` ```
BEC Widgets currently supports both Pyside6 and PyQt6, however, no default distribution is specified. As a result, users must install one of the supported BEC Widgets now **only supports PySide6**. Users must manually install PySide6 as no default Qt distribution is
Python Qt distributions manually. specified.
To select a specific Python Qt distribution, install the package with an additional tag:
```bash
pip install bec_widgets[pyqt6]
```
or
```bash
pip install bec_widgets[pyside6]
```
## Documentation ## Documentation
Documentation of BEC Widgets can be found [here](https://bec-widgets.readthedocs.io/en/latest/). The documentation of the BEC can be found [here](https://bec.readthedocs.io/en/latest/). Documentation of BEC Widgets can be found [here](https://bec-widgets.readthedocs.io/en/latest/). The documentation of the BEC can be found [here](https://bec.readthedocs.io/en/latest/).
@ -39,7 +34,7 @@ Documentation of BEC Widgets can be found [here](https://bec-widgets.readthedocs
All commits should use the Angular commit scheme: All commits should use the Angular commit scheme:
> #### <a name="commit-header"></a>Angular Commit Message Header > #### <a name="commit-header"></a>Angular Commit Message Header
> >
> ``` > ```
> <type>(<scope>): <short summary> > <type>(<scope>): <short summary>
> │ │ │ > │ │ │
@ -53,13 +48,13 @@ All commits should use the Angular commit scheme:
> >
> └─⫸ Commit Type: build|ci|docs|feat|fix|perf|refactor|test > └─⫸ Commit Type: build|ci|docs|feat|fix|perf|refactor|test
> ``` > ```
> >
> The `<type>` and `<summary>` fields are mandatory, the `(<scope>)` field is optional. > The `<type>` and `<summary>` fields are mandatory, the `(<scope>)` field is optional.
> ##### Type > ##### Type
> >
> Must be one of the following: > Must be one of the following:
> >
> * **build**: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) > * **build**: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
> * **ci**: Changes to our CI configuration files and scripts (examples: CircleCi, SauceLabs) > * **ci**: Changes to our CI configuration files and scripts (examples: CircleCi, SauceLabs)
> * **docs**: Documentation only changes > * **docs**: Documentation only changes
@ -71,4 +66,5 @@ All commits should use the Angular commit scheme:
## License ## License
[BSD-3-Clause](https://choosealicense.com/licenses/bsd-3-clause/) [BSD-3-Clause](https://choosealicense.com/licenses/bsd-3-clause/)

View File

@ -9,25 +9,24 @@ Before installing BEC Widgets, please ensure the following requirements are met:
**Standard Installation** **Standard Installation**
To install BEC Widgets using the pip package manager, execute the following command in your terminal for getting the default PyQT6 version into your python environment for BEC: To install BEC Widgets using the pip package manager, execute the following command in your terminal for getting the
default PySide6 version into your python environment for BEC:
```bash
pip install 'bec_widgets[pyqt6]'
```
In case you want to use Pyside6, you can install it by using the following command:
```bash ```bash
pip install 'bec_widgets[pyside6]' pip install 'bec_widgets[pyside6]'
``` ```
**Troubleshooting** **Troubleshooting**
If you encounter issues during installation, particularly with PyQt, try purging the pip cache: If you encounter issues during installation, particularly with Qt, try purging the pip cache:
```bash ```bash
pip cache purge pip cache purge
``` ```
This can resolve conflicts or issues with package installations. This can resolve conflicts or issues with package installations.
```{warning}
At the moment PyQt6 is no longer officially supported by BEC Widgets due to incompatibilities with Qt Designer. Please use PySide6 instead.
```

View File

@ -37,7 +37,6 @@ dev = [
"pytest-xvfb~=3.0", "pytest-xvfb~=3.0",
"pytest~=8.0", "pytest~=8.0",
] ]
pyqt6 = ["PyQt6>=6.7", "PyQt6-WebEngine>=6.7"]
pyside6 = ["PySide6==6.7.2"] pyside6 = ["PySide6==6.7.2"]
[project.urls] [project.urls]