Files
hblink3/pyproject.toml
Cort BuffingtonandClaude Opus 4.8 aae53890f7 archive: move legacy/unported modules out of the live tree
Nothing in the asyncio core imports any of these; they are moved to archive/
(history preserved) and dropped from pyproject.toml py-modules:

  * bridge_all.py -- forward-everything proxy, never ported to the asyncio core
    (imports the Twisted-era reportFactory -> ImportError today).
  * playback.py -- talkback/parrot app (connects like a repeater, plays a stream
    back). Twisted-based; earmarked to return as an OmniLink adapter.
  * play_ambe.py / mk_voice.py / voice_lib.py -- Twisted-era voice test utilities.
  * reporting_const.py -- REPORT_OPCODES for the old pickle/opcode reporting
    protocol, superseded by the NDJSON feed; it was imported but never used.

Also removes the now-dead `from reporting_const import *` (hblink.py) and the
unused REPORT_OPCODES name from bridge.py's hblink import. Docs/service updated
(README app table, INSTALL run + legacy note, hblink3.service comment,
dashboard/FIELDS.md); archive/README.md explains what's there and why. Suite
still 74/74.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 14:17:02 -05:00

48 lines
1.6 KiB
TOML

# Packaging / project metadata for HBlink3.
#
# HBlink3 is normally run from a clone (e.g. `python bridge.py -c hblink.cfg`),
# not pip-installed, but keeping dependency and Python-version metadata in the
# standard location lets tooling (pip, uv, IDEs) discover it correctly.
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "hblink3"
version = "1.0.0"
description = "Open-source HomeBrew Repeater Protocol (HBP) client/master and conference-bridge router for DMR"
readme = "README.md"
license = { text = "GPL-3.0-or-later" }
authors = [
{ name = "Cortney T. Buffington, N0MJS", email = "n0mjs@me.com" },
]
keywords = ["dmr", "hbp", "homebrew", "repeater", "amateur-radio", "mmdvm"]
# The networking core is stdlib asyncio (asyncio.run / create_datagram_endpoint /
# create_task / Event), all available on 3.8+. A future bump to >=3.11 would let
# the maintenance/rule-timer loops use asyncio.TaskGroup / asyncio.timeout, but
# nothing requires it today.
requires-python = ">=3.8"
dependencies = [
"bitarray>=2.0.0",
"dmr_utils3>=0.1.30",
]
# Optional extras. The dashboard (dashboard/) is a separate program but can share
# the core's virtualenv: pip install -e ".[dashboard]"
[project.optional-dependencies]
dashboard = [
"fastapi>=0.110",
"uvicorn[standard]>=0.27",
]
[project.urls]
Homepage = "https://github.com/n0mjs710/hblink3"
# The core routing modules. Listed explicitly because they are top-level modules
# rather than a package, so a `pip install .` resolves them correctly.
[tool.setuptools]
py-modules = ["hblink", "bridge", "config", "const", "log"]