Skip to content


Switch branches/tags


This is a ctypes based python wrapper for snap7. Snap7 is an open source, 32/64 bit, multi-platform Ethernet communication suite for interfacing natively with Siemens S7 PLCs.

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

The full documentation is available on Read The Docs.


If you are running Windows 10, Mac OS X or GNU/Linux on an Intel x64 compatible platform you can use the binary wheel installation:

$ pip install python-snap7

Ofterwise, please read the online installation documentation.


  • Gijs Molenaar (gijs at pythonic dot nl)
  • Stephan Preeker (stephan at preeker dot net)

Both authors are available for contracting to improve python-snap7. Please contact us at the email address above for inquiries.

Special thanks to

  • Davide Nardella for creating snap7
  • Thomas Hergenhahn for his libnodave.
  • Thomas W for his S7comm wireshark plugin
  • Fabian Beitler and Nikteliy for their contributions towards the 1.0 release
  • Lautaro Nahuel Dapino for his contributions.