qt-property-widgets 0.9.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. qt_property_widgets-0.9.0/.gitattributes +2 -0
  2. qt_property_widgets-0.9.0/.github/actions/setup-python-env/action.yml +30 -0
  3. qt_property_widgets-0.9.0/.github/workflows/main.yml +69 -0
  4. qt_property_widgets-0.9.0/.github/workflows/on-release-main.yml +86 -0
  5. qt_property_widgets-0.9.0/.github/workflows/validate-codecov-config.yml +15 -0
  6. qt_property_widgets-0.9.0/.gitignore +343 -0
  7. qt_property_widgets-0.9.0/.pre-commit-config.yaml +23 -0
  8. qt_property_widgets-0.9.0/.prettierignore +1 -0
  9. qt_property_widgets-0.9.0/CONTRIBUTING.md +1 -0
  10. qt_property_widgets-0.9.0/LICENSE +7 -0
  11. qt_property_widgets-0.9.0/MANIFEST.in +1 -0
  12. qt_property_widgets-0.9.0/Makefile +47 -0
  13. qt_property_widgets-0.9.0/PKG-INFO +42 -0
  14. qt_property_widgets-0.9.0/README.md +20 -0
  15. qt_property_widgets-0.9.0/codecov.yaml +9 -0
  16. qt_property_widgets-0.9.0/docs/assets/favicon.ico +0 -0
  17. qt_property_widgets-0.9.0/docs/contributing.md +1 -0
  18. qt_property_widgets-0.9.0/docs/css/material.css +4 -0
  19. qt_property_widgets-0.9.0/docs/css/mkdocstrings.css +27 -0
  20. qt_property_widgets-0.9.0/docs/index.md +6 -0
  21. qt_property_widgets-0.9.0/docs/license.md +10 -0
  22. qt_property_widgets-0.9.0/docs/modules.md +1 -0
  23. qt_property_widgets-0.9.0/examples/README.md +0 -0
  24. qt_property_widgets-0.9.0/mkdocs.yml +146 -0
  25. qt_property_widgets-0.9.0/mypy.ini +11 -0
  26. qt_property_widgets-0.9.0/pyproject.toml +88 -0
  27. qt_property_widgets-0.9.0/ruff.toml +79 -0
  28. qt_property_widgets-0.9.0/src/qt_property_widgets/__init__.py +13 -0
  29. qt_property_widgets-0.9.0/src/qt_property_widgets/assets/arrow-down.svg +65 -0
  30. qt_property_widgets-0.9.0/src/qt_property_widgets/assets/arrow-right.svg +65 -0
  31. qt_property_widgets-0.9.0/src/qt_property_widgets/assets/trash.svg +40 -0
  32. qt_property_widgets-0.9.0/src/qt_property_widgets/color_dialog.py +425 -0
  33. qt_property_widgets-0.9.0/src/qt_property_widgets/expander.py +245 -0
  34. qt_property_widgets-0.9.0/src/qt_property_widgets/py.typed +0 -0
  35. qt_property_widgets-0.9.0/src/qt_property_widgets/utilities.py +445 -0
  36. qt_property_widgets-0.9.0/src/qt_property_widgets/widgets.py +1509 -0
  37. qt_property_widgets-0.9.0/tests/__init__.py +7 -0
  38. qt_property_widgets-0.9.0/tests/conftest.py +1 -0
  39. qt_property_widgets-0.9.0/tox.ini +18 -0
  40. qt_property_widgets-0.9.0/uv.lock +1329 -0
