python-snap7 1.2__tar.gz → 1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. {python-snap7-1.2 → python_snap7-1.4}/MANIFEST.in +0 -1
  2. python_snap7-1.4/PKG-INFO +33 -0
  3. python_snap7-1.4/README.rst +21 -0
  4. python_snap7-1.4/pyproject.toml +69 -0
  5. python_snap7-1.4/python_snap7.egg-info/PKG-INFO +33 -0
  6. python_snap7-1.4/python_snap7.egg-info/SOURCES.txt +32 -0
  7. python_snap7-1.4/python_snap7.egg-info/entry_points.txt +2 -0
  8. {python-snap7-1.2 → python_snap7-1.4}/python_snap7.egg-info/requires.txt +5 -2
  9. python_snap7-1.4/setup.cfg +4 -0
  10. python_snap7-1.4/snap7/__init__.py +20 -0
  11. python-snap7-1.2/snap7/client.py → python_snap7-1.4/snap7/client/__init__.py +131 -129
  12. {python-snap7-1.2 → python_snap7-1.4}/snap7/common.py +27 -22
  13. python_snap7-1.4/snap7/error.py +104 -0
  14. {python-snap7-1.2 → python_snap7-1.4}/snap7/exceptions.py +0 -1
  15. {python-snap7-1.2 → python_snap7-1.4}/snap7/logo.py +20 -25
  16. {python-snap7-1.2 → python_snap7-1.4}/snap7/partner.py +14 -18
  17. python-snap7-1.2/snap7/server.py → python_snap7-1.4/snap7/server/__init__.py +85 -95
  18. python_snap7-1.4/snap7/server/__main__.py +53 -0
  19. python_snap7-1.4/snap7/types.py +324 -0
  20. python_snap7-1.4/snap7/util/__init__.py +200 -0
  21. python_snap7-1.4/snap7/util/db.py +604 -0
  22. python_snap7-1.4/snap7/util/getters.py +719 -0
  23. python_snap7-1.4/snap7/util/setters.py +536 -0
  24. {python-snap7-1.2/test → python_snap7-1.4/tests}/test_client.py +128 -113
  25. {python-snap7-1.2/test → python_snap7-1.4/tests}/test_common.py +4 -3
  26. {python-snap7-1.2/test → python_snap7-1.4/tests}/test_logo_client.py +15 -8
  27. {python-snap7-1.2/test → python_snap7-1.4/tests}/test_mainloop.py +26 -20
  28. {python-snap7-1.2/test → python_snap7-1.4/tests}/test_partner.py +8 -8
  29. {python-snap7-1.2/test → python_snap7-1.4/tests}/test_server.py +33 -29
  30. python_snap7-1.4/tests/test_util.py +608 -0
  31. python-snap7-1.2/PKG-INFO +0 -70
  32. python-snap7-1.2/README.rst +0 -42
  33. python-snap7-1.2/python_snap7.egg-info/PKG-INFO +0 -70
  34. python-snap7-1.2/python_snap7.egg-info/SOURCES.txt +0 -30
  35. python-snap7-1.2/setup.cfg +0 -13
  36. python-snap7-1.2/setup.py +0 -61
  37. python-snap7-1.2/snap7/__init__.py +0 -19
  38. python-snap7-1.2/snap7/bin/__init__.py +0 -1
  39. python-snap7-1.2/snap7/bin/snap7-server.py +0 -20
  40. python-snap7-1.2/snap7/error.py +0 -104
  41. python-snap7-1.2/snap7/types.py +0 -327
  42. python-snap7-1.2/snap7/util.py +0 -1677
  43. python-snap7-1.2/test/test_util.py +0 -493
  44. {python-snap7-1.2 → python_snap7-1.4}/LICENSE +0 -0
  45. {python-snap7-1.2 → python_snap7-1.4}/python_snap7.egg-info/dependency_links.txt +0 -0
  46. {python-snap7-1.2 → python_snap7-1.4}/python_snap7.egg-info/top_level.txt +0 -0
  47. {python-snap7-1.2 → python_snap7-1.4}/snap7/py.typed +0 -0
@@ -1,2 +1 @@
1
1
  include README.rst
