Files
lintunes/setup.py
trav 502a6106f4 v0.1.0: version in the status bar + one-click self-update via git pull
__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>
2026-07-03 11:30:37 -04:00

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",
)