Skip to main content

s7commplus

Pure-Python S7CommPlus communication for Siemens S7-1200 and S7-1500 PLCs. It supports S7CommPlus V1, V2 (TLS), and V3; synchronous and asyncio clients; and a server emulator for testing. The synchronous client additionally supports legacy V1 SessionKey authentication; the asyncio client rejects that path during connection with an actionable error.

pip install s7commplus
from s7commplus import Client

with Client() as client:
    client.connect("192.168.1.10", 0, 1)
    data = client.db_read(1, 0, 4)

S7CommPlus is used by newer S7-1200/1500 PLCs when classic PUT/GET access is disabled. This is an unofficial implementation and is not affiliated with, endorsed by, or supported by Siemens AG. Test against an isolated controller before using it in production or safety-relevant environments.

Some older PLCs advertise only their SessionKey family instead of a complete public-key fingerprint. The synchronous Client tries the bounded set of bundled keys from that family on fresh sessions and caches the confirmed key for the PLC. Set allow_legacy_key_fallback=False on connect() when key probing must be disabled.

Development

python -m pip install -e '.[test]'
pytest
mypy s7commplus
ruff check s7commplus tests
ruff format --check s7commplus tests

Documentation is built by Read the Docs and validated in CI:

python -m pip install -e '.[docs]'
sphinx-build -W --keep-going -b html docs docs/_build/html

The session-authentication implementation derives from HarpoS7; its MIT license is included at s7commplus/session_auth/LICENSE-HarpoS7.

Metadata

Release files for s7commplus 0.1.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 s7commplus 0.1.0
File Size Uploaded
s7commplus-0.1.0.tar.gz 1.2 MB Details

Built distribution (wheel)

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

Total release size: 2.3 MB

Release files / s7commplus-0.1.0.tar.gz

Download URL s7commplus-0.1.0.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
81d6c75575368588cb63e7ab19a1e76da8b55305ea38656fa9ca3bbe68eff922
BLAKE2b-256 checksum
How to use checksums
fbced709e34d46ea350d7b175a6849b398b06a0d5ba3efc27f58551064dc568d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 20, 2026.

Transparency log

Release files / s7commplus-0.1.0-py3-none-any.whl

Download URL s7commplus-0.1.0-py3-none-any.whl
Size 1.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
ef4d9eefa3629505d06cc7c6e98dfb5739910bd873d72fd10a111088ac6cf6db
BLAKE2b-256 checksum
How to use checksums
f418b9c99a8b4a5a6b19cf62f83c47db823f07e36fcb16ea27c32207c2c215ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 20, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.0

2 release files

This release

0.1.0 This release

2 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