diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index 18e0683..0000000 --- a/MANIFEST.in +++ /dev/null @@ -1 +0,0 @@ -include CHANGELOG.rst diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..f11d20a --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,57 @@ +[build-system] +requires = ["hatchling >= 1.26", "wheel >= 0.45.0"] +build-backend = "hatchling.build" + +[project] +name = "sensirion-i2c-driver" +description = "Base Driver for Communicating With I2C Devices" + +readme = "README.md" +version = "1.0.2" +requires-python = ">=3.8,<4.0" + +authors = [ + { name = "Sensirion", email = "info@sensirion.com" }, +] + +license = "BSD-3-Clause" +license-files = ["LICENSE"] + +keywords = ["sensirion", "i2c", "driver"] + +classifiers = [ + "Intended Audience :: Developers", + "Topic :: System :: Hardware :: Hardware Drivers", + "Topic :: Software Development :: Build Tools", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", +] + +dependencies = [] + +[project.optional-dependencies] + +docs=[ + + "sphinx-rtd-theme==3.0.2", + "sphinx==8.2.3" +] + +test= [ + "flake8>=7.1.0", + "mock~=5.2.0", + "pytest>=8.3.5", + "pytest-cov>=5.0.0", + "setuptools>=73.2.0" +] + +[project.urls] +Changelog = "https://github.com/Sensirion/python-i2c-driver/blob/master/CHANGELOG.rst" +Repository = "https://github.com/sensirion/python-i2c-driver" +Documentation = "https://sensirion.github.io/python-i2c-driver" + +[tool.setuptools] +# see https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html +packages = ["sensirion_i2c_driver"] # name of python package diff --git a/sensirion_i2c_driver/version.py b/sensirion_i2c_driver/version.py index 4e20833..57bcbde 100644 --- a/sensirion_i2c_driver/version.py +++ b/sensirion_i2c_driver/version.py @@ -2,4 +2,8 @@ # (c) Copyright 2019 Sensirion AG, Switzerland from __future__ import absolute_import, division, print_function -version = "1.0.1" + +import importlib.metadata as metadata +from typing import Final + +version: Final[str] = metadata.version("sensirion_i2c_driver") diff --git a/setup.py b/setup.py index 489bd01..33cdf7b 100644 --- a/setup.py +++ b/setup.py @@ -2,59 +2,6 @@ # (c) Copyright 2019 Sensirion AG, Switzerland from __future__ import absolute_import, division, print_function -from setuptools import setup, find_packages -import os -import re +from distutils.core import setup - -# Read version number from version.py -version_line = open("sensirion_i2c_driver/version.py", "rt").read() -result = re.search(r"^version = ['\"]([^'\"]*)['\"]", version_line, re.M) -if result: - version_string = result.group(1) -else: - raise RuntimeError("Unable to find version string") - - -# Use README.rst and CHANGELOG.rst as package description -root_path = os.path.dirname(__file__) -readme = open(os.path.join(root_path, 'README.rst')).read() -changelog = open(os.path.join(root_path, 'CHANGELOG.rst')).read() -long_description = readme.strip() + "\n\n" + changelog.strip() + "\n" - - -setup( - name='sensirion-i2c-driver', - version=version_string, - author='Sensirion', - author_email='info@sensirion.com', - description='Base Driver for Communicating With I2C Devices', - license='BSD', - keywords='sensirion i2c driver', - url='https://github.com/sensirion/python-i2c-driver', - packages=find_packages(exclude=['tests', 'tests.*']), - long_description=long_description, - python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4', - install_requires=[ - ], - extras_require={ - 'test': [ - 'flake8~=3.7.8', - 'mock~=3.0.0', - 'pytest~=6.2.5', - 'pytest-cov~=3.0.0', - ] - }, - classifiers=[ - 'Intended Audience :: Developers', - 'License :: OSI Approved :: BSD License', - 'Programming Language :: Python :: 2.7', - 'Programming Language :: Python :: 3.5', - 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', - 'Topic :: System :: Hardware :: Hardware Drivers' - ] -) +setup()