Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

python-can

Latest Version on PyPi Documentation Travis CI Server for develop branch AppVeyor CI Server for develop branch Test coverage reports on Codecov.io Downloads on PePy

The Controller Area Network is a bus standard designed to allow microcontrollers and devices to communicate with each other. It has priority based bus arbitration and reliable deterministic communication. It is used in cars, trucks, boats, wheelchairs and more.

The can package provides controller area network support for Python developers; providing common abstractions to different hardware devices, and a suite of utilities for sending and receiving messages on a can bus.

The library supports Python 2.7, Python 3.5+ as well as PyPy 2 & 3 and runs on Mac, Linux and Windows.

Library Version

Python

2.x

2.6+, 3.4+

3.x

2.7+, 3.5+

4.x (expected)

3.6+

Features

  • common abstractions for CAN communication

  • support for many different backends (see the docs)

  • receiving, sending, and periodically sending messages

  • normal and extended arbitration IDs

  • limited CAN FD support

  • many different loggers and readers supporting playback: ASC (CANalyzer format), BLF (Binary Logging Format by Vector), CSV, SQLite and Canutils log

  • efficient in-kernel or in-hardware filtering of messages on supported interfaces

  • bus configuration reading from file or environment variables

  • CLI tools for working with CAN buses (see the docs)

  • more

Example usage

# import the library
import can

# create a bus instance
# many other interfaces are supported as well (see below)
bus = can.Bus(interface='socketcan',
              channel='vcan0',
              receive_own_messages=True)

# send a message
message = can.Message(arbitration_id=123, is_extended_id=True,
                      data=[0x11, 0x22, 0x33])
bus.send(message, timeout=0.2)

# iterate over received messages
for msg in bus:
    print("{X}: {}".format(msg.arbitration_id, msg.data))

# or use an asynchronous notifier
notifier = can.Notifier(bus, [can.Logger("recorded.log"), can.Printer()])

You can find more information in the documentation, online at python-can.readthedocs.org.

Discussion

If you run into bugs, you can file them in our issue tracker on GitHub.

There is also a python-can mailing list for development discussion.

Stackoverflow has several questions and answers tagged with python+can.

Wherever we interact, we strive to follow the Python Community Code of Conduct.

Contributing

See doc/development.rst for getting started.

Release files for python-can 3.3.3a0

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

Source distribution (sdist)

Source distribution for python-can 3.3.3a0
File Size Uploaded
python-can-3.3.3a0.tar.gz 182.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for python-can 3.3.3a0
File Interpreter ABI Platform
python_can-3.3.3a0-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 335.3 kB

Release files / python-can-3.3.3a0.tar.gz

Download URL python-can-3.3.3a0.tar.gz
Size 182.0 kB
Tags Source
SHA-256 checksum
How to use checksums
10c0ea504dd6878b2faa0ebb9f18b8646055ce7b7ca8b2d1dd4ee8e4b080946c
BLAKE2b-256 checksum
How to use checksums
3f144a7d9aa7f07aa33ee02bb3b67db69c5729e6452fbd03bc0f851f5e331e86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.0

Release files / python_can-3.3.3a0-py2.py3-none-any.whl

Download URL python_can-3.3.3a0-py2.py3-none-any.whl
Size 153.4 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
d0c89505c1311bcbc71fc5112850a58d94d169a3ebbd563dc51669a99bea246a
BLAKE2b-256 checksum
How to use checksums
1d56d4e26625eeb9517965390fee41f521aedab0ef7aa8e114530a471fe2f051
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.0

Release history Release notifications | RSS feed

4.6.1

2 release files

4.6.0

2 release files

4.5.0

2 release files

4.4.2

2 release files

4.4.0

2 release files

4.3.1

2 release files

4.3.0

2 release files

4.2.2

2 release files

4.2.1

2 release files

4.2.0

2 release files

4.1.0

2 release files

4.0.0

5 release files

3.3.4

1 release file

3.3.3

1 release file

This release

3.3.3a0 This release

2 release files

3.3.2

1 release file

3.3.1

1 release file

3.3.0

1 release file

3.2.1

1 release file

3.2.0

1 release file

3.1.1

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.5.2

2 release files

1.5.0

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

1 release file

1.4

1 release file

1.3

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