2
-
@@ -0,0 +1,33 @@
1
+ Metadata-Version: 2.1
2
+ Name: python-snap7
3
+ Version: 1.4
4
+ Summary: Python wrapper for the snap7 library
5
+ Author-email: Gijs Molenaar <gijsmolenaar@gmail.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/gijzelaerr/python-snap7
8
+ Project-URL: Documentation, https://python-snap7.readthedocs.io/en/latest/
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Environment :: Console
11
+ Classifier: Topic :: System :: Hardware
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Intended Audience :: Manufacturing
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Operating System :: POSIX
16
+ Classifier: Programming Language :: Python :: 3.8
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Requires-Python: >=3.8
22
+ License-File: LICENSE
23
+ Provides-Extra: test
24
+ Requires-Dist: pytest; extra == "test"
25
+ Requires-Dist: mypy; extra == "test"
26
+ Requires-Dist: types-setuptools; extra == "test"
27
+ Requires-Dist: ruff; extra == "test"
28
+ Provides-Extra: cli
29
+ Requires-Dist: rich; extra == "cli"
30
+ Requires-Dist: click; extra == "cli"
31
+ Provides-Extra: doc
32
+ Requires-Dist: sphinx; extra == "doc"
33
+ Requires-Dist: sphinx_rtd_theme; extra == "doc"
@@ -0,0 +1,21 @@
1
+ About
2
+ =====
3
+
4
+ This is a ctypes-based Python wrapper for snap7. Snap7 is an open-source,
5
+ 32/64 bit, multi-platform Ethernet communication suite for interfacing natively
6
+ with Siemens S7 PLCs.
7
+
8
+ Python-snap7 is tested with Python 3.9+, on Windows, Linux and OS X.
9
+
10
+ The full documentation is available on `Read The Docs <https://python-snap7.readthedocs.io/en/latest/>`_.
11
+
12
+
13
+ Installation
14
+ ============
15
+
16
+ If you are running Windows, Mac OS X or GNU/Linux on an Intel x64 or ARM 64 compatible platform you can use the binary wheel installation::
17
+
18
+ $ pip install python-snap7
19
+
20
+
21
+ Otherwise, please read the `online installation documentation <https://python-snap7.readthedocs.io/en/latest/installation.html>`_.
@@ -0,0 +1,69 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68.0.0", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "python-snap7"
7
+ version = "1.4"
8
+ description = "Python wrapper for the snap7 library"
9
+ authors = [
10
+ {name = "Gijs Molenaar", email = "gijsmolenaar@gmail.com"},
11
+ ]
12
+ classifiers = [
13
+ "Development Status :: 5 - Production/Stable",
14
+ "Environment :: Console",
15
+ "Topic :: System :: Hardware",
16
+ "Intended Audience :: Developers",
17
+ "Intended Audience :: Manufacturing",
18
+ "License :: OSI Approved :: MIT License",
19
+ "Operating System :: POSIX",
20
+ "Programming Language :: Python :: 3.8",
21
+ "Programming Language :: Python :: 3.9",
22
+ "Programming Language :: Python :: 3.10",
23
+ "Programming Language :: Python :: 3.11",
24
+ "Programming Language :: Python :: 3.12",
25
+ ]
26
+ license = {text = "MIT"}
27
+ requires-python = ">=3.8"
28
+
29
+ [project.urls]
30
+ Homepage = "https://github.com/gijzelaerr/python-snap7"
31
+ Documentation = "https://python-snap7.readthedocs.io/en/latest/"
32
+
33
+ [project.optional-dependencies]
34
+ test = ["pytest", "mypy", "types-setuptools", "ruff"]
35
+ cli = ["rich", "click" ]
36
+ doc = ["sphinx", "sphinx_rtd_theme"]
37
+
38
+ [tool.setuptools.package-data]
39
+ snap7 = ["py.typed", "lib/libsnap7.so", "lib/snap7.dll", "lib/libsnap7.dylib"]
40
+
41
+ [tool.setuptools.packages.find]
42
+ include = ["snap7*"]
43
+
44
+ [project.scripts]
45
+ snap7-server = "snap7.server.__main__:main"
46
+
47
+ [tool.pytest.ini_options]
48
+ testpaths = ["tests"]
49
+ markers =[
50
+ "client",
51
+ "common",
52
+ "logo",
53
+ "mainloop",
54
+ "partner",
55
+ "server",
56
+ "util"
57
+ ]
58
+
59
+ [tool.mypy]
60
+ ignore_missing_imports = true
61
+
62
+ [tool.ruff]
63
+ output-format = "full"
64
+ line-length = 130
65
+ target-version = "py38"
66
+
67
+ [lint]
68
+ ignore = []
69
+ mccabe.max-complexity = 10
@@ -0,0 +1,33 @@
1
+ Metadata-Version: 2.1
2
+ Name: python-snap7
3
+ Version: 1.4
4
+ Summary: Python wrapper for the snap7 library
5
+ Author-email: Gijs Molenaar <gijsmolenaar@gmail.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/gijzelaerr/python-snap7
8
+ Project-URL: Documentation, https://python-snap7.readthedocs.io/en/latest/
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Environment :: Console
11
+ Classifier: Topic :: System :: Hardware
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Intended Audience :: Manufacturing
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Operating System :: POSIX
16
+ Classifier: Programming Language :: Python :: 3.8
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Requires-Python: >=3.8
22
+ License-File: LICENSE
23
+ Provides-Extra: test
24
+ Requires-Dist: pytest; extra == "test"
25
+ Requires-Dist: mypy; extra == "test"
26
+ Requires-Dist: types-setuptools; extra == "test"
27
+ Requires-Dist: ruff; extra == "test"
28
+ Provides-Extra: cli
29
+ Requires-Dist: rich; extra == "cli"
30
+ Requires-Dist: click; extra == "cli"
31
+ Provides-Extra: doc
32
+ Requires-Dist: sphinx; extra == "doc"
33
+ Requires-Dist: sphinx_rtd_theme; extra == "doc"
@@ -0,0 +1,32 @@
1
+ LICENSE
2
+ MANIFEST.in
3
+ README.rst
4
+ pyproject.toml
5
+ python_snap7.egg-info/PKG-INFO
6
+ python_snap7.egg-info/SOURCES.txt
7
+ python_snap7.egg-info/dependency_links.txt
8
+ python_snap7.egg-info/entry_points.txt
9
+ python_snap7.egg-info/requires.txt
10
+ python_snap7.egg-info/top_level.txt
11
+ snap7/__init__.py
12
+ snap7/common.py
13
+ snap7/error.py
14
+ snap7/exceptions.py
15
+ snap7/logo.py
16
+ snap7/partner.py
17
+ snap7/py.typed
18
+ snap7/types.py
19
+ snap7/client/__init__.py
20
+ snap7/server/__init__.py
21
+ snap7/server/__main__.py
22
+ snap7/util/__init__.py
23
+ snap7/util/db.py
24
+ snap7/util/getters.py
25
+ snap7/util/setters.py
26
+ tests/test_client.py
27
+ tests/test_common.py
28
+ tests/test_logo_client.py
29
+ tests/test_mainloop.py
30
+ tests/test_partner.py
31
+ tests/test_server.py
32
+ tests/test_util.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ snap7-server = snap7.server.__main__:main
@@ -1,11 +1,14 @@
1
1
 
2
+ [cli]
3
+ rich
4
+ click
5
+
2
6
  [doc]
3
7
  sphinx
4
8
  sphinx_rtd_theme
5
9
 
6
10
  [test]
7
11
  pytest
8
- pytest-asyncio
9
12
  mypy
10
- pycodestyle
11
13
  types-setuptools
14
+ ruff
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,20 @@
1
+ """
2
+ The Snap7 Python library.
3
+ """
4
+
5
+ from importlib.metadata import version, PackageNotFoundError
6
+
7
+ from . import client
8
+ from . import common
9
+ from . import error
10
+ from . import logo
11
+ from . import server
12
+ from . import types
13
+ from . import util
14
+
15
+ __all__ = ["client", "common", "error", "logo", "server", "types", "util"]
16
+
17
+ try:
18
+ __version__ = version("python-snap7")
19
+ except PackageNotFoundError:
20
+ __version__ = "0.0rc0"