Skip to main content

GKBus

High level automotive protocol library

from gkbus.device import Bus, discover
from gkbus.protocol import kwp2000
from gkbus.transport import Kwp2000OverKLineTransport

print('available devices')
for device in discover():
	print(f'    {device.description()}')

device = discover({Bus.KLINE})[0] # or find_device('/dev/ttyUSB0')
channel = device.kline() # for CAN: device.canbus() and Kwp2000OverCanTransport
transport = Kwp2000OverKLineTransport(channel, tx_id=0x11, rx_id=0xf1)
kwp = kwp2000.Kwp2000Protocol(transport)

print('fast init')
init_success = kwp.init(kwp2000.commands.StartCommunication())
print('fast init : {}'.format(init_success))

print('requesting security access seed')
response = kwp.execute(kwp2000.commands.SecurityAccess().request_seed())
print(response.get_data())

print('starting flash reprogramming diagnostic session')
response = kwp.execute(
	kwp2000.commands.StartDiagnosticSession(
		kwp2000.enums.DiagnosticSession.FLASH_REPROGRAMMING
		)
	)
print(response)

kwp.close()

Layers

  • Device - the physical adapter (KKL cable, SocketCAN interface, PCAN, ...). Find them with discover(), or create one from a port name with find_device()
  • Channel - one bus on a device, device.kline() or device.canbus(). Reads and writes bytes (K-Line) or frames (CAN)
  • Transport - turns protocol PDUs into what goes over the channel (K-Line framing, ISO-TP). Opens the channel if it isn't open yet and then closes it too - a channel you opened yourself stays open, so you can hand it from one transport to the next
  • Protocol - KWP2000, CCP

Supported protocols

  • Kwp2000 (ISO14230) - over CAN and K-Line

  • CCP (Can Calibration Protocol)

Installing

GKBus is available on PyPi:

$ python -m pip install gkbus

API Reference available on Read the Docs

Metadata

Release files for gkbus 0.5.0

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

Source distribution (sdist)

Source distribution for gkbus 0.5.0
File Size Uploaded Provenance Actions
gkbus-0.5.0.tar.gz 48.3 kB With provenance Details for gkbus-0.5.0.tar.gz

Built distribution (wheel)

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

Total release size: 112.3 kB

Release files / gkbus-0.5.0.tar.gz

Download URL gkbus-0.5.0.tar.gz
Size 48.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c6f4cd414e860f299df0b9506525cb066589356ce6141689e6c6d6486e8de242
BLAKE2b-256 checksum
How to use checksums
a93ee9b570ecdc32dae4ecee82402dd985b393acf2a18654316ea3c19b0651ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Release files / gkbus-0.5.0-py3-none-any.whl

Download URL gkbus-0.5.0-py3-none-any.whl
Size 64.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d8a291be1d67c92dd64fa4cefa9afead31a10352dda0022b1a29472f8343c007
BLAKE2b-256 checksum
How to use checksums
a5e8a0e02c6e0b82ada3eee2d9cf084b6d237ebeb6a24dc646734c646945a080
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Security for gkbus 0.5.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for gkbus-0.5.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files Full 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