@@ -8,18 +8,34 @@ Python-snap7 is tested with Python 3.10+, on Windows, Linux and OS X.
88The full documentation is available on `Read The Docs <https://python-snap7.readthedocs.io/en/latest/ >`_.
99
1010
11- Version 3.0 - Breaking Changes
12- ===============================
11+ Version 3.0 - Pure Python Rewrite
12+ ==================================
1313
14- Version 3.0 is a major release that rewrites python-snap7 as a pure Python
15- implementation. The C snap7 library is no longer required.
14+ Version 3.0 is a ground-up rewrite of python-snap7. The library no longer wraps the
15+ C snap7 shared library — instead, the entire S7 protocol stack (TPKT, COTP, and S7)
16+ is now implemented in pure Python. This is a **breaking change ** from all previous
17+ versions.
1618
17- This release may contain breaking changes. If you experience issues, you can
18- pin to the last pre-3.0 release::
19+ **Why this matters: **
1920
20- $ pip install "python-snap7<3"
21+ * **Portability **: No more platform-specific shared libraries (`.dll `, `.so `, `.dylib `).
22+ python-snap7 now works on any platform that runs Python — including ARM, Alpine Linux,
23+ and other environments where the C library was difficult or impossible to install.
24+ * **Easier installation **: Just ``pip install python-snap7 ``. No native dependencies,
25+ no compiler toolchains, no manual library setup.
26+ * **Easier to extend **: New features and protocol support can be added directly in Python.
2127
22- The latest stable pre-3.0 release is version 2.1.0.
28+ **If you experience issues with 3.0: **
29+
30+ 1. Please report them on the `issue tracker <https://github.com/gijzelaerr/python-snap7/issues >`_
31+ with a clear description of the problem and the version you are using
32+ (``python -c "import snap7; print(snap7.__version__)" ``).
33+ 2. As a workaround, you can pin to the last pre-3.0 release::
34+
35+ $ pip install "python-snap7<3"
36+
37+ The latest stable pre-3.0 release is version 2.1.0. Documentation for pre-3.0
38+ versions is available at `Read The Docs <https://python-snap7.readthedocs.io/en/v2/>`_.
2339
2440
2541Installation
@@ -29,4 +45,4 @@ Install using pip::
2945
3046 $ pip install python-snap7
3147
32- No native libraries or platform-specific dependencies are required - python-snap7 is a pure Python package that works on all platforms.
48+ No native libraries or platform-specific dependencies are required — python-snap7 is a pure Python package that works on all platforms.
0 commit comments