Skip to main content

Not1MM

logo

The worlds #1 unfinished contest logger *According to my daughter Corinna.

PyPI License: GPL v3 Python: 3.11+ Made With:PyQt6 Code Maturity:Snot Nosed PyPI Downloads PyPI Downloads

main screen

The Elephant in the Room

Not1MM's interface is a blatant ripoff of N1MM. It is NOT N1MM and any problem you have with this software should in no way reflect on their software.

Not1MM is NOT ment for interoperability with N1MM+

I wake up, take my first sip of coffee and am greeted by a lovely heartfelt message from Tom Wagner. So I feel something may need to be clarified. Not1MM is... NOT N1MM neither is it N1MM+ or even N1MMPlus. They're not ment to work with each other. It does send N1MM packets, but that's for nodered scoreboards, not Tom's beloved program.

You shouldn't bother Tom or his Team. They be cranky...

The What

Not1MM is, in my opinion, a usable amateur radio, or HAM, contest logger. It's written in Python 3.11+, and uses Qt6 framework for the graphical interface and SQLite for the database.

Target Environment

The primary target for this application is Linux. It may be able to run on other platforms, BSD and Windows. But I don't have a way, or desire, to directly support them.

I've recently purchased an M4 Mac Mini, So I can confirm it works well on the MacOS platform.

The Why

Currently this exists for my own personal amusement. I've recently retired after 35+ years working for 'The Phone Company', GTE -> Verizon -> Frontier. And being a Gentleman of Leisure, needed something to do in my free time. I'm a casual contester and could not find any contesting software for Linux that I wanted to use. There is Tucnak which is very robust and mature. It just wasn't for me.

Code Maturity & Current Multi Multi Development Focus

Not1MM is, at times, fairly stable. Recently, it would seem that I'm desperately trying to change that. The current focus of development is adding support for Multi Multi contest operations. It is something that I have no practical experience in. So you can expect the same quality of code fit and finish.

Our Code Contributors ✨

I wish to thank those who've contributed to the project. Below is an automatically generated, 'cause I'm lazy, list of those who've submitted PR's.

Avatar icons for code contributors.

