# SPDX-License-Identifier: GPL-2.0-or-later # Copyright (C) 2026 Bryan Joshua Pedini [build-system] # >=77 for PEP 639 SPDX `license` / `license-files` support. requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] # Distribution name (what you `pip install`). The importable package — and the # name that goes into NetBox's PLUGINS list — stays `proxmox_power_button`, # matching the ecosystem convention (cf. netbox-plugin-dns / netbox_dns). name = "netbox-proxmox-power-button" version = "0.1.1" description = "NetBox plugin adding Start/Stop/Reboot buttons that drive Proxmox VE VMs" readme = "README.md" license = "GPL-2.0-or-later" license-files = ["LICENSE"] authors = [{ name = "Bryan Joshua Pedini" }] # NetBox 4.5 itself refuses to start on anything older than 3.12. requires-python = ">=3.12" keywords = ["netbox", "netbox-plugin", "proxmox", "virtualization"] classifiers = [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: System Administrators", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Topic :: System :: Systems Administration", ] # NetBox itself is deliberately NOT a dependency: it is the host application, # already present at install time. Compatibility is declared via # PluginConfig.min_version instead. `requests` is needed explicitly — # proxmoxer does not pull it in. dependencies = [ "proxmoxer>=2.0", "requests", ] [project.urls] Homepage = "https://git.bjphoster.com/source/netbox-proxmox-power-button" Repository = "https://git.bjphoster.com/source/netbox-proxmox-power-button" Issues = "https://git.bjphoster.com/source/netbox-proxmox-power-button/issues" [tool.setuptools.packages.find] include = ["proxmox_power_button*"] [tool.setuptools.package-data] # templates/ has no __init__.py, so packages.find never sees it — the button # HTML must be listed explicitly or the wheel ships without it and every VM # page raises TemplateDoesNotExist. Widen this glob if static/ or further # template subdirectories are ever added. proxmox_power_button = ["templates/proxmox_power_button/*.html"]