@@ -0,0 +1,2 @@
1
+ *.mp4 filter=lfs diff=lfs merge=lfs -text
2
+ *.mjpeg filter=lfs diff=lfs merge=lfs -text
@@ -0,0 +1,30 @@
1
+ name: "Setup Python Environment"
2
+ description: "Set up Python environment for the given Python version"
3
+
4
+ inputs:
5
+ python-version:
6
+ description: "Python version to use"
7
+ required: true
8
+ default: "3.12"
9
+ uv-version:
10
+ description: "uv version to use"
11
+ required: true
12
+ default: "0.6.5"
13
+
14
+ runs:
15
+ using: "composite"
16
+ steps:
17
+ - uses: actions/setup-python@v5
18
+ with:
19
+ python-version: ${{ inputs.python-version }}
20
+
21
+ - name: Install uv
22
+ uses: astral-sh/setup-uv@v5
23
+ with:
24
+ version: ${{ inputs.uv-version }}
25
+ enable-cache: "true"
26
+ cache-suffix: ${{ matrix.python-version }}
27
+
28
+ - name: Install Python dependencies
29
+ run: uv sync --frozen
30
+ shell: bash
@@ -0,0 +1,69 @@
1
+ name: Main
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ types: [opened, synchronize, reopened, ready_for_review]
9
+ workflow_dispatch: # this makes the action manual
10
+
11
+ jobs:
12
+ quality:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - name: Check out
16
+ uses: actions/checkout@v4
17
+ - uses: actions/cache@v4
18
+ with:
19
+ path: ~/.cache/pre-commit
20
+ key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
21
+
22
+ - name: Set up the environment
23
+ uses: ./.github/actions/setup-python-env
24
+
25
+ - name: Run checks
26
+ run: make check
27
+
28
+ tests-and-type-check:
29
+ runs-on: ubuntu-latest
30
+ strategy:
31
+ matrix:
32
+ python-version: ["3.10", "3.11", "3.12", "3.13"]
33
+ fail-fast: false
34
+ defaults:
35
+ run:
36
+ shell: bash
37
+ steps:
38
+ - name: Check out
39
+ uses: actions/checkout@v4
40
+ with:
41
+ lfs: "true"
42
+ - name: Set up the environment
43
+ uses: ./.github/actions/setup-python-env
44
+ with:
45
+ python-version: ${{ matrix.python-version }}
46
+
47
+ - name: Run tests
48
+ run: uv run python -m pytest tests --cov --cov-config=pyproject.toml --cov-report=html
49
+
50
+ - name: Check typing
51
+ run: uv run mypy
52
+
53
+ docs:
54
+ runs-on: ubuntu-latest
55
+ steps:
56
+ - name: Check out
57
+ uses: actions/checkout@v4
58
+ with:
59
+ lfs: "true"
60
+
61
+ - name: Set up the environment
62
+ uses: ./.github/actions/setup-python-env
63
+
64
+ - name: Deploy latest docs
65
+ run: |
66
+ git fetch origin gh-pages --depth=1
67
+ git config user.name "github-actions[bot]"
68
+ git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
69
+ uv run mike deploy dev --push
@@ -0,0 +1,86 @@
1
+ name: release-main
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ branches: [main]
7
+
8
+ jobs:
9
+ deploy-docs:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - name: Check out
13
+ uses: actions/checkout@v4
14
+
15
+ - name: Set up the environment
16
+ uses: ./.github/actions/setup-python-env
17
+
18
+ - name: Deploy documentation
19
+ run: |
20
+ git fetch origin gh-pages --depth=1
21
+ git config user.name "github-actions[bot]"
22
+ git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
23
+ uv run mike deploy ${{ github.ref_name }} --push
24
+
25
+ build:
26
+ name: Build distribution 📦
27
+ runs-on: ubuntu-latest
28
+
29
+ steps:
30
+ - uses: actions/checkout@v4
31
+ with:
32
+ persist-credentials: false
33
+ - name: Set up Python
34
+ uses: actions/setup-python@v5
35
+ with:
36
+ python-version: "3.x"
37
+ - name: Install pypa/build
38
+ run: >-
39
+ python3 -m
40
+ pip install
41
+ build
42
+ --user
43
+ - name: Build a binary wheel and a source tarball
44
+ run: python3 -m build
45
+ - name: Store the distribution packages
46
+ uses: actions/upload-artifact@v4
47
+ with:
48
+ name: python-package-distributions
49
+ path: dist/
50
+
51
+ publish-to-pypi:
52
+ name: >-
53
+ Publish Python 🐍 distribution 📦 to PyPI
54
+ if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
55
+ needs:
56
+ - build
57
+ runs-on: ubuntu-latest
58
+ environment:
59
+ name: pypi
60
+ url: https://pypi.org/p/qt-property-widgets
61
+ permissions:
62
+ id-token: write # IMPORTANT: mandatory for trusted publishing
63
+ steps:
64
+ - name: Download all the dists
65
+ uses: actions/download-artifact@v4
66
+ with:
67
+ name: python-package-distributions
68
+ path: dist/
69
+ - name: Publish distribution 📦 to PyPI
70
+ uses: pypa/gh-action-pypi-publish@release/v1
71
+
72
+ attach-to-release:
73
+ name: Attach distribution 📦 to GitHub Release
74
+ needs:
75
+ - build
76
+ runs-on: ubuntu-latest
77
+ steps:
78
+ - name: Download all the dists
79
+ uses: actions/download-artifact@v4
80
+ with:
81
+ name: python-package-distributions
82
+ path: dist/
83
+ - name: Upload assets to the release
84
+ uses: softprops/action-gh-release@v2
85
+ with:
86
+ files: dist/*
@@ -0,0 +1,15 @@
1
+ name: validate-codecov-config
2
+
3
+ on:
4
+ pull_request:
5
+ paths: [codecov.yaml]
6
+ push:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ validate-codecov-config:
11
+ runs-on: ubuntu-22.04
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+ - name: Validate codecov configuration
15
+ run: curl -sSL --fail-with-body --data-binary @codecov.yaml https://codecov.io/validate
@@ -0,0 +1,343 @@
1
+ version.py
2
+ examples/data/
3
+ .vscode/
4
+
5
+ # Created by https://www.toptal.com/developers/gitignore/api/python,visualstudiocode,macos,windows,linux,pycharm
6
+ # Edit at https://www.toptal.com/developers/gitignore?templates=python,visualstudiocode,macos,windows,linux,pycharm
7
+
8
+ ### Linux ###
9
+ *~
10
+
11
+ # temporary files which can be created if a process still has a handle open of a deleted file
12
+ .fuse_hidden*
13
+
14
+ # KDE directory preferences
15
+ .directory
16
+
17
+ # Linux trash folder which might appear on any partition or disk
18
+ .Trash-*
19
+
20
+ # .nfs files are created when an open file is removed but is still being accessed
21
+ .nfs*
22
+
23
+ ### macOS ###
24
+ # General
25
+ .DS_Store
26
+ .AppleDouble
27
+ .LSOverride
28
+
29
+ # Icon must end with two \r
30
+ Icon
31
+
32
+
33
+ # Thumbnails
34
+ ._*
35
+
36
+ # Files that might appear in the root of a volume
37
+ .DocumentRevisions-V100
38
+ .fseventsd
39
+ .Spotlight-V100
40
+ .TemporaryItems
41
+ .Trashes
42
+ .VolumeIcon.icns
43
+ .com.apple.timemachine.donotpresent
44
+
45
+ # Directories potentially created on remote AFP share
46
+ .AppleDB
47
+ .AppleDesktop
48
+ Network Trash Folder
49
+ Temporary Items
50
+ .apdisk
51
+
52
+ ### PyCharm ###
53
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
54
+ # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
55
+
56
+ # User-specific stuff
57
+ .idea/**/workspace.xml
58
+ .idea/**/tasks.xml
59
+ .idea/**/usage.statistics.xml
60
+ .idea/**/dictionaries
61
+ .idea/**/shelf
62
+
63
+ # AWS User-specific
64
+ .idea/**/aws.xml
65
+
66
+ # Generated files
67
+ .idea/**/contentModel.xml
68
+
69
+ # Sensitive or high-churn files
70
+ .idea/**/dataSources/
71
+ .idea/**/dataSources.ids
72
+ .idea/**/dataSources.local.xml
73
+ .idea/**/sqlDataSources.xml
74
+ .idea/**/dynamic.xml
75
+ .idea/**/uiDesigner.xml
76
+ .idea/**/dbnavigator.xml
77
+
78
+ # Gradle
79
+ .idea/**/gradle.xml
80
+ .idea/**/libraries
81
+
82
+ # Gradle and Maven with auto-import
83
+ # When using Gradle or Maven with auto-import, you should exclude module files,
84
+ # since they will be recreated, and may cause churn. Uncomment if using
85
+ # auto-import.
86
+ # .idea/artifacts
87
+ # .idea/compiler.xml
88
+ # .idea/jarRepositories.xml
89
+ # .idea/modules.xml
90
+ # .idea/*.iml
91
+ # .idea/modules
92
+ # *.iml
93
+ # *.ipr
94
+
95
+ # CMake
96
+ cmake-build-*/
97
+
98
+ # Mongo Explorer plugin
99
+ .idea/**/mongoSettings.xml
100
+
101
+ # File-based project format
102
+ *.iws
103
+
104
+ # IntelliJ
105
+ out/
106
+
107
+ # mpeltonen/sbt-idea plugin
108
+ .idea_modules/
109
+
110
+ # JIRA plugin
111
+ atlassian-ide-plugin.xml
112
+
113
+ # Cursive Clojure plugin
114
+ .idea/replstate.xml
115
+
116
+ # Crashlytics plugin (for Android Studio and IntelliJ)
117
+ com_crashlytics_export_strings.xml
118
+ crashlytics.properties
119
+ crashlytics-build.properties
120
+ fabric.properties
121
+
122
+ # Editor-based Rest Client
123
+ .idea/httpRequests
124
+
125
+ # Android studio 3.1+ serialized cache file
126
+ .idea/caches/build_file_checksums.ser
127
+
128
+ ### PyCharm Patch ###
129
+ # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
130
+
131
+ # *.iml
132
+ # modules.xml
133
+ # .idea/misc.xml
134
+ # *.ipr
135
+
136
+ # Sonarlint plugin
137
+ # https://plugins.jetbrains.com/plugin/7973-sonarlint
138
+ .idea/**/sonarlint/
139
+
140
+ # SonarQube Plugin
141
+ # https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
142
+ .idea/**/sonarIssues.xml
143
+
144
+ # Markdown Navigator plugin
145
+ # https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
146
+ .idea/**/markdown-navigator.xml
147
+ .idea/**/markdown-navigator-enh.xml
148
+ .idea/**/markdown-navigator/
149
+
150
+ # Cache file creation bug
151
+ # See https://youtrack.jetbrains.com/issue/JBR-2257
152
+ .idea/$CACHE_FILE$
153
+
154
+ # CodeStream plugin
155
+ # https://plugins.jetbrains.com/plugin/12206-codestream
156
+ .idea/codestream.xml
157
+
158
+ ### Python ###
159
+ # Byte-compiled / optimized / DLL files
160
+ __pycache__/
161
+ *.py[cod]
162
+ *$py.class
163
+
164
+ # C extensions
165
+ *.so
166
+
167
+ # Distribution / packaging
168
+ .Python
169
+ build/
170
+ develop-eggs/
171
+ dist/
172
+ downloads/
173
+ eggs/
174
+ .eggs/
175
+ lib/
176
+ lib64/
177
+ parts/
178
+ sdist/
179
+ var/
180
+ wheels/
181
+ share/python-wheels/
182
+ *.egg-info/
183
+ .installed.cfg
184
+ *.egg
185
+ MANIFEST
186
+
187
+ # PyInstaller
188
+ # Usually these files are written by a python script from a template
189
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
190
+ *.manifest
191
+ *.spec
192
+
193
+ # Installer logs
194
+ pip-log.txt
195
+ pip-delete-this-directory.txt
196
+
197
+ # Unit test / coverage reports
198
+ htmlcov/
199
+ .tox/
200
+ .nox/
201
+ .coverage
202
+ .coverage.*
203
+ .cache
204
+ nosetests.xml
205
+ coverage.xml
206
+ *.cover
207
+ *.py,cover
208
+ .hypothesis/
209
+ .pytest_cache/
210
+ cover/
211
+
212
+ # Translations
213
+ *.mo
214
+ *.pot
215
+
216
+ # Django stuff:
217
+ *.log
218
+ local_settings.py
219
+ db.sqlite3
220
+ db.sqlite3-journal
221
+
222
+ # Flask stuff:
223
+ instance/
224
+ .webassets-cache
225
+
226
+ # Scrapy stuff:
227
+ .scrapy
228
+
229
+ # Sphinx documentation
230
+ docs/_build/
231
+
232
+ # PyBuilder
233
+ .pybuilder/
234
+ target/
235
+
236
+ # Jupyter Notebook
237
+ .ipynb_checkpoints
238
+
239
+ # IPython
240
+ profile_default/
241
+ ipython_config.py
242
+
243
+ # pyenv
244
+ # For a library or package, you might want to ignore these files since the code is
245
+ # intended to run in multiple environments; otherwise, check them in:
246
+ # .python-version
247
+
248
+ # pipenv
249
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
250
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
251
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
252
+ # install all needed dependencies.
253
+ #Pipfile.lock
254
+
255
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
256
+ __pypackages__/
257
+
258
+ # Celery stuff
259
+ celerybeat-schedule
260
+ celerybeat.pid
261
+
262
+ # SageMath parsed files
263
+ *.sage.py
264
+
265
+ # Environments
266
+ .env
267
+ .venv
268
+ env/
269
+ venv/
270
+ ENV/
271
+ env.bak/
272
+ venv.bak/
273
+
274
+ # Spyder project settings
275
+ .spyderproject
276
+ .spyproject
277
+
278
+ # Rope project settings
279
+ .ropeproject
280
+
281
+ # mkdocs documentation
282
+ /site
283
+
284
+ # mypy
285
+ .mypy_cache/
286
+ .dmypy.json
287
+ dmypy.json
288
+
289
+ # Pyre type checker
290
+ .pyre/
291
+
292
+ # pytype static type analyzer
293
+ .pytype/
294
+
295
+ # Cython debug symbols
296
+ cython_debug/
297
+
298
+ ### VisualStudioCode ###
299
+ .vscode/*
300
+ !.vscode/settings.json
301
+ !.vscode/tasks.json
302
+ !.vscode/launch.json
303
+ !.vscode/extensions.json
304
+ *.code-workspace
305
+
306
+ # Local History for Visual Studio Code
307
+ .history/
308
+
309
+ ### VisualStudioCode Patch ###
310
+ # Ignore all local history of files
311
+ .history
312
+ .ionide
313
+
314
+ # Support for Project snippet scope
315
+ !.vscode/*.code-snippets
316
+
317
+ ### Windows ###
318
+ # Windows thumbnail cache files
319
+ Thumbs.db
320
+ Thumbs.db:encryptable
321
+ ehthumbs.db
322
+ ehthumbs_vista.db
323
+
324
+ # Dump file
325
+ *.stackdump
326
+
327
+ # Folder config file
328
+ [Dd]esktop.ini
329
+
330
+ # Recycle Bin used on file shares
331
+ $RECYCLE.BIN/
332
+
333
+ # Windows Installer files
334
+ *.cab
335
+ *.msi
336
+ *.msix
337
+ *.msm
338
+ *.msp
339
+
340
+ # Windows shortcuts
341
+ *.lnk
342
+
343
+ # End of https://www.toptal.com/developers/gitignore/api/python,visualstudiocode,macos,windows,linux,pycharm
@@ -0,0 +1,23 @@
1
+ repos:
2
+ - repo: https://github.com/pre-commit/pre-commit-hooks
3
+ rev: "v5.0.0"
4
+ hooks:
5
+ - id: check-case-conflict
6
+ - id: check-merge-conflict
7
+ - id: check-toml
8
+ - id: check-yaml
9
+ args: [--unsafe]
10
+ - id: end-of-file-fixer
11
+ - id: trailing-whitespace
12
+
13
+ - repo: https://github.com/astral-sh/ruff-pre-commit
14
+ rev: "v0.8.1"
15
+ hooks:
16
+ - id: ruff
17
+ args: [--exit-non-zero-on-fix]
18
+ - id: ruff-format
19
+
20
+ - repo: https://github.com/pre-commit/mirrors-prettier
21
+ rev: "v3.0.3"
22
+ hooks:
23
+ - id: prettier
@@ -0,0 +1 @@
1
+ tests/data
@@ -0,0 +1 @@
1
+ # Developer
@@ -0,0 +1,7 @@
1
+ Copyright © 2025 Dominic Canare
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1 @@
1
+ recursive-include src/qt_property_widgets/assets *
@@ -0,0 +1,47 @@
1
+ .PHONY: install
2
+ install: ## Install the virtual environment and install the pre-commit hooks
3
+ @echo "🚀 Creating virtual environment using uv"
4
+ @uv sync
5
+ @uv run pre-commit install
6
+
7
+ .PHONY: check
8
+ check: ## Run code quality tools.
9
+ @echo "🚀 Checking lock file consistency with 'pyproject.toml'"
10
+ @uv lock --locked
11
+ @echo "🚀 Linting code: Running pre-commit"
12
+ @uv run pre-commit run -a
13
+ @echo "🚀 Static type checking: Running mypy"
14
+ @uv run mypy
15
+ @echo "🚀 Checking for obsolete dependencies: Running deptry"
16
+ @uv run deptry .
17
+
18
+ .PHONY: test
19
+ test: ## Test the code with pytest
20
+ @echo "🚀 Testing code: Running pytest"
21
+ @uv run python -m pytest --cov --cov-config=pyproject.toml --cov-report=html
22
+
23
+ .PHONY: build
24
+ build: clean-build ## Build wheel file
25
+ @echo "🚀 Creating wheel file"
26
+ @uvx --from build pyproject-build --installer uv
27
+
28
+ .PHONY: clean-build
29
+ clean-build: ## Clean build artifacts
30
+ @echo "🚀 Removing build artifacts"
31
+ @uv run python -c "import shutil; import os; shutil.rmtree('dist') if os.path.exists('dist') else None"
32
+
33
+
34
+ .PHONY: docs-test
35
+ docs-test: ## Test if documentation can be built without warnings or errors
36
+ @uv run mkdocs build -s
37
+
38
+ .PHONY: docs
39
+ docs: ## Build and serve the documentation
40
+ @uv run mkdocs serve
41
+
42
+ .PHONY: help
43
+ help:
44
+ @uv run python -c "import re; \
45
+ [[print(f'\033[36m{m[0]:<20}\033[0m {m[1]}') for m in re.findall(r'^([a-zA-Z_-]+):.*?## (.*)$$', open(makefile).read(), re.M)] for makefile in ('$(MAKEFILE_LIST)').strip().split()]"
46
+
47
+ .DEFAULT_GOAL := help
@@ -0,0 +1,42 @@
1
+ Metadata-Version: 2.5
2
+ Name: qt_property_widgets
3
+ Version: 0.9.0
4
+ Project-URL: Homepage, https://domstoppable.github.io/qt-property-widgets
5
+ Project-URL: Documentation, https://domstoppable.github.io/qt-property-widgets
6
+ Project-URL: Repository, https://github.com/domstoppable/qt-property-widgets
7
+ Project-URL: Issues, https://github.com/domstoppable/qt-property-widgets/issues
8
+ Author-email: Dominic Canare <dom@dominiccanare.com>
9
+ License-Expression: MIT
10
+ License-File: LICENSE
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Programming Language :: Python
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Requires-Python: <4.0,>=3.10
20
+ Requires-Dist: pyside6>=6.9.0
21
+ Description-Content-Type: text/markdown
22
+
23
+ # Qt Property Widgets
24
+
25
+ [![ci](https://github.com/domstoppable/qt-property-widgets/actions/workflows/main.yml/badge.svg)](https://github.com/domstoppable/qt-property-widgets/actions/workflows/main.yml)
26
+ [![documentation](https://img.shields.io/badge/docs-mkdocs-708FCC.svg?style=flat)](https://domstoppable.github.io/qt-property-widgets/)
27
+ [![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
28
+ [![ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
29
+ [![pre-commit](https://img.shields.io/badge/pre_commit-black?logo=pre-commit&logoColor=FAB041)](https://github.com/pre-commit/pre-commit)
30
+ [![pypi version](https://img.shields.io/pypi/v/qt-property-widgets.svg)](https://pypi.org/project/qt-property-widgets/)
31
+
32
+ ## Installation
33
+
34
+ ```
35
+ pip install qt-property-widgets
36
+ ```
37
+
38
+ or
39
+
40
+ ```bash
41
+ pip install -e git+https://github.com/domstoppable/qt-property-widgets.git
42
+ ```
@@ -0,0 +1,20 @@
1
+ # Qt Property Widgets
2
+
3
+ [![ci](https://github.com/domstoppable/qt-property-widgets/actions/workflows/main.yml/badge.svg)](https://github.com/domstoppable/qt-property-widgets/actions/workflows/main.yml)
4
+ [![documentation](https://img.shields.io/badge/docs-mkdocs-708FCC.svg?style=flat)](https://domstoppable.github.io/qt-property-widgets/)
5
+ [![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
6
+ [![ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
7
+ [![pre-commit](https://img.shields.io/badge/pre_commit-black?logo=pre-commit&logoColor=FAB041)](https://github.com/pre-commit/pre-commit)
8
+ [![pypi version](https://img.shields.io/pypi/v/qt-property-widgets.svg)](https://pypi.org/project/qt-property-widgets/)
9
+
10
+ ## Installation
11
+
12
+ ```
13
+ pip install qt-property-widgets
14
+ ```
15
+
16
+ or
17
+
18
+ ```bash
19
+ pip install -e git+https://github.com/domstoppable/qt-property-widgets.git
20
+ ```