Skip to content

Commit 3d6950f

Browse files
committed
Merge branch 'dev' to define 3.0.0dev5.
2 parents c5772b3 + 9f47a32 commit 3d6950f

File tree

332 files changed

+19666
-31959
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

332 files changed

+19666
-31959
lines changed

.coveragerc

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
[run]
2+
include =
3+
pymodbus/
4+
test/
25
omit =
3-
pymodbus/repl/*
4-
pymodbus/internal/*
5-
pymodbus/server/asyncio.py
6-
pymodbus/server/reactive/*
6+
test/TO_DO_REWRITE
7+
examples/common/tornado_twister
8+
examples/contrib/tornado_twister

.github/ISSUE_TEMPLATE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ support questions.
44
55
Before opening a new issue, make sure you do the following:
66
* check that your issue isn't already filed: https://github.com/riptideio/pymodbus/issues
7+
* check the discussions forum https://github.com/riptideio/pymodbus/discussions
78
* prepare a short, runnable example that reproduce the issue with the latest development version of Pymodbus
89
-->
910

.github/pythonpackage.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ jobs:
1515
python-version: '3.x'
1616
- name: Install dependencies
1717
run: |
18-
python -m pip install --upgrade pip
18+
python3 -m pip install --upgrade pip
1919
pip install setuptools wheel twine
2020
- name: Build and publish
2121
env:
2222
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
2323
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
2424
run: |
25-
python setup.py sdist bdist_wheel
25+
python3 setup.py sdist bdist_wheel
2626
twine upload dist/*

.github/workflows/ci.yml

Lines changed: 35 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: CI
33
on:
44
push:
55
branches:
6-
- dev
6+
- dev*
77
- master
88
tags:
99
- v*
@@ -20,8 +20,9 @@ jobs:
2020
name: ${{ matrix.task.name }} - ${{ matrix.os.name }} ${{ matrix.python.name }} ${{ matrix.arch.name }}
2121
runs-on: ${{ matrix.os.runs-on }}
2222
container: ${{ matrix.os.container[matrix.python.docker] }}
23-
# present runtime seems to be about 1 minute 30 seconds
24-
timeout-minutes: 10
23+
# present runtime seems to be about 2-4 minutes
24+
# with pypy being the exception (7 minutes)
25+
timeout-minutes: 15
2526
strategy:
2627
fail-fast: false
2728
matrix:
@@ -34,12 +35,9 @@ jobs:
3435
runs-on: ubuntu-latest
3536
matrix: linux
3637
container:
37-
2.7: docker://python:2.7-buster
38-
3.6: docker://python:3.6-buster
39-
3.7: docker://python:3.7-buster
4038
3.8: docker://python:3.8-buster
4139
3.9: docker://python:3.9-buster
42-
pypy2: docker://pypy:2-jessie
40+
3.10: docker://python:3.10-buster
4341
pypy3: docker://pypy:3-stretch
4442
- name: macOS
4543
runs-on: macos-latest
@@ -51,31 +49,6 @@ jobs:
5149
x86: win32
5250
x64: win64
5351
python:
54-
- name: CPython 2.7
55-
tox: py27
56-
action: 2.7
57-
docker: 2.7
58-
matrix: 2.7
59-
implementation: cpython
60-
- name: PyPy 2.7
61-
tox: pypy27
62-
action: pypy-2.7
63-
docker: pypy2.7
64-
matrix: 2.7
65-
implementation: pypy
66-
openssl_msvc_version: 2019
67-
- name: CPython 3.6
68-
tox: py36
69-
action: 3.6
70-
docker: 3.6
71-
matrix: 3.6
72-
implementation: cpython
73-
- name: CPython 3.7
74-
tox: py37
75-
action: 3.7
76-
docker: 3.7
77-
matrix: 3.7
78-
implementation: cpython
7952
- name: CPython 3.8
8053
tox: py38
8154
action: 3.8
@@ -88,18 +61,17 @@ jobs:
8861
docker: 3.9
8962
matrix: 3.9
9063
implementation: cpython
91-
- name: PyPy 3.6
92-
tox: pypy36
93-
action: pypy-3.6
94-
docker: pypy3.6
95-
matrix: 3.6
96-
implementation: pypy
97-
openssl_msvc_version: 2019
98-
- name: PyPy 3.7
99-
tox: pypy37
100-
action: pypy-3.7
101-
docker: pypy3.7
102-
matrix: 3.7
64+
- name: 'CPython 3.10'
65+
tox: 'py310'
66+
action: '3.10'
67+
docker: '3.10'
68+
matrix: '3.10'
69+
implementation: cpython
70+
- name: PyPy 3.8
71+
tox: pypy38
72+
action: pypy-3.8
73+
docker: pypy3.8
74+
matrix: 3.8
10375
implementation: pypy
10476
openssl_msvc_version: 2019
10577
arch:
@@ -124,6 +96,11 @@ jobs:
12496
implementation: pypy
12597
arch:
12698
matrix: x64
99+
- os:
100+
matrix: windows
101+
python:
102+
implementation: pypy
103+
matrix: 3.8
127104
env:
128105
# Should match name above
129106
JOB_NAME: ${{ matrix.task.name }} - ${{ matrix.os.name }} ${{ matrix.python.name }} ${{ matrix.arch.name }}
@@ -147,7 +124,6 @@ jobs:
147124
run: |
148125
pip install --upgrade pip setuptools wheel
149126
pip install --upgrade tox
150-
- uses: twisted/[email protected]
151127
- name: Add PyPy Externals
152128
if: ${{ matrix.os.matrix == 'windows' && matrix.python.implementation == 'pypy'}}
153129
env:
@@ -202,11 +178,24 @@ jobs:
202178
fail-fast: false
203179
matrix:
204180
task:
181+
- name: pylint
182+
tox: pylint
183+
# continue_on_error: true
184+
- name: codespell
185+
tox: codespell
186+
# continue_on_error: true
187+
- name: bandit
188+
tox: bandit
189+
# continue_on_error: true
205190
- name: flake8
206191
tox: flake8
207-
continue_on_error: true
192+
# continue_on_error: true
193+
- name: black
194+
tox: black
195+
# continue_on_error: true
208196
- name: Docs
209197
tox: docs
198+
# continue_on_error: true
210199
os:
211200
- name: Linux
212201
runs-on: ubuntu-latest
@@ -234,7 +223,6 @@ jobs:
234223
run: |
235224
pip install --upgrade pip setuptools wheel
236225
pip install --upgrade tox
237-
- uses: twisted/[email protected]
238226
- name: Test
239227
continue-on-error: ${{ matrix.task.continue_on_error == true }}
240228
run: |
@@ -281,8 +269,6 @@ jobs:
281269
run: |
282270
pip install --upgrade pip setuptools wheel
283271
pip install --upgrade tox
284-
pip install --upgrade six
285-
- uses: twisted/[email protected]
286272
- name: Download Coverage
287273
if: matrix.task.download_coverage
288274
uses: actions/download-artifact@v2

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
*.swp
33
build/
44
dist/
5+
venv/
56
pymodbus.egg-info/
67
.coverage
78
.vscode
@@ -39,3 +40,5 @@ test/__pycache__/
3940
**/.pymodhis
4041
/build/
4142
/dist/
43+
**/.DS_Store
44+
/venv

