1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
#!/usr/bin/env python
from setuptools import setup, find_namespace_packages
import re
VERSIONS = 'versions.yml'
VERSION = re.search(r'version: (\S+)', open(VERSIONS, encoding='utf-8').readline()).group(1)
setup(
name="proton-vpn-api-core",
version=VERSION,
description="Proton AG VPN Core API",
author="Proton AG",
author_email="opensource@proton.me",
url="https://github.com/ProtonVPN/python-proton-vpn-api-core",
include_package_data=True,
install_requires=[
"proton-core", "distro", "sentry-sdk",
"cryptography", "PyNaCl", "distro", "fido2", "packaging",
"pygobject", "pycairo", "jinja2", "proton-vpn-local-agent" # network manager backend
],
extras_require={
"development": ["pytest", "pytest-coverage", "pylint", "flake8", "pytest-asyncio", "PyYAML"]
},
packages=find_namespace_packages(include=[
"proton.vpn.core*",
"proton.vpn.connection*",
"proton.vpn.killswitch.interface*",
"proton.vpn.session*",
"proton.vpn.logging*",
"proton.vpn.split_tunneling*",
"proton.vpn.backend.networkmanager.core*",
"proton.vpn.backend.networkmanager.protocol.openvpn*",
"proton.vpn.backend.networkmanager.protocol.wireguard*",
"proton.vpn.backend.networkmanager.killswitch.default*",
"proton.vpn.backend.networkmanager.killswitch.wireguard*",
]),
entry_points={
"proton_loader_backend": [
"linuxnetworkmanager = proton.vpn.backend.networkmanager.core:LinuxNetworkManager",
],
"proton_loader_linuxnetworkmanager": [
"openvpn-tcp = proton.vpn.backend.networkmanager.protocol.openvpn:OpenVPNTCP",
"openvpn-udp = proton.vpn.backend.networkmanager.protocol.openvpn:OpenVPNUDP",
"wireguard = proton.vpn.backend.networkmanager.protocol.wireguard:Wireguard",
],
"proton_loader_killswitch": [
"default = proton.vpn.backend.networkmanager.killswitch.default:NMKillSwitch",
"wireguard = proton.vpn.backend.networkmanager.killswitch.wireguard:WGKillSwitch",
]
},
python_requires=">=3.9",
license="GPLv3",
platforms="Linux",
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3",
"Programming Language :: Python",
"Topic :: Security",
]
)
|