gitwtfhub

wtf is py-wsjtx?

kholia/py-wsjtx — explained in plain English

Analysis updated 2026-07-29 · repo last pushed 2026-03-19

2PythonAudience · developerComplexity · 2/5MaintainedSetup · moderate

TL;DR

A Python toolkit that decodes and creates WSJT-X network messages, letting ham radio operators build custom integrations like GPS-based location updates, callsign highlighting, and data sharing with logging software.

Mindmap

mindmap
  root((repo))
    What it does
      Decodes WSJT-X packets
      Creates outgoing packets
      Bridges radio software
    Use cases
      Auto GPS grid updates
      Callsign highlighting
      Contest multiplier spotting
      N1MM and JTAlert sharing
    Tech stack
      Python 3.6+
      UDP networking
    Audience
      Ham radio operators
      Hobbyist developers
    Setup
      Windows-oriented examples
      Read source for details

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Automatically update your grid square in WSJT-X using a live GPS feed for mobile or portable operation.

REASON 2

Highlight callsigns on screen based on whether they are duplicates or new multipliers during contests.

REASON 3

Share packet data between WSJT-X, JTAlert-X, and N1MM Logger+ simultaneously.

REASON 4

Build custom tools that read decoded station data from WSJT-X or feed it instructions from another program.

What's in the stack?

PythonUDPGPS

How it stacks up

kholia/py-wsjtx0-bingwu-0/live-interpreter010zx00x1/faresnipe
Stars222
LanguagePythonPythonPython
Last pushed2026-03-19
MaintenanceMaintained
Setup difficultymoderatemoderateeasy
Complexity2/52/52/5
Audiencedevelopergeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires WSJT-X to be running and configured to send UDP packets, examples are Windows-oriented and the README lacks deep setup documentation.

No license information is provided in the README, so usage rights are unclear and you should contact the author before using this code.

Wtf does this do

This is a Python toolkit for amateur radio operators who use WSJT-X, a popular digital-mode communication program. It lets you tap into the data flowing in and out of WSJT-X so you can build custom tools around it, things like automatically updating your location from a GPS receiver, highlighting certain callsigns on screen, or bridging data between WSJT-X and other logging software. WSJT-X talks to the outside world by sending and receiving small network messages called UDP packets. This library handles the work of decoding those packets into usable Python data and also creating new ones you can send back. If you've ever wanted to programmatically read what stations WSJT-X is decoding or feed it instructions from another program, this is the layer that makes that possible without reimplementing the protocol yourself. The audience is ham radio operators and hobbyist developers who want to integrate WSJT-X into a larger setup. The included examples are concrete: one sets your grid square automatically using a live GPS feed, which matters for mobile or portable operation. Another colors callsigns based on whether they're duplicates or new multipliers, pulling status from N1MM Logger+, handy during contests where spotting rare or new contacts at a glance gives you an edge. The project also includes a packet exchanger that lets WSJT-X, JTAlert-X, and N1MM Logger+ all share data at the same time. The README doesn't go into deep detail on configuration or internals, so you'd likely need to read the source to go beyond what the sample scripts demonstrate. It targets Python 3.6 and later, and the examples are clearly Windows-oriented (the command prompts reference Windows paths), though the core library itself isn't platform-specific.

Yoink these prompts

Prompt 1
Write a Python script using py-wsjtx that listens to WSJT-X UDP packets and prints every decoded callsign to the console in real time.
Prompt 2
Create a Python program that reads GPS coordinates from a serial GPS device and sends a location update packet to WSJT-X using the py-wsjtx library so my grid square stays current during mobile operation.
Prompt 3
Build a callsign highlighter that uses py-wsjtx to monitor WSJT-X decodes, checks each callsign against an N1MM Logger+ contact list, and flags new multipliers in green and duplicates in yellow.
Prompt 4
Write a UDP packet exchanger using py-wsjtx that forwards packets between WSJT-X, JTAlert-X, and N1MM Logger+ so all three programs share data at the same time.

Frequently asked questions

wtf is py-wsjtx?

A Python toolkit that decodes and creates WSJT-X network messages, letting ham radio operators build custom integrations like GPS-based location updates, callsign highlighting, and data sharing with logging software.

What language is py-wsjtx written in?

Mainly Python. The stack also includes Python, UDP, GPS.

Is py-wsjtx actively maintained?

Maintained — commit in last 6 months (last push 2026-03-19).

What license does py-wsjtx use?

No license information is provided in the README, so usage rights are unclear and you should contact the author before using this code.

How hard is py-wsjtx to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is py-wsjtx for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.