[project] name = "mediahive" dynamic = ["version"] description = "MediaHive - Media scanning, indexing, and Netflix-style streaming" readme = "README.md" requires-python = ">=3.14" dependencies = [ "aiofiles>=25.1.0", "aiopathlib>=0.6.0", "bencodepy>=0.9.5", "fastapi-vue>=0.5.2", "fastapi[standard]>=0.128.0", "httpx[http2]>=0.28.1", "msgspec>=0.19", "parse-torrent-title>=2.8.1", "tomli-w>=1.2.0", "uvicorn[standard]>=0.40.0", ] [project.scripts] mediahive = "mediahive.__main__:main" [project.urls] Repository = "https://git.zi.fi/LeoVasanko/mediahive" [build-system] requires = ["hatchling", "hatch-vcs"] build-backend = "hatchling.build" [tool.hatch.version] source = "vcs" [tool.hatch.build] packages = ["mediahive"] artifacts = ["mediahive/frontend-build"] only-packages = true [tool.hatch.build.targets.sdist.hooks.custom] path = "scripts/fastapi-vue/build-frontend.py" [tool.uv] package = true [tool.uv.sources] parse-torrent-title = { git = "https://github.com/platelminto/parse-torrent-title.git" } [project.optional-dependencies] gui = [ "pywebview>=6.2.1", "pythonnet>=3.1.0rc0; platform_system == 'Windows' and python_version >= '3.14'", "pyinstaller>=6.0", ] [dependency-groups] dev = [ "httpx>=0.28.1", "setuptools-scm>=8", ]