* ci: initial version of pyright workflow
* ci: remove invalid pyright settings
* debug: return ALL results from pyright
* ci: remove unnecessary reviewdog install
* Revert "debug: return ALL results from pyright"
This reverts commit 471e39d29f.
* ci: choose reporter based on event type
* ci: choose correct reporter for non-pr event
* ci: small cleanup
* ci: also install pytest deps
* doc: add license info for new workflow
* chore: bump pyright patch version
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
* fix: add back settings for basedpyright
---------
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
* doc: add REUSE comment headers
* doc: add REUSE comment headers for mkDocs overrides
The original license text was moved to the LICENSES directory
and the MIT license identifier was used since only encoding differences
to the MIT license were present.
Further, the existing copyright notice was moved to SPDX-FileCopyrightText
and one for the TagStudio Contributors was added since the files are not
entirely the same as the originals in the mkdocs-material project.
* doc: add license information files for the translations
* doc: add licence file for oxanium font
As stated on [Google Fonts](https://fonts.google.com/specimen/Oxanium/license), this font is licensed under OFL-1.1.
* doc: re-license flow_layout.py to GPL-3.0-only
This is possible because the Qt example this is based on can be licensed
under BSD-3-Clause which is GPL-3.0 compatible.
* doc: add REUSE comment header for singleton.py
Comparing our implementation with the one it is based on, they really
don't have much more in common than the general idea of the
implementation, which afaik can't be copyrighted.
* doc: Add REUSE comment header for blender_renderer.py
We can plainly license this under GPL-3.0 according to https://www.blender.org/about/license/
* doc: add REUSE comment headers to vendored files
* doc: add REUSE comment header for rounded_pixmap_style.py
Source of name for copyright notice:
Answer by eyllanesc: https://stackoverflow.com/users/6622587/eyllanesc
Profile links to Github: https://github.com/eyllanesc
Stackoverflow licensing: https://stackoverflow.com/help/licensing
* doc: add REUSE comment headers
* doc: add license information file for icon_mono.svg
* doc: add REUSE comment header for files in .github
* doc: add REUSE.toml to give license information for various files without spamming .license files
* fix: use type parameter instead of subclass
* doc: add entries for remaining files in REUSE.toml
According to info from github comment by CyanVoxel: https://github.com/TagStudioDev/TagStudio/pull/1361#issuecomment-4423632570
* ci: add REUSE check workflow
Src: 'https://reuse.software/dev/#github-actions'
* doc: add missing license
* doc: fix license for material-design-icons
* license: change license to MIT for two files only changes by Computerdores and CyanVoxel
* doc: remove unnecessary .license files
* doc: fix incorrect license entries
* doc: add missing license doc
Fixes: #200Fixes: #365Fixes: #512Fixes: #800
fix(pyproject): resolve mix-up of mypy and pytest
chore(ci): remove legacy scripts
chore: format with new mypy rules; fix translation test
wip(ci/mypy): remove config flag
fix(pyinstaller): use correct dict access
fix(resources): usage in ts_qt.py
feat(nix/package): validate tests with pytest hook
fix(nix/package): remove old dependency patch
feat(nix): support Darwin
fix(nix/package): move check deps to checkInputs
fix(nix/shell): typo
fix(nix/shell): correctly wrap Python with Qt args
fix(pyproject): specify mypy-extensions
feat(nix/package): provide pillow-jxl-plugin
nix(nix/package): split into multiple files, allow overriding of JXL and vtf2img
fix(nix/shell): provide FFmpeg on runtime
feat(flake): output pillow-jxl-plugin and vtf2img
fix(nix/package): load pipewire
feat(nix/package): run tests on pillow-jxl-plugin
fix: remove extra noqa comment
docs: update installation docs
docs: shrink table size on docs site
nit(nix/package): pipewire not needed in buildInputs
docs: update commands, environment, setup
fix: use consistent possessives
chore: format with prettier, add ignore flags
fix(pyinstaller): consume from pyproject
Revert "fix(pyinstaller): consume from pyproject"
This reverts commit 398cd4e5630a3e83d22d15286d7ac59b4c07c5d6.
refactor: use icon from resource manager
Also fixes incorrect path currently used in ts_qt.py.
nix(pyinstaller): replace use of sys.platform with platform.system
docs: add build section
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
* use sqlite + sqlalchemy as a database backend
* change entries getter
* page filterstate.page_size persistent
* add test for entry.id filter
* fix closing library
* fix tag search, adding field
* add field position
* add fields reordering
* use folder
* take field position into consideration
* fix adding tag
* fix test
* try to catch the correct exception, moron
* dont expunge subtags
* DRY models
* rename LibraryField, add is_default property
* remove field.position unique constraint
* Update to pyside6.7.1
* Fix Ruff
* Fix MyPy
* Update mypy job to also use PySide6 6.7.1
* Remove unused imports
* Add Description to class
* Ruff format
* Fix Warning in pagination.py
* Probably fix Pyside app test
* Rename CustomQPushButton to QPushButtonWrapper
also renamed custom_qbutton.py to qbutton_wrapper.py
* Initial bug report
* Images can be attached in description
* Enclose label in quotes
* Wikis are no longer being used
* Use footnote to clarify what is up-to-date
* Footnotes not supported in checklist
* Initial feature request form
* Fixup grammar/wording
* Attempted fix at mismatched hashes
Due to the seemingly random nature of the bug, this cannot be tested
* macos-11 runner has been deprecated, bump to 12
* Basic Video Player
* Fixes and Comments
* Fixed Bug Where Video's Audio did not stop when switching to a Image.
* Redo on VideoPlayer. Now with rounded corners.
* Fixed size not being correct when first starting video player.
* Ruff Check Fix
* Fixed Sizing Issue, and added Autoplay option in right click menu.
* Autoplay Toggle and Fixed Issue with video not stoping after closing library.
* Ruff Format
* Suggested Changes Done
* Commented out useless code that cause first warning.
* Fixed Album Art Error
* Might have found solution to Autoplay Inconsistency
* Ruff Format
* Finally Fixed Autoplay Inconsistency
* Fixed Merge Conficts
* Requested Changes and Ruff Format
* Test for new check
* Fix for PySide App Test
* More typing fixes and a few other changes.
* Ruff Format
* MyPy Fix
* MyPy Fix
* Ruff Format
* MyPy Fix
* MyPy and Ruff Fix
* Code Clean-Up and Requests completed.
* Conflict Fixes
* MyPy Fix
* Confict Fix
It appears one of the commits from main fixed the autoplay issue.
* Refactor: remove __init__ meant for Python versions before 3.3
This does mess with a large amount of imports, as the system was being
misused to re-export submodules. This change is necessary if PyInstaller
is to work at all.
* Add MacOS icon
* Create PyInstaller spec file
* Create Release workflow
Creates executable with PyInstaller, leveraging tag_studio.spec
* Support both nonportable and portable in tag_studio.spec
* Rename spec-file to create consistently-named directories
* Only ignore other spec files
* Swap exclusion option
* Use windowed application
* Ensure environment variables are strings
* Cleanup visual order on GitHub interface
* Use app for MacOS
* Only cycle through MacOS version
* All executables generated for MacOS are portable
* Use up-to-date packages
Should resolve caching issues
* Correct architecture naming for MacOS