.isort.cfg

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Configuration settings for isort.
2+
[settings]
3+
py_version=38
4+
profile=black
5+
line_length = 80
6+
lines_after_imports = 2
7+
known_local_folder =
8+
common
9+
contrib
10+
sections =
11+
FUTURE
12+
STDLIB
13+
THIRDPARTY
14+
FIRSTPARTY
15+
LOCALFOLDER
16+
include_trailing_comma = true
17+
use_parentheses = true
18+
combine_as_imports = true
19+
force_sort_within_sections = true
20+
forced_separate = doc,examples,pymodbus,test
21+
known_first_party = doc,examples,pymodbus,test

.readthedocs.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22
formats:
33
- epub
44
- pdf
5-
requirements_file: requirements-docs.txt
5+
requirements_file: requirements.txt
66
python:
77
extra_requirements:
8-
- twisted
9-
- tornado
108
- documents
11-
version: 3.5
9+
version: 3.8

CHANGELOG.rst

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,38 @@
1+
version 3.0.0dev4
2+
----------------------------------------------------------
3+
* Documentation updates
4+
* PEP8 compatibale code
5+
* More tooling and CI updates
6+
7+
version 3.0.0dev3
8+
----------------------------------------------------------
9+
* Remove python2 compatibility code (#564)
10+
* Remove Python2 checks and Python2 code snippets
11+
* Misc co-routines related fixes
12+
* Fix CI for python3 and remove PyPI from CI
13+
14+
15+
version 3.0.0dev2
16+
----------------------------------------------------------
17+
* Fix mask_write_register call. (#685)
18+
* Add support for byte strings in the device information fields (#693)
19+
* Catch socket going away. (#722)
20+
* Misc typo errors (#718)
21+
22+
version 3.0.0dev1
23+
----------------------------------------------------------
24+
* Support python3.10
25+
* Implement asyncio ModbusSerialServer
26+
* ModbusTLS updates (tls handshake, default framer)
27+
* Support broadcast messages with asyncio client
28+
* Fix for lazy loading serial module with asyncio clients.
29+
* Updated examples and tests
30+
31+
version 3.0.0dev0
32+
----------------------------------------------------------
33+
* Support python3.7 and above
34+
* Support creating asyncio clients from with in coroutines.
35+
136
version 2.5.3
237
----------------------------------------------------------
338
* Fix retries on tcp client failing randomly.
@@ -95,7 +130,7 @@ Version 2.3.0rc1
95130

96131
Version 2.2.0
97132
-----------------------------------------------------------
98-
**NOTE: Supports python 3.7, async client is now moved to pymodbus/client/asychronous**
133+
**NOTE: Supports python 3.7, async client is now moved to pymodbus/client/asynchronous**
99134

100135

101136
.. code-block:: python
@@ -225,7 +260,7 @@ Version 1.4.0
225260
* Support Database slave contexts (SqlStore and RedisStore)
226261
* Custom handlers could be passed to Modbus TCP servers
227262
* Asynchronous Server could now be stopped when running on a seperate thread (StopServer)
228-
* Signal handlers on Asyncronous servers are now handled based on current thread
263+
* Signal handlers on Asynchronous servers are now handled based on current thread
229264
* Registers in Database datastore could now be read from remote clients
230265
* Fix examples in contrib (message_parser.py/message_generator.py/remote_server_context)
231266
* Add new example for SqlStore and RedisStore (db store slave context)
@@ -240,7 +275,7 @@ Version 1.3.2
240275
* Fix issue with server and client where in the frame buffer had values from previous unsuccesful transaction
241276
* Fix response length calculation for ModbusASCII protocol
242277
* Fix response length calculation ReportSlaveIdResponse, DiagnosticStatusResponse
243-
* Fix never ending transaction case when response is recieved without header and CRC
278+
* Fix never ending transaction case when response is received without header and CRC
244279
* Fix tests
245280
246281
Version 1.3.1

Makefile

Lines changed: 0 additions & 82 deletions
This file was deleted.

0 commit comments

Comments
 (0)