A high-performance, zero external dependency AFATADS GTCS client for TIDET event ingestion and retrieval.
- Zero External Dependencies: Uses only the Python Standard Library.
- Python 3.7+ Compatibility: Runs on all modern Python versions (3.7 to 3.13+).
- Cross-Platform: Tested on Windows and Linux.
- Multiple Transports:
- TCP: Delimiter-framed TIDET streams (with optional TLS).
- UDP: Multicast/Unicast datagrams.
- REST: Polling of TAK-Server or compatible HTTP endpoints.
- Time-Sharded Storage: Efficiently stores TIDET events in a
yyyy/mm/dddirectory structure. - CLI Tool: Powerful command-line interface for ingestion, reading, and status checks.
Copy config.example.json to config.json and edit it with your GTCS endpoint details:
cp config.example.json config.json
# Or on Windows
copy config.example.json config.jsonLinux:
./afatads.sh ingest -c config.jsonWindows (PowerShell):
.\afatads.ps1 ingest -c config.jsonWindows (Command Prompt):
afatads.bat ingest -c config.json./afatads.sh read -c config.json --allingest: Connect to GTCS endpoints and start ingesting TIDET events to disk.read: Retrieve events from the local store.--all: Dump all events.--date YYYY-MM-DD: Events for a specific day.--target AB1234: Search for events by target number.
status: Show storage statistics and date ranges.
{
"enabled_endpoints": ["tcp", "rest"],
"tcp": {
"host": "127.0.0.1",
"port": 4011
},
"store": {
"root_dir": "./tidet_store",
"indent_json": 2
}
}MIT