From 425412d8ffb44c783e82d87e0a51badf1a99a28e Mon Sep 17 00:00:00 2001 From: Martin Rys Date: Thu, 8 Jan 2026 21:42:41 +0100 Subject: [PATCH 1/2] feat: Bump CI versions --- .github/workflows/tests.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ef1ff64..921a15f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,17 +9,17 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['2.7', '3.7', '3.8', '3.9', '3.10'] + python-version: ['3.10', '3.11', '3.12', '3.13', '3.14'] steps: - - uses: actions/checkout@v1 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies - run: | - python -m pip install --upgrade pip - python -m pip install tox tox-gh-actions - - name: Test with tox - run: tox + - uses: actions/checkout@v6 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v6 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install tox tox-gh-actions + - name: Test with tox + run: tox From fee3e1311dae2d833b9ecd370f1020ed6267eafd Mon Sep 17 00:00:00 2001 From: Martin Rys Date: Thu, 8 Jan 2026 21:44:22 +0100 Subject: [PATCH 2/2] feat: Migrate to pyproject.toml --- pyproject.toml | 35 +++++++++++++++++++++++++++++++++++ setup.py | 34 ---------------------------------- 2 files changed, 35 insertions(+), 34 deletions(-) create mode 100644 pyproject.toml delete mode 100644 setup.py diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..9a0dda1 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,35 @@ +[build-system] +requires = ["setuptools>=61.0"] +build-backend = "setuptools.build_meta" + +[project] +name = "musicbrainzngs2" +description = "Python bindings for the MusicBrainz NGS and the Cover Art Archive webservices" +readme = { file = "README.rst", content-type = "text/x-rst" } +license = "BSD-2-clause" + +authors = [ + { name = "Martin Rys", email = "martin@rys.rs" } +] + +requires-python = ">=3.10" + +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Topic :: Database :: Front-Ends", + "Topic :: Software Development :: Libraries :: Python Modules" +] + +dynamic = ["version"] + +[project.urls] +Homepage = "https://github.com/C0rn3j/python-musicbrainzngs2" + +[tool.setuptools] +packages = ["musicbrainzngs"] + +[tool.setuptools.dynamic] +version = { attr = "musicbrainzngs.musicbrainz._version" } diff --git a/setup.py b/setup.py deleted file mode 100644 index 7b74fc5..0000000 --- a/setup.py +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env python - -from setuptools import setup - -from musicbrainzngs import musicbrainz - -with open("README.rst", "r") as fh: - long_description = fh.read() - -setup( - name="musicbrainzngs", - version=musicbrainz._version, - description="Python bindings for the MusicBrainz NGS and" - " the Cover Art Archive webservices", - long_description=long_description, - long_description_content_type="text/x-rst", - author="Alastair Porter", - author_email="alastair@porter.net.nz", - url="https://python-musicbrainzngs.readthedocs.io/", - python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*', - packages=['musicbrainzngs'], - license='BSD 2-clause', - classifiers=[ - "Development Status :: 5 - Production/Stable", - "License :: OSI Approved :: BSD License", - "License :: OSI Approved :: ISC License (ISCL)", - "Intended Audience :: Developers", - "Operating System :: OS Independent", - "Programming Language :: Python", - "Topic :: Database :: Front-Ends", - "Topic :: Software Development :: Libraries :: Python Modules" - ] -) -