From aada313942007db91682cf35c6908f3b185f6f20 Mon Sep 17 00:00:00 2001 From: Sean Vig Date: Sun, 10 Sep 2023 00:47:14 -0400 Subject: [PATCH] Migrate to pyproject.yaml based configuration --- .github/workflows/release.yml | 22 ++++++++-------- pyproject.toml | 49 ++++++++++++++++++++++++++++++++++- setup.cfg | 49 ----------------------------------- 3 files changed, 59 insertions(+), 61 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 312587c2..69790dc9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -141,7 +141,7 @@ jobs: env: PYTHON_VERSION: ${{ matrix.python-version }} - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install dependencies run: | yum -y install \ @@ -160,10 +160,10 @@ jobs: - name: Build wheels run: | python wlroots/ffi_build.py - python setup.py bdist_wheel - ls dist/ - auditwheel show dist/pywlroots-*.whl - auditwheel repair --plat manylinux_2_28_x86_64 -w output_wheels dist/pywlroots-*.whl + pip wheel . -w whl + ls whl/ + auditwheel show whl/pywlroots-*.whl + auditwheel repair --plat manylinux_2_28_x86_64 -w output_wheels whl/pywlroots-*.whl - name: Upload wheel uses: actions/upload-artifact@v3 with: @@ -195,7 +195,7 @@ jobs: PYTHON_VERSION: ${{ matrix.python-version }} PP_VERSION: ${{ matrix.pypy-version }} - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install dependencies run: | yum -y install \ @@ -214,10 +214,10 @@ jobs: - name: Build wheels run: | python wlroots/ffi_build.py - python setup.py bdist_wheel - ls dist/ - auditwheel show dist/pywlroots-*.whl - auditwheel repair --plat manylinux_2_28_x86_64 -w output_wheels dist/pywlroots-*.whl + pip wheel . -w whl + ls whl/ + auditwheel show whl/pywlroots-*.whl + auditwheel repair --plat manylinux_2_28_x86_64 -w output_wheels whl/pywlroots-*.whl - name: Upload wheel uses: actions/upload-artifact@v3 with: @@ -267,7 +267,7 @@ jobs: python-version: "3.10" steps: - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v4 with: diff --git a/pyproject.toml b/pyproject.toml index 4a82c073..11229242 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,54 @@ [build-system] requires = [ - "setuptools>=40.8.0", + "setuptools>=61.0.0", "wheel", "cffi>=1.12.0; python_implementation != 'PyPy'", ] build-backend = "setuptools.build_meta" + +[project] +name = "pywlroots" +description = "Python binding to the wlroots library using cffi" +authors = [{name = "Sean Vig", email = "sean.v.775@gmail.com"}] +requires-python = ">=3.7" +license = {text = "MIT"} +readme = "README.rst" +classifiers = [ + "Development Status :: 2 - Pre-Alpha", + "Operating System :: POSIX", + "Operating System :: POSIX :: Linux", + "Programming Language :: Python :: 3 :: Only", + "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", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Desktop Environment :: Window Managers", + "Topic :: Software Development :: Libraries", +] +dependencies = [ + "cffi >= 1.12.0; python_implementation != 'PyPy'", + "pywayland >= 0.4.14", + "xkbcommon >= 0.2", +] +dynamic = ["version"] + +[project.optional-dependencies] +test = ["pytest"] + +[project.urls] +homepage = "https://github.com/flacjacket/pywlroots" + +[tool.setuptools] +zip-safe = false + +[tool.setuptools.packages.find] +include = ["wlroots*"] + +[tool.setuptools.package-data] +wlroots = ["py.typed", "include/*.h"] + +[tool.setuptools.dynamic] +version = {attr = "version.version"} diff --git a/setup.cfg b/setup.cfg index b832ade9..ca35e6e7 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,52 +1,3 @@ -[metadata] -name = pywlroots -version = attr:version.version -url = https://github.com/flacjacket/pywlroots -license = MIT -license_files = - LICENSE -description = Python binding to the wlroots library using cffi -long_description = file: README.rst -long_description_content_type = text/x-rst -author = Sean Vig -author_email = sean.v.775@gmail.com -classifiers = - Development Status :: 2 - Pre-Alpha - Operating System :: POSIX - Operating System :: POSIX :: Linux - Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: Implementation :: CPython - Programming Language :: Python :: Implementation :: PyPy - Topic :: Desktop Environment :: Window Managers - Topic :: Software Development :: Libraries -project_urls = - Code = https://github.com/flacjacket/pywlroots/ - Issue tracker = https://github.com/flacjacket/pywlroots/issues - -[options] -packages = find: -python_requires >= 3.7 -install_requires = - cffi >= 1.12.0 - pywayland >= 0.4.14 - xkbcommon >= 0.2 -zip_safe = False - -[options.extras_require] -test = - pytest - -[options.package_data] -wlroots = py.typed, include/*.h - -[options.packages.find] -include = - wlroots* - [flake8] max-line-length = 120