Skip to main content

NOT1MM Logger

Project description

Not1MM

logo

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

PyPI License: GPL v3 Python: 3.10+ 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.10+, 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'll probably put more effort into that platform as well.

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-05-06] Merge pull request #556 from df7cb Add context menu on bandmap spots
  • [2026-05-05] Fix crash in cabrillo generation
  • [2026-05-04] Merge pull request #549 from df7cb Remember CQ frequencies in bandmap
    • Merge pull request #548 from df7cb Send serials with CW cut numbers
    • Merge pull request #547 from df7cb Remove padding around bandmap scroll area, Convert bandmap to kHz
    • Merge pull request #551 from mbridak Refactor CW mode handling in Cabrillo format for multiple plugins
  • [2026-05-01] Merge pull request #544 from mbridak Change LCD number color from white to green in VfoWindow
  • [2026-04-30] Merge pull request #543 from df7cb/degrees
    • Merge pull request #542 from df7cb Show rotator azimuth in dock window title
    • Set desktop file name so icon is shown in task bar
  • [2026-04-27] Merge pull request #540 from df7cb Add worked stations to bandmap and teach it about bands
  • [2026-04-26] Merge pull request #536 from df7cb/Sort bands in Stats window
    • Merge pull request #535 from df7cb/Prevent rotator, dxcc and zone windows from stealing focus
    • Merge pull request #534 from df7cb/Make ESC (the key and the button) stop CW and the rotator
    • Merge pull request #537 from df7cb/Color callsign red on dupes
    • Merge pull request #538 from df7cb/Fix space between adjacent macros
    • Merge pull request #532 from df7cb/PgUp/PgDown change CW speed by 2 wpm
    • Merge pull request #531 from df7cb/Keep self.cw.speed and self.cw_speed.value() in sync
    • Merge pull request #529 from TnxQSO-Admin/Add SSA Månadstest (SSA MT) contest plugin for CW and SSB
  • [2026-04-14] Fix bug where stroke character in station call was interpreted as a file folder delimiter in cabrillo filenames.
  • [2026-04-08] Merge pull request #522 from mbridak/agcw-qrp
    • Refactor AGCW QRP plugin: remove unused member variable and streamline database queries
  • [2026-03-21] Refactor NR formatting and clean up unused imports in AGCW QRP plugin
    • Update accessible name for member number and enhance SentNr formatting in AGCW QRP plugin
    • Refactor QSO Points and update hints in AGCW QRP plugin
  • [2026-03-18] Add AGCW QRP contest support from Michael Hartje DK5HH and update UI for new contest entry

See CHANGELOG.md for prior changes.

Installation

TL;DR

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.

  • 45+ supported contests
  • Lookup, QRZ and HamQTH
  • CAT Control, rigctld and flrig
  • CW Keyer Interface, winkeyer and cwdaemon
  • Cluster and Bandmap
  • Rotator control, rotctld
  • Multi Multi (The super sketchy not ready for prime time)
  • N1MM Packet output for nodered
  • WSJT-X FT8/FT4/ETC and FLDIGI RTTY
  • 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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

not1mm-26.5.6.tar.gz (3.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

not1mm-26.5.6-py3-none-any.whl (3.6 MB view details)

Uploaded Python 3

File details

Details for the file not1mm-26.5.6.tar.gz.

File metadata

  • Download URL: not1mm-26.5.6.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for not1mm-26.5.6.tar.gz
Algorithm Hash digest
SHA256 d848ccd5582086edfdc82e8f52222a53ad61d9e7a8eee354fbbd5d25ecb22793
MD5 b5fc4e3332d452b894a77a56d955fd93
BLAKE2b-256 19ab13619e4fdeb4719bb92c2e3bfc0427aaa32d4921c2acc3308decbcfcaecf

See more details on using hashes here.

File details

Details for the file not1mm-26.5.6-py3-none-any.whl.

File metadata

  • Download URL: not1mm-26.5.6-py3-none-any.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for not1mm-26.5.6-py3-none-any.whl
Algorithm Hash digest
SHA256 41212fb05f6750fd0486f12ebe6c62648e68155f7794ecffa74783c0acac256c
MD5 3222e026f039778505d54f2d822ebaf0
BLAKE2b-256 e66392534a04976d80a9ae48704dd200d836ba052934df6e3762549cb3023dc3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page