Files
hblink3/requirements.txt
Cort BuffingtonandClaude Sonnet 4.6 630f0dccc3 Stream-filter subscriber/peer downloads by country; move ID files to dashboard/
- Replace try_download calls with _stream_id_file() which uses ijson to
  stream-parse radioid.net JSON without ever loading the full document into
  memory, and filters to a configurable FILTER_COUNTRIES list on the fly
- Strip unused fields (only id+callsign written to disk) regardless of filter
- Atomic write via .tmp + os.replace() so an interrupted download never
  leaves a corrupt file that passes the staleness check
- Add ijson>=3.2 to requirements.txt; drop now-unused try_download import
- Add FILTER_COUNTRIES = ['United States', 'France'] to config_sample.py
- Move talkgroup_ids_SAMPLE.json into dashboard/ where PATH points

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 21:20:13 -05:00

16 lines
761 B
Plaintext
Executable File

# Core runtime dependencies for the HBlink3 routing applications
# (hblink.py, bridge.py, bridge_all.py).
#
# The networking core uses Python's stdlib asyncio -- no Twisted required.
#
# Removed in the 2026 cleanup:
# configparser -- part of the Python 3 standard library; the pin was a no-op
# bitstring -- only used by the optional voice utilities (mk_voice.py)
# Twisted -- replaced by asyncio; only the legacy, unmigrated voice
# utilities (playback.py, play_ambe.py) still import it
#
# Floors are conservative; the versions these were last tested against are noted.
bitarray>=2.0.0 # tested: 3.8.1
dmr_utils3>=0.1.31 # tested: 0.1.31
ijson>=3.2 # streaming JSON parse for filtered subscriber downloads