Skip to content

Commit 65c3baf

Browse files
authored
Merge pull request #301 from riptideio/dev
Pymodbus V2.0.0
2 parents 13de8ab + 2ecf7ff commit 65c3baf

File tree

119 files changed

+6656
-765
lines changed

Some content is hidden

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

119 files changed

+6656
-765
lines changed

.coveragerc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1-
[report]
2-
show_missing = True
1+
[run]
2+
omit =
3+
pymodbus/repl/*

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ pymodbus/server/__pycache__/
2222
test/__pycache__/
2323
**/pymodbus.db
2424
/.eggs/
25+
/test/bin/
26+
/test/include/
27+
/test/lib/
28+
/test/pip-selfcheck.json
29+
/test/.Python
2530
/.cache/
2631
/doc/sphinx/doctrees/
2732
/doc_new/
@@ -31,3 +36,4 @@ test/__pycache__/
3136
/doc/html/
3237
/doc/_build/
3338
.pytest_cache/
39+
/.pymodhis

.readthedocs.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@ requirements_file: requirements-docs.txt
66
python:
77
extra_requirements:
88
- twisted
9+
- tornado
910
- documents
11+
version: 3.5

.travis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,15 @@ matrix:
1111
- os: linux
1212
python: "3.6"
1313
- os: osx
14+
osx_image: xcode8.3
1415
language: generic
1516
before_install:
1617
- if [ $TRAVIS_OS_NAME = osx ]; then brew update; fi
1718
- if [ $TRAVIS_OS_NAME = osx ]; then brew install openssl; fi
1819

1920
install:
2021
# - scripts/travis.sh pip install pip-accel
22+
- scripts/travis.sh pip install -U setuptools
2123
- scripts/travis.sh pip install coveralls
2224
- scripts/travis.sh pip install --requirement=requirements-checks.txt
2325
- scripts/travis.sh pip install --requirement=requirements-tests.txt

CHANGELOG.rst

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
Version 2.0.0
2+
-----------------------------------------------------------
3+
**Note This is a Major release and might affect your existing Async client implementation. Refer examples on how to use the latest async clients.**
4+
5+
* Async client implementation based on Tornado, Twisted and asyncio with backward compatibility support for twisted client.
6+
* Allow reusing existing[running] asyncio loop when creating async client based on asyncio.
7+
* Allow reusing address for Modbus TCP sync server.
8+
* Add support to install tornado as extra requirement while installing pymodbus.
9+
* Support Pymodbus REPL
10+
* Add support to python 3.7.
11+
* Bug fix and enhancements in examples.
12+
13+
14+
Version 2.0.0rc1
15+
-----------------------------------------------------------
16+
**Note This is a Major release and might affect your existing Async client implementation. Refer examples on how to use the latest async clients.**
17+
18+
* Async client implementation based on Tornado, Twisted and asyncio
19+
20+
121
Version 1.5.2
222
------------------------------------------------------------
323
* Fix serial client `is_socket_open` method

MANIFEST.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
include requirements.txt
2+
include README.rst
3+
include CHANGELOG.rst

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ check: install
3939

4040
test: install
4141
@pip install --quiet --requirement=requirements-tests.txt
42-
@py.test
42+
@pytest --cov=pymodbus/ --cov-report term-missing
4343
@coverage report --fail-under=90
4444

4545
tox: install

README.rst

Lines changed: 43 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
.. image:: https://travis-ci.org/riptideio/pymodbus.svg?branch=master
22
:target: https://travis-ci.org/riptideio/pymodbus
3-
43
.. image:: https://badges.gitter.im/Join%20Chat.svg
5-
:target: https://gitter.im/pymodbus_dev/Lobby
6-
7-
.. image:: https://readthedocs.org/projects/pymodbus-n/badge/?version=latest
8-
:target: http://pymodbus.readthedocs.io/en/latest/?badge=latest
4+
:target: https://gitter.im/pymodbus_dev/Lobby
5+
.. image:: https://readthedocs.org/projects/pymodbus/badge/?version=latest
6+
:target: http://pymodbus.readthedocs.io/en/async/?badge=latest
97
:alt: Documentation Status
8+
.. image:: http://pepy.tech/badge/pymodbus
9+
:target: http://pepy.tech/project/pymodbus
10+
:alt: Downloads
11+
12+
.. important::
13+
**Note This is a Major release and might affect your existing Async client implementation. Refer examples on how to use the latest async clients.**
1014

