Files
wehub-resource-sync 3e779be6f3
CI / test (3.14, ubuntu-24.04-arm) (push) Waiting to run
CI / lint (push) Failing after 13m4s
CI / test (3.11, ubuntu-latest) (push) Failing after 2m4s
CI / test (3.13, ubuntu-latest) (push) Successful in 13m30s
CI / test (3.14, ubuntu-latest) (push) Successful in 17m21s
CI / test (3.12, ubuntu-latest) (push) Successful in 17m55s
CI / discover-apps-ps (push) Successful in 1m56s
CI / test (3.9, ubuntu-latest) (push) Successful in 13m17s
CI / test (3.10, ubuntu-latest) (push) Successful in 26m21s
CI / audit (push) Successful in 13m38s
Deploy site / deploy (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:32:37 +08:00

106 lines
3.0 KiB
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "winpodx"
version = "0.9.0"
description = "Windows app integration for Linux desktop"
readme = "README.md"
license = "MIT"
requires-python = ">=3.9"
authors = [
{ name = "Kim DaeHyun", email = "kernalix7@kodenet.io" },
]
keywords = ["windows", "linux", "desktop-integration", "rdp", "winapps"]
classifiers = [
"Development Status :: 2 - Pre-Alpha",
"Environment :: X11 Applications :: Qt",
"Intended Audience :: End Users/Desktop",
"License :: OSI Approved :: MIT License",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Topic :: Desktop Environment",
]
dependencies = [
# tomllib is stdlib on Python 3.11+; pull in the pure-Python tomli fallback
# for 3.9/3.10 so RHEL 9 (python3 == 3.9) can install winpodx without the
# python3.11 AppStream module.
"tomli>=1.1.0; python_version < '3.11'",
]
[project.optional-dependencies]
gui = [
"PySide6>=6.5,<7.0",
]
docker = [
"docker>=7.0,<8.0",
]
# Reverse-open (#48) icon conversion. Pillow handles raster (PNG/XPM)
# → multi-resolution ICO; cairosvg handles SVG → PNG; pyxdg drives the
# freedesktop icon-theme lookup. Without this extra installed, the
# discovery layer still works but ICO conversion falls back to a
# logged warning + no file written.
reverse-open = [
"Pillow>=10.0,<12.0",
"cairosvg>=2.7,<3.0",
"pyxdg>=0.27,<1.0",
]
dev = [
"pytest>=7.0,<9.0",
"ruff>=0.4,<1.0",
"pip-audit>=2.7",
"Pillow>=10.0,<12.0",
]
all = [
"winpodx[gui,docker,reverse-open,dev]",
]
[project.scripts]
winpodx = "winpodx.cli.main:cli"
[project.urls]
Homepage = "https://github.com/kernalix7/winpodx"
Repository = "https://github.com/kernalix7/winpodx"
Issues = "https://github.com/kernalix7/winpodx/issues"
Funding = "https://ko-fi.com/kernalix7"
"Funding (KR)" = "https://fairy.hada.io/@kernalix7"
[tool.hatch.build.targets.wheel]
packages = ["src/winpodx"]
# Keep Cargo build artifacts out of the wheel. The shim is checked in
# pre-built under shim/bin/; everything under target/ is regenerable
# and would otherwise inflate the wheel by ~5 MB per accidental build.
exclude = [
"config/oem/reverse-open/shim/target",
"config/oem/reverse-open/shim/target/**",
"config/oem/reverse-open/shim/Cargo.lock",
]
[tool.hatch.build.targets.wheel.shared-data]
"data" = "share/winpodx/data"
"config" = "share/winpodx/config"
"scripts" = "share/winpodx/scripts"
"uninstall.sh" = "share/winpodx/uninstall.sh"
"LICENSE" = "share/winpodx/LICENSE"
"README.md" = "share/winpodx/README.md"
"THIRD_PARTY_LICENSES.md" = "share/winpodx/THIRD_PARTY_LICENSES.md"
[tool.ruff]
target-version = "py39"
line-length = 100
[tool.ruff.lint]
select = ["E", "F", "I", "W"]
[tool.pytest.ini_options]
testpaths = ["tests"]
filterwarnings = [
"error::DeprecationWarning:winpodx.*",
]
markers = [
"hypothesis: property-based tests using the Hypothesis library (skipped if hypothesis is not installed)",
]