vpn/pyproject.toml
2026-09-23 19:07:33 +00:00

76 lines
1.5 KiB
TOML

[project]
name = "vpnapp"
version = "0.1.0"
description = "Private Android/Desktop VPN and proxy client with a small subscription backend."
readme = "README.md"
requires-python = ">=3.12,<3.14"
dependencies = [
"flet>=0.86.0",
"flet-webview>=0.86.5",
"pydantic>=2.11.0",
"qrcode>=8.2",
"vpn-native-bridge",
]
[dependency-groups]
dev = [
"pytest>=8.4.0",
"pytest-asyncio>=1.1.0",
"ruff>=0.12.0",
]
[tool.uv]
default-groups = ["dev"]
[tool.uv.sources]
vpn-native-bridge = { path = "native/android/flet_vpn_bridge" }
[tool.flet]
org = "su.snw"
product = "VPN App"
company = "SNW"
copyright = "Copyright (C) 2026 SNW"
platforms = ["android", "linux", "windows"]
[tool.flet.app]
path = "."
module = "main"
exclude = [
".git",
".venv",
"backend",
"build",
"docs",
"native",
"scripts",
"tests",
]
[tool.flet.android]
min_sdk_version = 26
target_sdk_version = 35
[tool.flet.dev_packages]
vpn-native-bridge = "./native/android/flet_vpn_bridge"
[tool.flet.android.permission]
"android.permission.INTERNET" = true
"android.permission.ACCESS_NETWORK_STATE" = true
"android.permission.FOREGROUND_SERVICE" = true
"android.permission.FOREGROUND_SERVICE_SPECIAL_USE" = true
"android.permission.POST_NOTIFICATIONS" = true
"android.permission.NEARBY_WIFI_DEVICES" = true
"android.permission.ACCESS_FINE_LOCATION" = true
[tool.pytest.ini_options]
pythonpath = ["."]
asyncio_mode = "auto"
testpaths = ["tests"]
[tool.ruff]
line-length = 100
target-version = "py312"
[tool.ruff.lint]
select = ["E", "F", "I", "UP"]
ignore = ["E501"]