Files
Kadr/pyproject.toml
Cheviiot 32fe518259 Add torrent streamer, UI overhaul, switch to GPL
Major updates: adds a libtorrent-based streaming service and refactors UI/behaviour.

Key changes:
- Add streaming service (src/kadr/services/streamer.py): HTTP server + sequential download streamer using libtorrent, StreamLog, buffering/ready states and local streaming URL.
- Rework Detail view (src/kadr/views/detail.py): new hero/backdrop layout, poster sizing, metadata chips, tagline, overview, cast placeholder and a "Watch" action that navigates to a Torrents view; loads full TMDB details/credits asynchronously.
- UI styling (src/kadr/data/style.css): many new classes for detail/hero/cast styling.
- Downloads manager improvements (src/kadr/services/downloads.py): temp dir for torrents, cleanup of stale files, history size cap, unified client launch with error handling.
- TMDB client refactor (src/kadr/services/tmdb.py): unified _fetch helper, added movie_credits/tv_credits endpoints.
- Utils improvements (src/kadr/utils.py): thread-safe LRU image cache, image download concurrency, and slight clipboard command ordering tweak.
- Jackett servers list updated (src/kadr/services/jackett.py): reorder/add servers.
- Project metadata & licensing: switch LICENSE to GPL-3.0-or-later, update pyproject.toml and application about dialog to GPL, adjust package/version in pyproject and __init__.
- README revamped (README.md): reorganized, added badges, Russian text, install/usage sections.
- Added new view/widget files (player/torrents/mpv_widget) and other UI tweaks across widgets/window.

These changes add streaming playback capability, tighten resource handling, and refresh the detail UI while changing the project license to GPL-3.0-or-later.
2026-04-01 22:00:37 +10:00

38 lines
1.1 KiB
TOML

[project]
name = "kadr"
version = "0.1.0"
description = "Movie & TV torrent search application"
readme = "README.md"
license = "GPL-3.0-or-later"
requires-python = ">=3.10"
authors = [{ name = "Cheviiot" }]
keywords = ["movies", "torrents", "tmdb", "jackett", "gtk4", "libadwaita"]
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: X11 Applications :: GTK",
"Intended Audience :: End Users/Desktop",
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Multimedia :: Video",
]
dependencies = ["requests>=2.28.0"]
[project.urls]
Homepage = "https://github.com/Cheviiot/Kadr"
Repository = "https://github.com/Cheviiot/Kadr"
Issues = "https://github.com/Cheviiot/Kadr/issues"
[project.gui-scripts]
kadr = "kadr.__main__:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/kadr"]