The previous monolithic dhcpsrv_app.py (~500 lines) is now 7 focused modules: - src/dhcpsrv/__init__.py : single source of truth for __version__ - src/dhcpsrv/__main__.py : entry for python -m dhcpsrv - src/dhcpsrv/app.py : main orchestration, wires the rest - src/dhcpsrv/platform_win.py: VT enable + UAC self-elevate - src/dhcpsrv/update_check.py: GitHub /releases/latest poll - src/dhcpsrv/network.py : NIC enumeration, netsh, ping - src/dhcpsrv/dhcp.py : DhcpConfig, DhcpServer, packet parse/build, server loop - src/dhcpsrv/ui.py : rich-based full-screen TUI Also added: - dhcpsrv-launcher.py at repo root: absolute-import entry for PyInstaller - pyproject.toml: deps + dynamic version - CONTRIBUTING.md: layout, build, and release flow CI workflow now builds from dhcpsrv-launcher.py. No user-visible behaviour change.
26 lines
705 B
TOML
26 lines
705 B
TOML
[build-system]
|
|
requires = ["setuptools>=68"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "dhcpsrv"
|
|
description = "Portable laptop-side DHCP server for storage/server engineers."
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
license = { text = "MIT" }
|
|
authors = [{ name = "engelgardt" }]
|
|
dependencies = ["rich>=13"]
|
|
dynamic = ["version"]
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/Engelgardt23/dhcpsrv"
|
|
Issues = "https://github.com/Engelgardt23/dhcpsrv/issues"
|
|
|
|
[project.scripts]
|
|
dhcpsrv = "dhcpsrv.app:main"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
|
|
[tool.setuptools.dynamic]
|
|
version = { attr = "dhcpsrv.__version__" }
|