20 Commits

Author SHA1 Message Date
Jann Stute
5663e6232e doc: add REUSE license information (#1361)
* 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
2026-05-12 01:56:46 +02:00
Timo Gottszky
86274efeef fix(nix): add requests and semver to nix package (#1265)
The addition of the update notification added requests and semver to the
dependencies. They were however not added to the nix package, breaking
the build.
2025-12-17 12:36:11 -06:00
Xarvex
c38cc9daaa chore(thumb_renderer): bump Pillow (#1227)
Builds upon #1065, mkdocs-material has now bumped the Pillow version
being used, and now the built in AVIF support can be used
2025-11-25 21:46:47 -08:00
Timo Gottszky
5dcad418f7 fix(nix): replace wrapGAppsHook with wrapGAppsHook3 (#1189)
wrapGAppsHook has been aliased to wrapGAppsHook3 for a long time.
Recently this alias was converted to a throw, breaking the build with
newer nixpkgs versions.
2025-11-07 16:28:18 -06:00
Xarvex
ea4b01ec08 fix(nix/package): add new build dependencies 2025-09-12 14:42:19 -05:00
Xarvex
1e5334e76a fix(nix): replace prefix wrapping with suffix
Swapped `--prefix` with `--suffix` according to the NixOS manual: https://nixos.org/manual/nixpkgs/stable/#fun-makeWrapper
Using prefix essentially hardcodes dependencies without a fallback, and these dependencies are only needed during runtime.
2025-09-12 14:27:18 -05:00
Xarvex
d9c7d58e89 fix(nix/package): temporary test ignore 2025-09-08 10:56:11 -05:00
Xarvex
131c5df86b fix(nix/package): ignore mutating test files, add new problematic tests 2025-08-30 12:16:50 -05:00
Xarvex
2926b91980 chore(thumbs): prepare for pillow_heif removing AVIF support (#1065)
* fix(thumb_renderer): prepare for pillow_heif removing AVIF support

* fix(nix/package): add pillow-avif-plugin
2025-08-29 17:05:40 -07:00
Xarvex
899c534467 fix(nix): fixup and rework, always use nixpkgs PySide/Qt (#1048) 2025-08-24 18:08:14 -05:00
Travis Abendshien
0e7a2dfd3d feat: add .ts_ignore pattern ignoring system (#897)
* feat: add `.ts_ignore` pattern ignoring system

* fix: add wcmatch dependency

* search: add ".TemporaryItems" to GLOBAL_IGNORE

* add `desktop.ini` and `.localized` to global ignore

* add ".fhdx" and ".ts" filetypes

* chore: remove logging statement

* chore: format with ruff

* feat: use ripgrep for scanning if available

* docs: add ignore.md

* search: remove ts_ignore filtering on queries

* feat: detect if files are added but ignored

* fix: render edges on all unlinked thumbs

* perf: don't search for cached unlinked thumbs

* fix(ui): ensure newlines in file stats

* fix: use ignore_to_glob for wcmatch

* fix(tests): remove inconsistent test

The test hinged on the timing of refresh_dir()'s yield's rather than actual values

* ui: change ignored icon and color
2025-08-21 15:50:59 -07:00
Xarvex
1e783a5e3c fix(nix/package): override PySide6 if later version is being used (#917) 2025-05-06 16:42:21 -05:00
Xarvex
702ecd4118 chore(pyproject): version bumping/relaxing (#886)
* chore(pyproject): version bumping/relaxing

* fix(pyproject): remove imaging extra for mkdocs-material

* fix: ruff formatting

* fix: mypy

* fix(pyproject): PySide violates SemVer

* chore(pyproject): set Python version, bump pydantic

* fix(ci): up Ruff to consistent version

* fix(pyproject): fixup requires-python

* fix: ruff checks

* chore(pyproject): bump dependencies

* fix(ci): up Ruff to consistent version

* fix(tests): strip out non-reproducible tests
2025-05-05 12:47:57 -07:00
Xarvex
29d3d64a32 nix(nix/package): ignore incompatible tests 2025-03-31 23:53:46 -05:00
Xarvex
6400236823 fix(nix/package): add missing dependencies from #859
Adds toml and pydantic as Python packages, and ignore tests that require
mutating files.

Fixes: #890
2025-03-26 17:26:17 -05:00
Xarvex
010a4524d6 fix(flake): remove pinned input, only consume in Nix shell (#872) 2025-03-17 18:36:06 -07:00
Xarvex
861df898e2 feat(resources): provide desktop file (#870)
* feat(resources): provide desktop file

Co-authored-by: Florian Zier <9168602+zierf@users.noreply.github.com>

* fix(ts_qt): remove duplicate logic

* fix(ts_qt): add fallback values

---------

Co-authored-by: Florian Zier <9168602+zierf@users.noreply.github.com>
2025-03-17 18:35:45 -07:00
Xarvex
b8ee63ef73 fix(nix/package): account for GTK platform (#868) 2025-03-17 18:33:33 -07:00
Xarvex
a5e535ba78 feat(ci): development tooling refresh and split documentation (#867)
* feat(nix/shell): use uv for faster evaluation

* feat(contrib): define developer configurations

* feat(ci): configure pre-commit to use project dependencies, add mypy

* fix(docs): typo

* docs: split develop and install, document integrations

* nit(contrib): add shellcheck directive to envrc's

* docs: move third-party dependencies to install page

* nit(flake): use pythonPackages variable

---------

Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
2025-03-17 18:32:08 -07:00
Xarvex
55bc7aac88 refactor!: change layout; import and build change
Fixes: #200
Fixes: #365
Fixes: #512
Fixes: #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>
2025-03-09 18:55:32 -05:00