- 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>
16 lines
761 B
Plaintext
Executable File
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
|