Kiss
A pure-Python implementation of the KISS Protocol for communicating with serial TNC devices for use with Amateur Radio.
Install / Use
/learn @ampledata/KissREADME
kiss - Python KISS Module
kiss is a Python Module that implementations the KISS Protocol <https://en.wikipedia.org/wiki/KISS_(TNC)>_ for
communicating with KISS-enabled devices (such as Serial or TCP TNCs).
Versions
- 6.5.x branch will be the last version of this Module that supports Python 2.7.x
- 7.x.x branch and-on will be Python 3.x ONLY.
Installation
Install from pypi using pip: pip install kiss
Usage Examples
Read & print frames from a TNC connected to '/dev/ttyUSB0' at 1200 baud::
import kiss
def p(x): print(x) # prints whatever is passed in.
k = kiss.SerialKISS('/dev/ttyUSB0', 1200)
k.start() # inits the TNC, optionally passes KISS config flags.
k.read(callback=p) # reads frames and passes them to `p`.
See also: examples/ directory.
Testing
Run nosetests from a Makefile target::
make test
See Also
Python APRS Module <https://github.com/ampledata/aprs>_ Library for sending, receiving and parsing APRS Frames to and from multiple InterfacesPython KISS Module <https://github.com/ampledata/kiss>_ Handles interfacing-to and encoding-for various KISS Interfaces.Python APRS Gateway <https://github.com/ampledata/aprsgate>_ Uses Redis PubSub to run a multi-interface APRS Gateway.Python APRS Tracker <https://github.com/ampledata/aprstracker>_ TK.dirus <https://github.com/ampledata/dirus>_ Dirus is a daemon for managing a SDR to Dire Wolf interface. Manifests that interface as a KISS TCP port.
Similar Projects
apex <https://github.com/Syncleus/apex>_ by Jeffrey Phillips Freeman (WI2ARD). Next-Gen APRS Protocol. (based on this Module! :)aprslib <https://github.com/rossengeorgiev/aprs-python>_ by Rossen Georgiev. A Python APRS Library with build-in parsers for several Frame types.aprx <http://thelifeofkenneth.com/aprx/>_ by Matti & Kenneth. A C-based Digi/IGate Software for POSIX platforms.dixprs <https://sites.google.com/site/dixprs/>_ by HA5DI. A Python APRS project with KISS, digipeater, et al., support.APRSDroid <http://aprsdroid.org/>_ by GE0RG. A Java/Scala Android APRS App.YAAC <http://www.ka2ddo.org/ka2ddo/YAAC.html>_ by KA2DDO. A Java APRS Client.Ham-APRS-FAP <http://search.cpan.org/dist/Ham-APRS-FAP/>_ by aprs.fi: A Perl APRS Parser.Dire Wolf <https://github.com/wb2osz/direwolf>_ by WB2OSZ. A C-Based Soft-TNC for interfacing with sound cards. Can present as a KISS interface!
Build Status
Master:
.. image:: https://travis-ci.org/ampledata/kiss.svg?branch=master :target: https://travis-ci.org/ampledata/kiss
Develop:
.. image:: https://travis-ci.org/ampledata/kiss.svg?branch=develop :target: https://travis-ci.org/ampledata/kiss
Source
Github: https://github.com/ampledata/kiss
Author
Greg Albrecht W2GMD oss@undef.net
http://ampledata.org/
Copyright
Copyright 2017 Greg Albrecht and Contributors
Automatic Packet Reporting System (APRS) <http://www.aprs.org/>_ is Copyright Bob Bruninga WB4APR wb4apr@amsat.org
License
Apache License, Version 2.0. See LICENSE for details.
Related Skills
node-connect
344.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
99.2kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
99.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
344.4kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
