Skip to main content

Pure Python S7 communication library for Siemens PLCs

Project description

About

Python-snap7 is a pure Python S7 communication library for interfacing with Siemens S7 PLCs.

The name “python-snap7” is historical — the library originally started as a Python wrapper around the Snap7 C library. As of version 3.0, the C library is no longer used, but the name is kept for backwards compatibility.

Python-snap7 is tested with Python 3.10+, on Windows, Linux and OS X.

The full documentation is available on Read The Docs.

Version 3.0 - Pure Python Rewrite

Version 3.0 is a ground-up rewrite of python-snap7. The library no longer wraps the C snap7 shared library — instead, the entire S7 protocol stack (TPKT, COTP, and S7) is now implemented in pure Python. This is a breaking change from all previous versions.

Why this matters:

  • Portability: No more platform-specific shared libraries (.dll, .so, .dylib). python-snap7 now works on any platform that runs Python — including ARM, Alpine Linux, and other environments where the C library was difficult or impossible to install.

  • Easier installation: Just pip install python-snap7. No native dependencies, no compiler toolchains, no manual library setup.

  • Easier to extend: New features and protocol support can be added directly in Python.

If you experience issues with 3.0:

  1. Please report them on the issue tracker with a clear description of the problem and the version you are using (python -c "import snap7; print(snap7.__version__)").

  2. As a workaround, you can pin to the last pre-3.0 release:

    $ pip install "python-snap7<3"

    The latest stable pre-3.0 release is version 2.1.0. Documentation for pre-3.0 versions is available at Read The Docs.

Installation

Install using pip:

$ pip install python-snap7

No native libraries or platform-specific dependencies are required — python-snap7 is a pure Python package that works on all platforms.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python_snap7-3.0.0.tar.gz (110.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python_snap7-3.0.0-py3-none-any.whl (85.4 kB view details)

Uploaded Python 3

File details

Details for the file python_snap7-3.0.0.tar.gz.

File metadata

  • Download URL: python_snap7-3.0.0.tar.gz
  • Upload date:
  • Size: 110.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for python_snap7-3.0.0.tar.gz
Algorithm Hash digest
SHA256 035807be8464cb15ad6833abf69d003d91e816ef690351dafef12448867d5c69
MD5 f2f15cde30d35fb98f9001b209eb68d6
BLAKE2b-256 d31a89e8057b11f8537ccb92bbe0c42cd94069cb79571a0073355942063c3bd9

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_snap7-3.0.0.tar.gz:

Publisher: publish-pypi.yml on gijzelaerr/python-snap7

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_snap7-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: python_snap7-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 85.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for python_snap7-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 309d2c9cc217cc5b626394d971bfd92e2fc61b42d12c0857f65e3fa1c800ae9b
MD5 aa7ba9e0eff8bf4c08c1320cc1c0ffdb
BLAKE2b-256 ede4d5b65c8fe8a0a9f449f9ea41593d839f2b139ba2ae6db6e25e51f1e690fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_snap7-3.0.0-py3-none-any.whl:

Publisher: publish-pypi.yml on gijzelaerr/python-snap7

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page