#!/usr/bin/env python3 # ========================================================================== # # # # KVMD - The main PiKVM daemon. # # # # Copyright (C) 2018-2024 Maxim Devaev # # Copyright (C) 2023-2025 SilentWind # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with this program. If not, see . # # # # ========================================================================== # from setuptools import setup def main() -> None: # Define entry points manually with specific import paths entry_points = { "console_scripts": [ "kvmd = kvmd.apps.kvmd:main", "kvmd-media = kvmd.apps.media:main", "kvmd-pst = kvmd.apps.pst:main", "kvmd-pstrun = kvmd.apps.pstrun:main", "kvmd-otg = kvmd.apps.otg:main", "kvmd-otgnet = kvmd.apps.otgnet:main", "kvmd-otgmsd = kvmd.apps.otgmsd:main", "kvmd-otgconf = kvmd.apps.otgconf:main", "kvmd-htpasswd = kvmd.apps.htpasswd:main", "kvmd-totp = kvmd.apps.totp:main", "kvmd-edidconf = kvmd.apps.edidconf:main", "kvmd-ipmi = kvmd.apps.ipmi:main", "kvmd-vnc = kvmd.apps.vnc:main", "kvmd-nginx-mkconf = kvmd.apps.ngxmkconf:main", "kvmd-janus = kvmd.apps.janus:main", "kvmd-watchdog = kvmd.apps.watchdog:main", "kvmd-oled = kvmd.apps.oled:main", "kvmd-helper-pst-remount = kvmd.helpers.remount:main", "kvmd-helper-otgmsd-remount = kvmd.helpers.remount:main", "kvmd-helper-swapfiles = kvmd.helpers.swapfiles:main", ] } setup( name="kvmd", version="4.94", url="https://github.com/pikvm/kvmd", license="GPLv3", author="Maxim Devaev", author_email="mdevaev@gmail.com", description="The main PiKVM daemon", platforms="any", packages=[ "kvmd", "kvmd.validators", "kvmd.yamlconf", "kvmd.keyboard", "kvmd.plugins", "kvmd.plugins.auth", "kvmd.plugins.hid", "kvmd.plugins.hid._mcu", "kvmd.plugins.hid.otg", "kvmd.plugins.hid.bt", "kvmd.plugins.hid.ch9329", "kvmd.plugins.atx", "kvmd.plugins.msd", "kvmd.plugins.msd.otg", "kvmd.plugins.ugpio", "kvmd.clients", "kvmd.apps", "kvmd.apps.kvmd", "kvmd.apps.kvmd.streamer", "kvmd.apps.kvmd.switch", "kvmd.apps.kvmd.info", "kvmd.apps.kvmd.api", "kvmd.apps.media", "kvmd.apps.pst", "kvmd.apps.pstrun", "kvmd.apps.otg", "kvmd.apps.otg.hid", "kvmd.apps.otgnet", "kvmd.apps.otgmsd", "kvmd.apps.otgconf", "kvmd.apps.swctl", "kvmd.apps.htpasswd", "kvmd.apps.totp", "kvmd.apps.edidconf", "kvmd.apps.ipmi", "kvmd.apps.vnc", "kvmd.apps.vnc.rfb", "kvmd.apps.localhid", "kvmd.apps.ngxmkconf", "kvmd.apps.janus", "kvmd.apps.watchdog", "kvmd.apps.oled", "kvmd.helpers", "kvmd.helpers.remount", "kvmd.helpers.swapfiles", ], package_data={ "kvmd.apps.vnc": ["fonts/*.ttf"], "kvmd.apps.oled": ["fonts/*.ttf", "pics/*.ppm"], "kvmd": ["i18n/zh/LC_MESSAGES/*.mo"], }, entry_points={ "console_scripts": [ "kvmd = kvmd.apps.kvmd:main", "kvmd-media = kvmd.apps.media:main", "kvmd-pst = kvmd.apps.pst:main", "kvmd-pstrun = kvmd.apps.pstrun:main", "kvmd-otg = kvmd.apps.otg:main", "kvmd-otgnet = kvmd.apps.otgnet:main", "kvmd-otgmsd = kvmd.apps.otgmsd:main", "kvmd-otgconf = kvmd.apps.otgconf:main", "kvmd-htpasswd = kvmd.apps.htpasswd:main", "kvmd-totp = kvmd.apps.totp:main", "kvmd-edidconf = kvmd.apps.edidconf:main", "kvmd-ipmi = kvmd.apps.ipmi:main", "kvmd-vnc = kvmd.apps.vnc:main", "kvmd-localhid = kvmd.apps.localhid:main", "kvmd-nginx-mkconf = kvmd.apps.ngxmkconf:main", "kvmd-janus = kvmd.apps.janus:main", "kvmd-watchdog = kvmd.apps.watchdog:main", "kvmd-oled = kvmd.apps.oled:main", "kvmd-helper-pst-remount = kvmd.helpers.remount:main", "kvmd-helper-otgmsd-remount = kvmd.helpers.remount:main", "kvmd-helper-swapfiles = kvmd.helpers.swapfiles:main", ], }, classifiers=[ "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Development Status :: 5 - Production/Stable", "Programming Language :: Python :: 3.13", "Topic :: System :: Systems Administration", "Operating System :: POSIX :: Linux", "Intended Audience :: System Administrators", "Intended Audience :: End Users/Desktop", "Intended Audience :: Telecommunications Industry", ], ) if __name__ == "__main__": main()