From 5ca2bbb0547318dc72a3bec3e7710ea3cd4c2581 Mon Sep 17 00:00:00 2001 From: Olivier Date: Wed, 16 Oct 2024 13:06:44 +0200 Subject: [PATCH] move to pyproject.toml --- pyproject.toml | 54 ++++++++++++++++++++++++++++++++++++++++++++++++ setup.py | 56 -------------------------------------------------- 2 files changed, 54 insertions(+), 56 deletions(-) create mode 100644 pyproject.toml delete mode 100644 setup.py diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 000000000..5be2d820a --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,54 @@ +[project] +version = "1.1.5" +name = "asyncua" +description = "Pure Python OPC-UA client and server library" +requires-python = ">=3.10" +readme = "README.md" +license = { text = "GNU Lesser General Public License v3 or later" } +authors = [ + { name = "Olivier Roulet-Dubonnet", email = "olivier.roulet@gmail.com" }, +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Topic :: Software Development :: Libraries :: Python Modules", +] +dependencies = [ + "aiofiles", + "aiosqlite", + "cryptography>42.0.0", + "pyOpenSSL>23.2.0", + "python-dateutil", + "pytz", + "sortedcontainers", + "typing-extensions", + "wait_for2==0.3.2", +] + +[project.scripts] +uabrowse = "asyncua.tools:uals" +uacall = "asyncua.tools:uacall" +uaclient = "asyncua.tools:uaclient" +uadiscover = "asyncua.tools:uadiscover" +uageneratestructs = "asyncua.tools:uageneratestructs" +uahistoryread = "asyncua.tools:uahistoryread" +uals = "asyncua.tools:uals" +uaread = "asyncua.tools:uaread" +uaserver = "asyncua.tools:uaserver" +uasubscribe = "asyncua.tools:uasubscribe" +uawrite = "asyncua.tools:uawrite" + +[project.urls] +Homepage = "http://freeopcua.github.io/" + +[tool.hatch.version] +path = "asyncua/__init__.py" + +[tool.hatch.build.targets.sdist] +include = ["/asyncua"] diff --git a/setup.py b/setup.py deleted file mode 100644 index 6e4776fb9..000000000 --- a/setup.py +++ /dev/null @@ -1,56 +0,0 @@ -from setuptools import setup, find_packages -import sys - -# read the contents of your README file -from os import path -this_directory = path.abspath(path.dirname(__file__)) -with open(path.join(this_directory, 'README.md'), encoding='utf-8') as f: - long_description = f.read() - -# don't require pytest-runner unless we have been invoked as a test launch -needs_pytest = {'pytest', 'test', 'ptr'}.intersection(sys.argv) -pytest_runner = ['pytest-runner'] if needs_pytest else [] - -setup( - name="asyncua", - version="1.1.5", - description="Pure Python OPC-UA client and server library", - long_description=long_description, - long_description_content_type='text/markdown', - author="Olivier Roulet-Dubonnet", - author_email="olivier.roulet@gmail.com", - url='http://freeopcua.github.io/', - packages=find_packages(exclude=["tests", "stubs"]), - provides=["asyncua"], - license="GNU Lesser General Public License v3 or later", - install_requires=["aiofiles", "aiosqlite", "python-dateutil", "pytz", "cryptography>42.0.0", "sortedcontainers", "importlib-metadata;python_version<'3.8'", "pyOpenSSL>23.2.0", "typing-extensions", 'wait_for2==0.3.2'], - classifiers=[ - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Development Status :: 4 - Beta", - "Intended Audience :: Developers", - "Operating System :: OS Independent", - "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", - "Topic :: Software Development :: Libraries :: Python Modules", - ], - entry_points={ - 'console_scripts': [ - 'uaread = asyncua.tools:uaread', - 'uals = asyncua.tools:uals', - 'uabrowse = asyncua.tools:uals', - 'uawrite = asyncua.tools:uawrite', - 'uasubscribe = asyncua.tools:uasubscribe', - 'uahistoryread = asyncua.tools:uahistoryread', - 'uaclient = asyncua.tools:uaclient', - 'uaserver = asyncua.tools:uaserver', - 'uadiscover = asyncua.tools:uadiscover', - 'uacall = asyncua.tools:uacall', - 'uageneratestructs = asyncua.tools:uageneratestructs', - ] - }, - setup_requires=[] + pytest_runner, - tests_require=['pytest', 'pytest-mock', 'asynctest'], -)