Commit 2743ba5
Remove clib dependency, use pure Python implementation only
This commit completes the migration to a pure Python S7 protocol
implementation, removing the dependency on the native Snap7 C library.
Changes:
- Remove snap7/clib/ folder (ctypes bindings)
- Remove snap7/native/ folder (move contents to snap7/)
- Remove snap7/common.py, snap7/protocol.py, snap7/protocol.pyi
- Flatten structure: client.py, server.py, partner.py at top level
- Add connection.py, datatypes.py, s7protocol.py for protocol handling
- Simplify CI/CD workflows (no native library builds needed)
- Update README.rst and CLAUDE.md for pure Python architecture
- Update pyproject.toml (remove native lib package-data)
- Update all tests to work with native implementation
The package is now a pure Python wheel that works on all platforms
without architecture-specific builds.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>1 parent 323d607 commit 2743ba5
63 files changed
Lines changed: 3993 additions & 8248 deletions
File tree
- .github
- actions
- manylinux_2_28_aarch64
- manylinux_2_28_x86_64
- prepare_snap7
- build_scripts
- workflows
- snap7
- clib
- native
- partner
- server
- tests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
0 commit comments