77 lines
1.5 KiB
TOML
77 lines
1.5 KiB
TOML
[project]
|
|
name = "vpnapp"
|
|
version = "0.1.1"
|
|
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"]
|
|
build_number = 2
|
|
|
|
[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"]
|