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>
48 lines
1.6 KiB
TOML
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"]
|