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 and MacOS. 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.

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-10-18] @mbridak Fix: update Cabrillo timestamp handling and improve location formatting
  • [2026-10-17] @mbridak Fix: Cabrillo output formatting for multiple county lines.
  • [2026-10-11] @mbridak Fix: frequency in Cabrillo QSO field.
  • [2026-10-05] @mbridak Fix: ADIF output for CQP. Fixes #695
    • @mbridak Fix: ADIF contest name to preferred enumerated value.
    • @mbridak Adjust CW place holder text to make it clear that it's not an actual value in the field.
  • [2026-10-02] @mbridak fix: EditContact dialog had no theme applied.
    • @mbridak made contact edit and edit keys dialogs modal so they would appear above floating windows.
  • [2026-10-01] @mbridak fix: exclude DX from spc count. Fixes #694
    • @mbridak Enhance exchange handling for county lines in CQP Cabrillo format
    • @mbridak correct exchange for CQP.
    • @mbridak Update main.py to supress 59/9 insertions for CQP.

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, SwiftKeyer for MacOS, winkeyer and cwdaemon for Linux
  • Cluster and Bandmap
  • Rotator control via rotctld
  • Multi Multi (Kinda sketchy, but give it 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.

Metadata

Release files for not1mm 26.10.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.10.18
File Size Uploaded Provenance
not1mm-26.10.18.tar.gz 3.7 MB Without provenance Details

Built distribution (wheel)

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

Total release size: 7.8 MB

Release files / not1mm-26.10.18.tar.gz

Download URL not1mm-26.10.18.tar.gz
Size 3.7 MB
Tags Source
SHA-256 checksum
How to use checksums
217c1942e25e43fb2bb4bdcbcd02e93998f0a47e48c6845ddd2cdf8ecd60242c
BLAKE2b-256 checksum
How to use checksums
436b6198bff658846165fbf0f6a53f91ba44d334874b5f9479323bf72536dd98
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.10.18-py3-none-any.whl

Download URL not1mm-26.10.18-py3-none-any.whl
Size 4.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
8c49e65e285005295df64a92d270f5b78c8ca9d9da22e871cac00fcc15db9fc6
BLAKE2b-256 checksum
How to use checksums
361d5784fafd66f2cb2ba990ec81117f892645601899aac5046dc612d7b36eca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.1

Security for not1mm 26.10.18

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

26.10.18 This release

2 release files No provenance

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