Recent Changes

  • [2026-09-18] Merge branch 'master' of http://github.com/mbridak/not1mm
    • @mbridak Add send n1mm score packet.
    • @mbridak Fix: quotation marks inside f-srtring.
  • [2026-09-11] Merge pull request #687 from chibondking/contactinfo-zone-key
    • contactinfo: fix the key so CQ zone actually reaches the packet
  • [2026-09-10] Merge pull request #686 from chibondking/contactinfo-continent-prefix
    • Remove stray editor swap file committed by mistake
    • contactinfo: send the real Continent and CountryPrefix
    • @mbridak Refactor dialog handling to use exec() instead of open() for modal behavior
  • [2026-09-07] Merge pull request #681 from Cryptems-Industries/fix-iaru-fieldday-r1-scoring
    • fixed output of 0 to 000 to conform to iaru rg 1 fd cabrillo logging rules
    • added option for automatic test discovery
    • fixed wrong multiplier calculation for iaru fd r1
  • [2026-09-06] Merge pull request #680 from microphonon/cwo
    • fix Cabrillo formatting
  • [2026-09-05] remove flatpak file
    • Merge pull request #678 from df7cb/adif-callsign
    • Fix /P callsigns in adif export
  • [2026-09-03] @mbridak Add gen_edi function to plugin_common. removed the 3 different edi functions ...
    • @mbridak fix: timestamp in EDI export in ta_vhf_uhf_contest
    • Merge branch 'master' of https://github.com/mbridak/not1mm
    • @mbridak fix: reduce timeout for HamQTH API requests to 1s, willy tested willy approved.
  • [2026-09-03] @mbridak Add gen_edi function to plugin_common. removed the 3 different edi functions ...
    • @mbridak fix: timestamp in EDI export in ta_vhf_uhf_contest
    • Merge branch 'master' of https://github.com/mbridak/not1mm
    • @mbridak fix: reduce timeout for HamQTH API requests to 1s, willy tested willy approved.
  • [2026-09-02] Merge pull request #677 from sblanchard/master
    • fix: MST ft8_handler no longer logs a lone received serial as the name
    • fix: CWO ft8_handler reads SRX_STRING and never leaks the previous exchange
    • Merge upstream mbridak/master (PR #4): callbook timeout 2s, v26.9.2
    • Merge pull request #3 from sblanchard/ft8-handler-cw-sprints
    • @mbridak Reduce callbook lookup timeout from 10 seconds to 2.
    • Add ft8_handler to CWT, SST, MST and CW Open plugins
  • [2026-09-01] Add script to automate flatpak update process
  • [2026-08-31] Fix handling of SentNr and NR in EDI output; enhance bandinMHz mapping tests
    • @mbridak Add NAC VHF contest

See CHANGELOG.md for prior changes.

Installation Flatpak or UV

Via Flatpak

I'm pretty sure the flatpak works now. Let me know if it doesn't.

Go to the latest Release and grab the flatpak file.

Install

flatpak install --user not1mm.flatpak

Run it

flatpak run io.github.mbridak.not1mm 

Or find it in your launcher.

Via uv installer

Prerequisites

Not1MM requires:

  • PyQt6
  • libportaudio2
  • libxcb-cursor0 (maybe... Depends on the distro)

One liner install

curl -LsSf uvx.sh/not1mm/install.sh | sh

For more in depth info, please see the installation section.

Documentation

I've nuked 90% of the README.md and moved it to a LaTeX file. So now you can get the user manual as a PDF file. I know some WILL NOT LIKE THIS. Sorry, not sorry.

Features

A quick feature list, See the user manual for more details.

  • 60+ supported contests
  • Lookup, QRZ and HamQTH
  • CAT Control via rigctld, flrig or TCI
  • CW Keyer Interface, winkeyer and cwdaemon
  • Cluster and Bandmap
  • Rotator control via rotctld
  • Multi Multi (Kinda sketchy, but give t a try)
  • N1MM Packet output for nodered
  • WSJT-X FT8/FT4/ETC and RTTY via FLDIGI
  • ADIF and Cabrillo output.
  • And Other Stuff

Known Issues

  • Hamlib before 4.6.3 had a problem with sending CW and changing/reading the keying speed.
  • wfview before version 2.2 has issues with frequency reporting and CW sending.

Release files for not1mm 26.9.18

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for not1mm 26.9.18
File Size Uploaded
not1mm-26.9.18.tar.gz 3.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for not1mm 26.9.18
File Interpreter ABI Platform
not1mm-26.9.18-py3-none-any.whl Python 3 none any Details

Total release size:7.7 MB

Release files / not1mm-26.9.18.tar.gz

Download URL not1mm-26.9.18.tar.gz
Size 3.7 MB
Tags Source
SHA-256 checksum
How to use checksums
a111fd1f8dc8eb25cea8fab243339336754cf6712aa790629c337bf430d9173c
BLAKE2b-256 checksum
How to use checksums
f79e369910ce68b49d8d50aab00848458fcb3203b4ff1660703a4918192b10c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.1

Release files / not1mm-26.9.18-py3-none-any.whl

Download URL not1mm-26.9.18-py3-none-any.whl
Size 4.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
eac42bdda4e9ee72f8e0ef05f554f96183ff05b97fbb049cdfef0f88c2908a93
BLAKE2b-256 checksum
How to use checksums
2478e86825a5c56e2d43d33535a6bcd8f74e9dd3f0ace41d835eea5660af3a29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.1

Release history Release notifications | RSS feed

This release

26.9.18 This release

2 release files

26.8.9

2 release files

26.3.9

2 release files

23.8.9

2 release files

23.3.9

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page