1115
============================================================
1216
Summary
@@ -30,8 +34,9 @@ Client Features
3034
* Full read/write protocol on discrete and register
3135
* Most of the extended protocol (diagnostic/file/pipe/setting/information)
3236
* TCP, UDP, Serial ASCII, Serial RTU, and Serial Binary
33-
* asynchronous(powered by twisted) and synchronous versions
37+
* asynchronous(powered by twisted/tornado/asyncio) and synchronous versions
3438
* Payload builder/decoder utilities
39+
* Pymodbus REPL for quick tests
3540

3641
------------------------------------------------------------
3742
Server Features
@@ -89,9 +94,21 @@ trace them. I get a lot of email and sometimes these requests
8994
get lost in the noise: http://groups.google.com/group/pymodbus or
9095
at gitter: https://gitter.im/pymodbus_dev/Lobby
9196

92-
------------------------------------------------------------
97+
============================================================
98+
Pymodbus REPL (Read Evaluate Procee Loop)
99+
============================================================
100+
Starting with Pymodbus 2.x, pymodbus library comes with handy
101+
Pymodbus REPL to quickly run the modbus clients in tcp/rtu modes.
102+
103+
Pymodbus REPL comes with many handy features such as payload decoder
104+
to directly retrieve the values in desired format and supports all
105+
the diagnostic function codes directly .
106+
107+
For more info on REPL refer `Pymodbus REPL <pymodbus/repl/README.md>`_
108+
109+
============================================================
93110
Installing
94-
------------------------------------------------------------
111+
============================================================
95112

96113
You can install using pip or easy install by issuing the following
97114
commands in a terminal window (make sure you have correct
@@ -100,6 +117,18 @@ permissions or a virtualenv currently running)::
100117
easy_install -U pymodbus
101118
pip install -U pymodbus
102119

120+
To Install pymodbus with twisted support run::
121+
122+
pip install -U pymodbus[twisted]
123+
124+
To Install pymodbus with tornado support run::
125+
126+
pip install -U pymodbus[tornado]
127+
128+
To Install pymodbus REPL::
129+
130+
pip install -U pymodbus[repl]
131+
103132
Otherwise you can pull the trunk source and install from there::
104133

105134
git clone git://github.com/bashwork/pymodbus.git
@@ -115,9 +144,9 @@ out all mentions of twisted. It should be noted that without twisted,
115144
one will only be able to run the synchronized version as the
116145
asynchronous versions uses twisted for its event loop.
117146

118-
------------------------------------------------------------
147+
============================================================
119148
Current Work In Progress
120-
------------------------------------------------------------
149+
============================================================
121150

122151
Since I don't have access to any live modbus devices anymore
123152
it is a bit hard to test on live hardware. However, if you would
@@ -153,14 +182,14 @@ Use make to perform a range of activities
153182
make tox run the tests on all Python versions
154183
make clean cleanup all temporary files
155184

156-
------------------------------------------------------------
185+
============================================================
157186
Contributing
158-
------------------------------------------------------------
187+
============================================================
159188
Just fork the repo and raise your PR against `dev` branch.
160189

161-
------------------------------------------------------------
190+
============================================================
162191
License Information
163-
------------------------------------------------------------
192+
============================================================
164193

165194
Pymodbus is built on top of code developed from/by:
166195
* Copyright (c) 2001-2005 S.W.A.C. GmbH, Germany.

doc/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Welcome to PyModbus's documentation!
1212

1313
readme.rst
1414
changelog.rst
15+
repl.rst
1516
source/example/modules.rst
1617
source/library/modules.rst
1718

doc/repl.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Pymodbus REPL
2+
=============
3+
4+
.. mdinclude:: ../pymodbus/repl/README.md

0 commit comments

Comments
 (0)