Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
ba425bd
fix docs (#544)
gijzelaerr Nov 2, 2024
e3aff06
make test timezone aware (#543)
gijzelaerr Nov 2, 2024
cd9096f
Fix pypi test (#547)
gijzelaerr Nov 2, 2024
0dcce7b
we dont need enum_tools.autoenum (#548)
gijzelaerr Nov 3, 2024
e1d2b3d
Cache `error_text()` instead of `check_error()` (#552)
mthuurne Nov 13, 2024
e3dbed6
wip : s7 lowlevel
lupaulus Mar 8, 2025
48d276a
chore : remove old test file
lupaulus Mar 11, 2025
c00bf61
setters.py -> set_string() -> isascii() (#561)
marvin-mangold Apr 29, 2025
da0d47f
chore : initial setup
lupaulus May 6, 2025
27e9fc9
style : python style
lupaulus May 6, 2025
d2167d8
drop Ubuntu 20.04 (#562)
gijzelaerr Jul 3, 2025
afd0ae6
fix_typo: ussage -> usage (#564)
isghe Jul 3, 2025
d488189
wip : work in progress about client
lupaulus Jul 26, 2025
6492648
Merge remote-tracking branch 'origin/master' into native_python
lupaulus Jul 26, 2025
775261a
Initial plan
Copilot Jul 26, 2025
11c2ea0
Fix core issues in native S7Client implementation
Copilot Jul 26, 2025
78e154c
Add comprehensive native S7 client with convenience methods and docum…
Copilot Jul 26, 2025
db44244
Complete native Python S7 client implementation with module integration
Copilot Jul 26, 2025
3a69792
Implement Sharp7-compatible functions: db_get, db_fill, write_multi_v…
Copilot Jul 26, 2025
05cabf7
Implement all Sharp7 client methods in s7_client.py - complete API co…
Copilot Jul 27, 2025
2a29700
Merge pull request #1 from lupaulus/copilot/fix-346657b7-ce5d-4efa-bf…
lupaulus Oct 4, 2025
0bdd5fe
Initial plan
Copilot Oct 4, 2025
93367ef
Implement low-level S7 server and partner classes
Copilot Oct 4, 2025
ca97765
Merge pull request #2 from lupaulus/copilot/fix-ac5bcff4-b25a-4413-b3…
lupaulus Oct 6, 2025
ca4e72d
Initial plan
Copilot Oct 6, 2025
c82a1fa
Add unit tests for low_level s7_client, s7_server, and s7_partner mod…
Copilot Oct 6, 2025
73b871e
Merge pull request #3 from lupaulus/copilot/fix-3a204cb4-b407-4779-b6…
lupaulus Oct 7, 2025
b6b6c4e
wip : removing old files
lupaulus Oct 11, 2025
4086ef0
wip : s7 low level client
lupaulus Oct 11, 2025
59a77d3
wip : s7 low level integration with main client
lupaulus Oct 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 3 additions & 6 deletions .github/workflows/doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
branches: [master]
jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -17,14 +17,11 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.12
- name: Install dependencies
run: |
python3 -m venv venv
venv/bin/pip install --upgrade pip
venv/bin/pip install ".[doc,cli]"
- name: Run doc
run: |
source venv/bin/activate
cd doc
make html
run: venv/bin/sphinx-build -N -bhtml doc/ doc/_build -W
2 changes: 1 addition & 1 deletion .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ env:
IMAGE_NAME: python-snap7
jobs:
build-and-push-container-image:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
permissions:
packages: write
contents: read
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/linux-build-test-amd64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
jobs:
linux-build-amd64:
name: Build wheel for linux AMD64
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -38,8 +38,8 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ["ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04"]
python-version: ["3.9", "3.10", "3.11", "3.12"]
os: ["ubuntu-24.04", "ubuntu-22.04"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/linux-build-test-arm64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
jobs:
linux-build-arm64:
name: Build wheel for linux arm64
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -38,10 +38,10 @@ jobs:
linux-test-arm64:
name: Testing wheel for arm64
needs: linux-build-arm64
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/linux-test-with-deb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ jobs:
build:
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
runs-on: ["ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
runs-on: ["ubuntu-22.04", "ubuntu-24.04"]
runs-on: ${{ matrix.runs-on }}
steps:
- name: Checkout
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/osx-build-test-amd64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:

osx-build:
name: Build wheel for OSX
runs-on: macos-12
runs-on: macos-13
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -46,8 +46,9 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-14, macos-12]
python-version: ["3.9", "3.10", "3.11", "3.12"]
os: ["macos-13", "macos-14", "macos-15"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]

steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/osx-test-with-brew.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,15 @@ jobs:
osx_wheel:
strategy:
matrix:
python-version: [ "3.9", "3.10", "3.11", "3.12" ]
runs-on: [ "macos-14", "macos-12" ]
python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ]
runs-on: ["macos-13", "macos-14", "macos-15"]

runs-on: ${{ matrix.runs-on }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install snap7
run: brew install snap7 python@${{ matrix.python-version }}
run: brew install --overwrite snap7 python@${{ matrix.python-version }}
- name: Install python-snap7
run: |
python${{ matrix.python-version }} -m venv venv
Expand Down
25 changes: 23 additions & 2 deletions .github/workflows/publish-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ jobs:
needs: publish-to-testpypi
strategy:
matrix:
os: [ubuntu-24.04, ubuntu-22.04, ubuntu-20.04, macos-14, macos-12, windows-2022, windows-2019]
python-version: ["3.9", "3.10", "3.11", "3.12"]
os: ["ubuntu-24.04"," ubuntu-22.04", "macos-13", "macos-14", "macos-15"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -69,3 +69,24 @@ jobs:
python3 -m venv venv
venv/bin/pip install --upgrade pip
venv/bin/pip install --extra-index-url https://test.pypi.org/simple/ python-snap7[test]

test-pypi-package-windows:
runs-on: ${{ matrix.os }}
needs: publish-to-testpypi
strategy:
matrix:
os: ["windows-2025", "windows-2022"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: install python-snap7
run: |
pip.exe install --upgrade pip
pip.exe install --extra-index-url https://test.pypi.org/simple/ python-snap7[test]
25 changes: 23 additions & 2 deletions .github/workflows/publish-test-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ jobs:
needs: publish-to-testpypi
strategy:
matrix:
os: [ubuntu-24.04, ubuntu-22.04, ubuntu-20.04, macos-14, macos-12, windows-2022, windows-2019]
python-version: ["3.9", "3.10", "3.11", "3.12"]
os: ["ubuntu-24.04"," ubuntu-22.04", "macos-13", "macos-14", "macos-15"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -72,3 +72,24 @@ jobs:
python3 -m venv venv
venv/bin/pip install --upgrade pip
venv/bin/pip install --extra-index-url https://test.pypi.org/simple/ python-snap7[test]

test-pypi-package-windows:
runs-on: ${{ matrix.os }}
needs: publish-to-testpypi
strategy:
matrix:
os: ["windows-2025", "windows-2022"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: install python-snap7
run: |
pip.exe install --upgrade pip
pip.exe install --extra-index-url https://test.pypi.org/simple/ python-snap7[test]
4 changes: 2 additions & 2 deletions .github/workflows/windows-build-test-amd64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-2022, windows-2019]
python-version: ["3.9", "3.10", "3.11", "3.12"]
os: [windows-2022, windows-2025]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/windows-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ jobs:
windows_wheel:
strategy:
matrix:
runs-on: [ "windows-2022", "windows-2019" ]
python-version: ["3.9", "3.10", "3.11", "3.12"]
runs-on: [ "windows-2022", "windows-2025" ]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
runs-on: ${{ matrix.runs-on }}
steps:
- name: Checkout
Expand Down
29 changes: 17 additions & 12 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,31 +1,36 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
rev: v5.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-ast
- id: check-shebang-scripts-are-executable
- id: check-json
- id: check-symlinks
- id: check-toml
- id: check-xml
- id: check-yaml
- id: check-illegal-windows-names
- id: check-merge-conflict
- id: debug-statements
- id: check-builtin-literals
- id: check-case-conflict
- id: check-docstring-first
- id: detect-private-key
- id: forbid-submodules
- id: mixed-line-ending

# - repo: https://github.com/pre-commit/mirrors-mypy
# rev: 'v1.10.0'
# hooks:
# - id: mypy
# additional_dependencies: [types-setuptools, types-click]
# files: ^snap7
- repo: https://github.com/pre-commit/mirrors-mypy
rev: 'v1.13.0'
hooks:
- id: mypy
additional_dependencies: [types-setuptools, types-click]
files: ^snap7

# - repo: https://github.com/astral-sh/ruff-pre-commit
# rev: 'v0.4.2'
#hooks:
#- id: ruff
#- id: ruff-format
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: 'v0.7.2'
hooks:
- id: ruff
- id: ruff-format
exclude: "snap7/protocol.py"
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ venv/bin/pytest: venv/
venv/bin/pip install -e ".[test]"

venv/bin/sphinx-build: venv/
venv/bin/pip install -e ".[doc]"
venv/bin/pip install -e ".[doc,cli]"

venv/bin/tox: venv/
venv/bin/pip install tox
Expand All @@ -29,7 +29,7 @@ setup: venv/installed

.PHONY: doc
doc: venv/bin/sphinx-build
cd doc && make html
venv/bin/sphinx-build -N -bhtml doc/ doc/_build

.PHONY: check
check: venv/bin/pytest
Expand Down
Loading