diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ef1ff64b..921a15f5 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 diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..9a0dda13 --- /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 7b74fc51..00000000 --- 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" - ] -) -