Skip to main content
Pre-release

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

CANConfigPython

Python CLI and API for CANHub, CANFB, CANBridge, CANRPT and CANCOM configuration. The package runs a bundled Qt console subprocess, which uses WIICAN. It does not require a GUI installation or a separately installed Qt runtime.

0.1.0a1 is a prerelease. Windows wheels are tested with Python 3.8 x86 and Python 3.12 x64; both run the bundled x86 runtime as a separate process. The Linux x86_64 wheel requires glibc 2.38 or later and was built/tested on Ubuntu 24.04 with Python 3.12 and Qt 5.15.13. The bundled runtime contains Console, WIICAN and the required Qt/shared libraries. Consult VALIDATION.md and the release evidence for installation checks. ARM64, macOS and musl are not supported.

canconfig / Python Client
    -> CANConfigConsole.exe + WIICAN.dll           (Windows)
    -> CANConfigConsole + libWIICAN.so.1           (Linux)

First use

Until the project is uploaded, install the supplied local wheel:

python -m pip install path/to/canconfigpython-0.1.0a1-py3-none-win_amd64.whl
canconfig --version --json
canconfig doctor --json
canconfig docs export --output ./canconfig-docs
canconfig skill export --output ./canconfig-skill

After publication, use python -m pip install --pre CANConfigPython. doctor, schema, validate and firmware --dry-run do not open hardware. Configuration info and --dry-run do connect and may change the device run mode.

Python API

from canconfigpython import Client, ConfigError

client = Client()
try:
    result = client.execute("info", port="COM3")  # Linux: /dev/serial/by-id/...
except ConfigError as error:
    print(error.code, error.message)
else:
    print(result["exit_code"], result["effects"], result["verification"])

execute(command, password=..., new_password=..., **options) uses snake_case options such as expect_uid, dry_run, and timeout_ms; its command names match the CLI. Provide passwords from a secret store or prompt, not source code. Backend failures return the full result; callers must check ok and exit_code. Local validation/runtime errors raise ConfigError. The wrapper does not retry.

The Python layer uses only the standard library. Python 3.8+ is supported by syntax; see the validation record for interpreter versions actually tested.

License

The Python wrapper and project additions are MIT. The bundled Console incorporates XinLi's GPL-3.0-or-later Ymodem implementation and is distributed under that license. Its corresponding project source is included in every wheel as canconfigpython/resources/docs/native-source.tar.gz (also exported by canconfig docs export). Qt and compiler runtime components retain their own licenses. Materials and rebuild instructions are in THIRD_PARTY_NOTICES.md. A runtime manifest checks bundle consistency; it is not a publisher signature.

Metadata

Release files for CANConfigPython 0.1.0a1

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

Source distribution (sdist)

Source distribution for CANConfigPython 0.1.0a1
File Size Uploaded
canconfigpython-0.1.0a1.tar.gz 4.9 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for CANConfigPython 0.1.0a1
File Interpreter ABI Platform
canconfigpython-0.1.0a1-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
canconfigpython-0.1.0a1-py3-none-win32.whl Python 3 none Windows x86-32 Details
canconfigpython-0.1.0a1-py3-none-manylinux_2_38_x86_64.manylinux_2_39_x86_64.whl Python 3 none Linux glibc 2.39+ x86-64, Linux glibc 2.38+ x86-64 Details

Total release size: 36.5 MB

Release files / canconfigpython-0.1.0a1.tar.gz

Download URL canconfigpython-0.1.0a1.tar.gz
Size 4.9 MB
Tags Source
SHA-256 checksum
How to use checksums
531b911283dfcfdb9f3e108a4e6451f2402f14b44c28c196cd13a7d037644fc6
BLAKE2b-256 checksum
How to use checksums
341469e75c6ab9b7a18e62138c14dbdbc6a7ec1850eead9cb36bd27a733e840d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / canconfigpython-0.1.0a1-py3-none-win_amd64.whl

Download URL canconfigpython-0.1.0a1-py3-none-win_amd64.whl
Size 4.9 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
466dee19424a5c4f1fe68c98e95955c85ce8fa6942f99082c5a3728a9844abff
BLAKE2b-256 checksum
How to use checksums
074513ffa5939c201a0062b16638915cb074c42cd83514b561fd76427439bccb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / canconfigpython-0.1.0a1-py3-none-win32.whl

Download URL canconfigpython-0.1.0a1-py3-none-win32.whl
Size 4.9 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
a3e821389888394bcb8a7c9eb95b6edd6553a9a1e7dfb372dfdeb31a9e450d50
BLAKE2b-256 checksum
How to use checksums
7647a98a1fa193065b0439ba3761d08327241ab14211dfc7f3d3b7c4c7d85ef6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / canconfigpython-0.1.0a1-py3-none-manylinux_2_38_x86_64.manylinux_2_39_x86_64.whl

Download URL canconfigpython-0.1.0a1-py3-none-manylinux_2_38_x86_64.manylinux_2_39_x86_64.whl
Size 21.8 MB
Tags Linux glibc 2.38+ x86-64 Linux glibc 2.39+ x86-64 Python 3
SHA-256 checksum
How to use checksums
8e20c52bb7dea74312bdca73413020dda9decebc010ab79f73c283151277a2ba
BLAKE2b-256 checksum
How to use checksums
7b4e8f9403ca30fcd25fa4eef8b4c7dfbadd55aebe841c34afe211a4e6336c15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

0.1.0a1 This release

4 release files

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