]> git.ipfire.org Git - thirdparty/google/fonts.git/commitdiff
Modernise the Python install, update dependencies
authorSimon Cozens <simon@simon-cozens.org>
Mon, 2 Feb 2026 11:44:53 +0000 (11:44 +0000)
committerSimon Cozens <simon@simon-cozens.org>
Mon, 2 Feb 2026 11:44:53 +0000 (11:44 +0000)
pyproject.toml [new file with mode: 0644]
requirements.txt [deleted file]
setup.py [deleted file]
test_requirements.txt [deleted file]
tox.ini

diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644 (file)
index 0000000..b8a806a
--- /dev/null
@@ -0,0 +1,55 @@
+[build-system]
+requires = ["setuptools>=61.2", "setuptools_scm[toml]>=6.2"]
+build-backend = "setuptools.build_meta"
+
+
+[project]
+name = "axisregistry"
+dynamic = ["version"]
+description = "A python API to access data from the Google Fonts variable fonts axis registry."
+readme = "README.md"
+requires-python = ">=3.7"
+license = { file = "LICENSE.txt" }
+authors = [
+  { name = "Felipe Sanches", email = "juca@members.fsf.org" },
+  { name = "Simon Cozens", email = "simon@simon-cozens.org" },
+  { name = "Marc Foley", email = "m.foley.88@gmail.com" }
+]
+
+classifiers = [
+  "Intended Audience :: Developers",
+  "Topic :: Text Processing :: Fonts",
+  "License :: OSI Approved :: Apache Software License",
+  "Operating System :: OS Independent",
+  "Programming Language :: Python :: 3"
+]
+dependencies = [
+  "fonttools",
+  "gfmetadata",
+  "importlib_resources ; python_version < '3.10'"
+]
+
+[project.urls]
+Homepage = "https://github.com/googlefonts/axisregistry/"
+Repository = "https://github.com/googlefonts/axisregistry/"
+
+[project.optional-dependencies]
+test = [
+  "pytest>=4.5.0",
+  "coverage>=5",
+  "black",
+  "isort",
+  "flake8-bugbear"
+]
+
+[tool.setuptools]
+zip-safe = false
+
+[tool.setuptools.packages.find]
+where = ["Lib"]
+
+[tool.setuptools.package-data]
+axisregistry = ["data/*.textproto"]
+
+[tool.setuptools_scm]
+version_file = "Lib/axisregistry/_version.py"
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644 (file)
index ac59e10..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
---index-url https://pypi.python.org/simple/
-protobuf==3.20.3
-importlib_resources ; python_version < '3.10'
--e .
diff --git a/setup.py b/setup.py
deleted file mode 100644 (file)
index 5d66708..0000000
--- a/setup.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# coding: utf-8
-#
-# Copyright 2022 Google LLC All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# See AUTHORS.txt for the list of Authors and LICENSE.txt for the License.
-from setuptools import setup
-
-# Read the contents of the README file
-with open("README.md") as f:
-    long_description = f.read()
-
-setup(
-    name="axisregistry",
-    use_scm_version={"write_to": "Lib/axisregistry/_version.py"},
-    url="https://github.com/googlefonts/axisregistry/",
-    description="A python API to access data from the Google Fonts variable fonts axis registry.",
-    long_description=long_description,
-    long_description_content_type="text/markdown",  # This is important!
-    author=("Felipe Sanches"),
-    author_email="juca@members.fsf.org",
-    package_dir={"": "Lib"},
-    packages=["axisregistry"],
-    package_data={"axisregistry": ["data/*.textproto"]},
-    zip_safe=False,
-    classifiers=[
-        "Intended Audience :: Developers",
-        "Topic :: Text Processing :: Fonts",
-        "License :: OSI Approved :: Apache Software License",
-        "Operating System :: OS Independent",
-        "Programming Language :: Python :: 3",
-    ],
-    python_requires=">=3.7",
-    setup_requires=[
-        "setuptools>=61.2",
-        "setuptools_scm[toml]>=6.2",
-    ],
-    install_requires=[
-        "protobuf>=3.19.4, <4",
-        "fonttools",
-        "importlib_resources ; python_version < '3.10'",
-    ],
-)
diff --git a/test_requirements.txt b/test_requirements.txt
deleted file mode 100644 (file)
index ec739f6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-pytest>=4.5.0
-coverage>=5
-black
-isort
-flake8-bugbear
\ No newline at end of file
diff --git a/tox.ini b/tox.ini
index 352ccb3ae7432cfb99f9d48bebd524ad3057e4d2..5da0e67c19f81cc1b72168f90525e61a31c0f240 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -4,8 +4,7 @@ skip_missing_interpreters = true
 
 [testenv]
 deps =
-    -r requirements.txt
-    -r test_requirements.txt
+    .[test]
 ; download the latest pip, setuptools and wheel when creating the venv
 download = true
 commands =
@@ -14,7 +13,9 @@ commands =
 [testenv:lint]
 skip_install = true
 deps =
-    -r test_requirements.txt
+    black
+    isort
+    flake8-bugbear
 commands =
     black --check --diff --extend-exclude "_version.py|axes*" .