Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
6d1b8a2
Bump to version 4.22.0-dev0
PrimozGodec May 5, 2023
3ed6227
File dialog: Add as much path as necessary to make names unambiguous
janezd May 31, 2023
f92701f
MessageGroup.clear: Add argument owner
janezd Jun 5, 2023
c3dc767
Merge pull request #250 from janezd/msg-clear-with-owner
ales-erjavec Jun 16, 2023
83ca35d
ci: Update ubuntu image for PyQt6 6.5 tests
ales-erjavec Jun 16, 2023
ebc5230
Merge pull request #251 from ales-erjavec/ci/ubuntu
ales-erjavec Jun 16, 2023
381f6ed
Merge pull request #249 from janezd/file-dialog-ambignames
VesnaT Aug 25, 2023
a24ac4c
PngExporter: set displayed size after painting
markotoplak Sep 15, 2023
e05874f
Import forgotten numpy
markotoplak Sep 15, 2023
c817eed
Merge pull request #253 from markotoplak/fix-png-export-axes
markotoplak Sep 15, 2023
afa0638
Release version 4.22.0
PrimozGodec Sep 15, 2023
fd1fb70
Bump to 4.23.0.dev0
PrimozGodec Sep 15, 2023
bbcf5f3
readthedocs: Remove no longer supported 'system_packages'
ales-erjavec Oct 9, 2023
229c196
itemmodels: Remove use of private signals from PyTableModel
ales-erjavec Oct 10, 2023
13f897f
Merge pull request #254 from ales-erjavec/fixes/readthedocs-system-pa…
PrimozGodec Oct 13, 2023
5bad843
Merge pull request #255 from ales-erjavec/fixes/py-table-model-privat…
janezd Oct 13, 2023
cdeb73f
readthedocs: Add build.os key
ales-erjavec Oct 18, 2023
ca14485
ci: Add Python 3.12 to test matrices
ales-erjavec Oct 19, 2023
076639a
Merge pull request #257 from ales-erjavec/fixes/readthedocs-build-os
ales-erjavec Oct 20, 2023
cc4feec
Merge pull request #259 from ales-erjavec/ci/python3.12
PrimozGodec Nov 3, 2023
8d74124
CI: Constrain PyQt6-Qt6 version in tests
ales-erjavec Dec 8, 2023
74f4e41
Merge pull request #262 from ales-erjavec/ci/constrain-pyqt6
ales-erjavec Dec 8, 2023
2c6b4cf
gui: Replace use of pkg_resources
ales-erjavec Nov 2, 2023
0a6e896
widget: Replace use of pkg_resources
ales-erjavec Nov 8, 2023
893834f
report: Replace use of pkg_resources
ales-erjavec Nov 8, 2023
884fec5
workflow/config: Replace use of pkg_resources
ales-erjavec Nov 8, 2023
4c60532
errorreporting: Replace use of pkg_resources
ales-erjavec Nov 8, 2023
6cb68fa
docs/config: Replace use of pkg_resources
ales-erjavec Nov 8, 2023
f0be5a8
discovery: Replace use of pkg_resources
ales-erjavec Nov 10, 2023
1da86a2
setup.py: Bump required orange-canvas-core version to 0.2
ales-erjavec Nov 17, 2023
ea24f52
Merge pull request #260 from ales-erjavec/remove-pkg-resources
PrimozGodec Dec 14, 2023
98efb6b
Release version 4.23.0
ales-erjavec Dec 15, 2023
dae329d
Bump version to 4.24.0.dev0
ales-erjavec Dec 15, 2023
eebc02e
setup.py: Replace use of imp module
ales-erjavec Dec 22, 2023
31e1b65
Merge pull request #264 from ales-erjavec/fixes/setup-imp
PrimozGodec Dec 22, 2023
e4b668d
Add Slovenian translation and tests
janezd Jan 17, 2024
a95602c
Merge pull request #265 from janezd/slovenian-translation
janezd Jan 17, 2024
499df3a
gui.spinBox: Remove extraneous created widget box
ales-erjavec Jan 24, 2024
f8c5e4d
Merge pull request #266 from ales-erjavec/remove-gui-spin-extra-box
janezd Jan 24, 2024
15933dd
Use test-translations workflow from common repository
PrimozGodec Jan 26, 2024
fba1ea9
Merge pull request #267 from PrimozGodec/trubar
janezd Jan 26, 2024
94bb8d1
ci: Update various action versions
ales-erjavec Feb 9, 2024
b792eb8
WidgetTest: Pass extra kwargs in create_widget to the __new__
ales-erjavec Feb 15, 2024
6040f39
Merge pull request #268 from ales-erjavec/ci/update-action-versions
PrimozGodec Feb 16, 2024
6ddb801
Merge pull request #269 from ales-erjavec/widget-test-create-kwargs
janezd Feb 22, 2024
29a6da8
ListViewFilter: Retain selection when filtering (#270)
VesnaT May 14, 2024
2165c23
Remove window help button (#271)
thocevar May 17, 2024
5e73980
Release version 4.24.0
markotoplak May 27, 2024
326bed1
Bump version to 4.25.0.dev0
markotoplak May 27, 2024
ef2eb36
WidgetMessagesMixin: Fix message binding to not expect class attribut…
janezd Jun 6, 2024
f7eac7e
Merge pull request #273 from janezd/message-bind-no-eq
ales-erjavec Jun 7, 2024
1d621d0
ListViewFilter: Fix selection (#274)
VesnaT Jun 20, 2024
e75bdf8
ci: Replace deprecated macos-11 GH runners
ales-erjavec Jul 16, 2024
df37822
Merge pull request #277 from ales-erjavec/ci/replace-macos-11-runners
ales-erjavec Jul 16, 2024
513f894
Numpy 2.0 compatibility
ales-erjavec Jun 20, 2024
9ae212f
Merge pull request #276 from ales-erjavec/numpy2.0
markotoplak Jul 19, 2024
511f4be
open_filename_dialog: Allow reading *.*
janezd Sep 19, 2024
7c6f189
open_filename_dialog: gix docs:
markotoplak Sep 20, 2024
f84655f
Merge pull request #278 from janezd/open_filename_dialog-all-files
markotoplak Sep 20, 2024
7ddb5e1
Multilingual configuration
janezd Jun 11, 2024
899356e
Raise Python requirement to >=3.9
janezd Sep 20, 2024
8cea3f1
setup.py: Add translation
janezd Sep 20, 2024
4372813
Resolve missing translations
janezd Sep 20, 2024
fe4af13
add i18n config to the manifest
markotoplak Sep 20, 2024
70a53b3
Merge pull request #275 from janezd/multilingual
janezd Sep 20, 2024
78b95fc
add pyproject.toml with trubar
markotoplak Sep 20, 2024
b30b6ab
Build release on github actions
markotoplak Oct 10, 2024
d54133b
Build release: remove unused job
markotoplak Oct 10, 2024
49fad60
Release build: do not build docs (they are not distrubuted)
markotoplak Oct 10, 2024
8981db3
Release 4.25.0
markotoplak Oct 10, 2024
0affc1f
Bump dev version to 4.26.0
markotoplak Oct 10, 2024
96e530c
ci: Add Python 3.13 and PyQt 6.7 to test matrix
ales-erjavec Nov 8, 2024
d6d1b1c
ci: Update macos runner images
ales-erjavec Nov 8, 2024
08a3b2a
test_combobox: Remove test_empty
ales-erjavec Nov 8, 2024
05bbef6
Merge pull request #280 from ales-erjavec/ci/python3.13
markotoplak Nov 8, 2024
05a2d09
Report: Fix saving to PDF
janezd Dec 5, 2024
d932d5f
owreport: Add tests for saving to html and pdf
ales-erjavec Dec 6, 2024
39b8e9a
owreport: Use setPageSize(QPageSize(QPageSize.A4))
ales-erjavec Dec 6, 2024
c28fde3
Merge pull request #281 from janezd/report-to-pdf
janezd Dec 6, 2024
0392606
Release 4.25.1
markotoplak Dec 23, 2024
ae29dd0
Bump dev version to 4.26.0
markotoplak Dec 23, 2024
e98e6d1
Bump minimum python version to 3.10
VesnaT Jan 24, 2025
6de8d8f
Merge pull request #283 from VesnaT/python310
ales-erjavec Feb 7, 2025
e882983
widget: Add all actions to top level widget
ales-erjavec Feb 12, 2025
950fc29
Merge pull request #284 from ales-erjavec/action-shortcuts-hidden-men…
markotoplak Feb 14, 2025
1c9592f
Release 4.26.0
markotoplak Jun 13, 2025
aeef186
add processing message state
payno Jun 22, 2023
2678e90
Merge branch 'master' into 4.26
payno Sep 16, 2025
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
76 changes: 76 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: Release
on:
release:
types: [published]
workflow_dispatch:

jobs:
build_dist_files:
# Build source distribution and wheel if package is pure python
name: Build distribution files
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Install build tool
run: python -m pip install build

- name: Build sdist
run: python -m build --sdist .

- name: Build wheel
run: python -m build --wheel .

- name: Upload dist files
uses: actions/upload-artifact@v4
with:
name: dist-sdist
path: dist/*

upload_release_assets:
name: Upload Release Assets
needs: [build_dist_files]
# run eventhough job in need is skipped
if: always() && !failure() && !cancelled() && startsWith(github.ref, 'refs/tags')
runs-on: ubuntu-latest

steps:
- uses: actions/download-artifact@v4
with:
# unpacks all dist artifacts into dist/
pattern: dist-*
path: dist
merge-multiple: true

- name: Upload to release
uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: dist/*.whl

pypi_publish:
name: PyPI Publish
needs: [build_dist_files]
runs-on: ubuntu-latest
permissions:
id-token: write # this permission is mandatory for trusted publishing
# run eventhough job in need is skipped
if: always() && !failure() && !cancelled() && startsWith(github.ref, 'refs/tags')

steps:
- uses: actions/download-artifact@v4
with:
# unpacks all dist artifacts into dist/
pattern: dist-*
path: dist
merge-multiple: true

- name: Publish packages to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
packages_dir: dist/
8 changes: 4 additions & 4 deletions .github/workflows/run-docs-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,17 @@ jobs:
matrix:
include:
- os: ubuntu-22.04
python: 3.8
python: "3.10"

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}

- name: Setup Pip Cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: .pip-cache
key: ${{ runner.os }}-py-${{ matrix.python }}-pip-${{ hashFiles('setup.*', '.github/workflows/run-docs-build.yml') }}
Expand Down
80 changes: 35 additions & 45 deletions .github/workflows/run-tests-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,6 @@ jobs:
matrix:
include:
# Linux
- os: ubuntu-20.04
python-version: 3.7
test-env: "PyQt5~=5.9.2 pyqtgraph~=0.11.0"

- os: ubuntu-20.04
python-version: 3.8
test-env: "PyQt5~=5.12.1 PyQtWebEngine~=5.12.1"

- os: ubuntu-20.04
python-version: 3.9
test-env: "PyQt5~=5.14.0 PyQtWebEngine~=5.14.0"

- os: ubuntu-20.04
python-version: "3.10"
test-env: "PyQt5~=5.15.0 PyQtWebEngine~=5.15.0"
Expand All @@ -42,49 +30,43 @@ jobs:
test-env: "PyQt6~=6.2.3 PyQt6-Qt6~=6.2.3 PyQt6-WebEngine~=6.2.1 PyQt6-WebEngine-Qt6~=6.2.1"
extra-system-packages: "libegl1-mesa"

- os: ubuntu-20.04
- os: ubuntu-22.04
python-version: "3.11"
test-env: "PyQt6~=6.5.0 PyQt6-Qt6~=6.5.0 PyQt6-WebEngine~=6.5.0 PyQt6-WebEngine-Qt6~=6.5.0"
extra-system-packages: "libegl1-mesa libxcb-cursor0"
extra-system-packages: "libegl1-mesa libxcb-cursor0 glibc-tools"

# macOS
- os: macos-11
python-version: 3.7
test-env: "PyQt5~=5.12.1 PyQtWebEngine~=5.12.1"

- os: macos-11
python-version: 3.8
test-env: "PyQt5~=5.14.0 PyQtWebEngine~=5.14.0"
- os: ubuntu-22.04
python-version: "3.12"
test-env: "PyQt6~=6.5.0 PyQt6-Qt6~=6.5.0 PyQt6-WebEngine~=6.5.0 PyQt6-WebEngine-Qt6~=6.5.0"
extra-system-packages: "libegl1-mesa libxcb-cursor0 glibc-tools"

- os: macos-11
python-version: 3.9
test-env: "PyQt5~=5.15.0 PyQtWebEngine~=5.15.0"
- os: ubuntu-22.04
python-version: "3.13"
test-env: "PyQt6~=6.7.0 PyQt6-Qt6~=6.7.0 PyQt6-WebEngine~=6.7.0 PyQt6-WebEngine-Qt6~=6.7.0"
extra-system-packages: "libegl1-mesa libxcb-cursor0 glibc-tools"

- os: macos-12
# macOS
- os: macos-14
python-version: "3.10"
test-env: "PyQt5~=5.15.0 PyQtWebEngine~=5.15.0"

- os: macos-12
- os: macos-14
python-version: "3.11"
test-env: "PyQt6~=6.2.3 PyQt6-WebEngine~=6.2.1"
test-env: "PyQt6~=6.2.3 PyQt6-Qt6~=6.2.3 PyQt6-WebEngine~=6.2.1 PyQt6-WebEngine-Qt6~=6.2.1"

- os: macos-12
- os: macos-latest
python-version: "3.11"
test-env: "PyQt6~=6.5.0 PyQt6-Qt6~=6.5.0 PyQt6-WebEngine~=6.5.0 PyQt6-WebEngine-Qt6~=6.5.0"

# Windows
- os: windows-2019
python-version: 3.7
test-env: "PyQt5~=5.9.2 pyqtgraph~=0.11.0"

- os: windows-2019
python-version: 3.8
test-env: "PyQt5~=5.12.1 PyQtWebEngine~=5.12.1"
- os: macos-latest
python-version: "3.12"
test-env: "PyQt6~=6.5.0 PyQt6-Qt6~=6.5.0 PyQt6-WebEngine~=6.5.0 PyQt6-WebEngine-Qt6~=6.5.0"

- os: windows-2019
python-version: 3.9
test-env: "PyQt5~=5.15.0 PyQtWebEngine~=5.15.0"
- os: macos-latest
python-version: "3.13"
test-env: "PyQt6~=6.7.0 PyQt6-Qt6~=6.7.0 PyQt6-WebEngine~=6.7.0 PyQt6-WebEngine-Qt6~=6.7.0"

# Windows
- os: windows-2019
python-version: "3.10"
test-env: "PyQt5~=5.15.0 PyQtWebEngine~=5.15.0"
Expand All @@ -101,10 +83,18 @@ jobs:
python-version: "3.11"
test-env: "PyQt6~=6.5.0 PyQt6-Qt6~=6.5.0 PyQt6-WebEngine~=6.5.0 PyQt6-WebEngine-Qt6~=6.5.0"

- os: windows-2019
python-version: "3.12"
test-env: "PyQt6~=6.5.0 PyQt6-Qt6~=6.5.0 PyQt6-WebEngine~=6.5.0 PyQt6-WebEngine-Qt6~=6.5.0"

- os: windows-2019
python-version: "3.13"
test-env: "PyQt6~=6.7.0 PyQt6-Qt6~=6.7.0 PyQt6-WebEngine~=6.7.0 PyQt6-WebEngine-Qt6~=6.7.0"

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -118,7 +108,7 @@ jobs:
sudo apt-get install -y libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libxcb-shape0 $PACKAGES

- name: Setup Pip Cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: .pip-cache
key: ${{ runner.os }}-py-${{ matrix.python-version }}-pip-${{ hashFiles('setup.*', '.github/workflows/run-tests-workflow.yml') }}
Expand Down Expand Up @@ -153,6 +143,6 @@ jobs:
coverage xml

- name: Upload Coverage
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
15 changes: 15 additions & 0 deletions .github/workflows/test-translations.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Check translations

on:
push:
branches:
- master
pull_request:
branches:
- master

jobs:
test-translations:
uses: biolab/orange-ci-cd/.github/workflows/test-translations.yml@master
with:
package-dir: orangewidget
12 changes: 9 additions & 3 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
version: 2

sphinx:
# Path to your Sphinx configuration file.
configuration: doc/source/conf.py

build:
os: ubuntu-22.04
tools:
python: "3.10"

python:
version: 3.8
install:
- requirements: doc/requirements-rtd.txt
# no - method: pip here, -e . is already in doc/requirements-rtd.txt

system_packages: true
3 changes: 3 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@ include README.md
include CONTRIBUTING.md
include LICENSE
include setup.py
include pyproject.toml

recursive-include i18n *.jaml *.yaml
2 changes: 1 addition & 1 deletion doc/requirements-rtd.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
--only-binary PyQt5,matplotlib

setuptools
sphinx~=4.2.0
sphinx~=7.4.7
AnyQt
PyQt5~=5.12.1
PyQtWebengine~=5.12.1
Expand Down
10 changes: 5 additions & 5 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
import os
import shlex

import pkg_resources
dist = pkg_resources.get_distribution("orange-widget-base")
from importlib.metadata import distribution
dist = distribution("orange-widget-base")

# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
Expand Down Expand Up @@ -52,7 +52,7 @@
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
# source_suffix = ['.rst', '.md']
source_suffix = '.rst'
source_suffix = {'.rst': 'restructuredtext'}

# The encoding of source files.
#source_encoding = 'utf-8-sig'
Expand Down Expand Up @@ -371,6 +371,6 @@

# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {
'https://docs.python.org/3/': None,
'https://orange-canvas-core.readthedocs.io/en/latest/': None,
'python': ('https://docs.python.org/3', None),
'orangecanvas': ('https://orange-canvas-core.readthedocs.io/en/latest/', None),
}
Loading
Loading