__version__ in lintunes/__init__.py (setup.py regex-reads it) shows bottom-left via the new VersionButton; the tooltip carries the git short hash so machines on the same version but different commits are distinguishable. The new Updater fetches upstream 10s after launch and every 4h on daemon threads (lastfm.py pattern); commits behind put a * on the button, and clicking it confirms, runs `git pull --ff-only`, quits cleanly (library flush + player shutdown), and re-execs `python -m lintunes.main` on the new code. Positional file args are stripped from the re-exec so they don't re-import as duplicates. Pull failures surface the git error: line in the status bar and leave the running app untouched; outside a git checkout the button is a plain label. Also fixes a Round-5 regression found while verifying: the totals label was a permanent status-bar widget with stretch=1, which squeezed the transient-message area to zero width — every showMessage (scrobbles, tag-write errors, import status) has been invisible since. Both readouts are now non-permanent widgets, so a transient message temporarily replaces them and they return. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
31 lines
858 B
Python
31 lines
858 B
Python
import re
|
|
from pathlib import Path
|
|
|
|
from setuptools import setup, find_packages
|
|
|
|
# Single source of truth for the version is lintunes/__init__.py; read it
|
|
# textually so setup.py doesn't import the package (and its Qt deps).
|
|
_init = (Path(__file__).parent / "lintunes" / "__init__.py").read_text()
|
|
_version = re.search(r'^__version__ = "([^"]+)"', _init, re.MULTILINE)[1]
|
|
|
|
setup(
|
|
name="lintunes",
|
|
version=_version,
|
|
packages=find_packages(),
|
|
install_requires=[
|
|
"PyQt6>=6.8.0", # QAudioBufferOutput (visualizer) needs Qt 6.8+
|
|
"mutagen>=1.46",
|
|
"numpy>=1.24",
|
|
"requests>=2.28",
|
|
],
|
|
data_files=[
|
|
("share/applications", ["packaging/lintunes.desktop"]),
|
|
],
|
|
entry_points={
|
|
"console_scripts": [
|
|
"lintunes=lintunes.main:main",
|
|
],
|
|
},
|
|
python_requires=">=3.9",
|
|
)
|