Migrate from setup.py to uv

This commit is contained in:
2025-04-25 15:51:27 +01:00
parent b6cbd03f9c
commit 5665b01979
4 changed files with 4380 additions and 127 deletions

View File

@@ -1,6 +1,108 @@
[build-system]
requires = ["setuptools", "wheel", "babel>2.8"]
build-backend = "setuptools.build_meta"
[project]
name = "invenio-config-iform"
dynamic = ["version"]
description = "Invenio module that adds I-Form configs."
readme = { file = "README.rst", content-type = "text/x-rst" }
license = "MIT"
authors = [
{ name = "I-Form Advanced Research Manufacturing Research Centre", email = "cian.hughes@dcu.ie" },
]
keywords = ["invenio", "config", "I-Form"]
classifiers = [
"Environment :: Web Environment",
"Intended Audience :: Developers",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
"Topic :: Software Development :: Libraries :: Python Modules",
"Programming Language :: Python :: 3.12",
"Development Status :: 3 - Alpha",
]
requires-python = ">=3.12"
dependencies = [
"invenio-cache>=1.1.1",
"invenio-i18n>=2.0.0",
"invenio-rdm-records>=4.0.0",
]
[project.urls]
Homepage = "https://github.com/Cian-H/invenio-config-iform"
Issues = "https://github.com/Cian-H/invenio-config-iform/issues"
[dependency-groups]
tests = [
"invenio-app>=1.5.0",
"invenio-search[opensearch2]>=2.1.0,<3.0.0",
"pytest-black-ng>=0.4.0",
"pytest-invenio>=2.1.0,<3.0.0",
"ruff>=0.5.3",
"Sphinx>=4.5.0",
]
[project.entry-points."invenio_base.apps"]
invenio_config_iform = "invenio_config_iform:InvenioConfigIform"
[project.entry-points."invenio_base.blueprints"]
invenio_config_iform = "invenio_config_iform.views:ui_blueprint"
[project.entry-points."invenio_i18n.translations"]
messages = "invenio_config_iform"
[project.entry-points."invenio_config.module"]
invenio_config_iform = "invenio_config_iform.config"
[project.entry-points."invenio_base.finalize_app"]
invenio_config_iform = "invenio_config_iform.ext:finalize_app"
[tool.setuptools]
zip-safe = false
include-package-data = true
packages = { find = {} }
[tool.setuptools.dynamic]
version = { attr = "invenio_config_iform.__version__" }
# Testing configuration
[tool.pytest]
addopts = "--black --isort --pydocstyle --doctest-glob=\"*.rst\" --doctest-modules --cov=invenio_config_iform --cov-report=term-missing tests invenio_config_iform"
testpaths = ["tests", "invenio_config_iform"]
live_server_scope = "module"
[tool.pytest.ini_options]
addopts = "--black --isort --pydocstyle --doctest-glob=\"*.rst\" --doctest-modules --cov=invenio_config_iform --cov-report=term-missing tests invenio_config_iform"
testpaths = ["tests", "invenio_config_iform"]
live_server_scope = "module"
# Code style tools configuration
[tool.black]
line-length = 88
target-version = ['py312']
[tool.isort]
profile = "black"
[tool.pydocstyle]
add_ignore = ["D401"]
# Babel configuration
[tool.babel.compile_catalog]
directory = "invenio_config_iform/translations/"
use-fuzzy = true
[tool.babel.extract_messages]
copyright_holder = "I-Form Advanced Research Manufacturing Research Centre"
msgid_bugs_address = "cian.hughes@dcu.ie"
mapping-file = "babel.ini"
output-file = "invenio_config_iform/translations/messages.pot"
add-comments = "NOTE"
[tool.babel.init_catalog]
input-file = "invenio_config_iform/translations/messages.pot"
output-dir = "invenio_config_iform/translations/"
[tool.babel.update_catalog]
input-file = "invenio_config_iform/translations/messages.pot"
output-dir = "invenio_config_iform/translations/"
[tool.ruff]
exclude = ["docs"]
@@ -8,15 +110,21 @@ exclude = ["docs"]
[tool.ruff.lint]
select = ["ALL"]
ignore = [
"ANN101", "ANN102",
"D203", "D211", "D212", "D213",
"E501",
"ERA001",
"FA102",
"FIX002",
"INP001",
"RUF005", "RUF012",
"S101",
"TD002", "TD003",
"UP009",
"ANN101",
"ANN102",
"D203",
"D211",
"D212",
"D213",
"E501",
"ERA001",
"FA102",
"FIX002",
"INP001",
"RUF005",
"RUF012",
"S101",
"TD002",
"TD003",
"UP009",
]

100
setup.cfg
View File

@@ -1,100 +0,0 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2024 Graz University of Technology.
#
# invenio-config-iform is free software; you can redistribute it and/or
# modify it under the terms of the MIT License; see LICENSE file for more
# details.
[metadata]
name = invenio-config-iform
version = attr: invenio_config_iform.__version__
description = "Invenio module that adds I-Form configs."
long_description = file: README.rst, CHANGES.rst
keywords = invenio config TU-Graz
license = MIT
author = "Graz University of Technology"
author_email = info@tugraz.at
platforms = any
url = https://github.com/Cian-H/invenio_config_iform
classifiers =
Environment :: Web Environment
Intended Audience :: Developers
License :: OSI Approved :: MIT License
Operating System :: OS Independent
Programming Language :: Python
Topic :: Internet :: WWW/HTTP :: Dynamic Content
Topic :: Software Development :: Libraries :: Python Modules
Programming Language :: Python :: 3.12
Development Status :: 3 - Alpha
[options]
include_package_data = True
packages = find:
python_requires = >=3.12
zip_safe = False
install_requires =
invenio-cache>=1.1.1
invenio-i18n>=2.0.0
invenio-rdm-records>=4.0.0
[options.extras_require]
tests =
invenio-app>=1.5.0
invenio-search[opensearch2]>=2.1.0,<3.0.0
pytest-black-ng>=0.4.0
pytest-invenio>=2.1.0,<3.0.0
ruff>=0.5.3
Sphinx>=4.5.0
[options.entry_points]
invenio_base.apps =
invenio_config_iform = invenio_config_iform:InvenioConfigIform
invenio_base.blueprints =
invenio_config_iform = invenio_config_iform.views:ui_blueprint
invenio_i18n.translations =
messages = invenio_config_iform
invenio_config.module =
invenio_config_iform = invenio_config_iform.config
invenio_base.finalize_app =
invenio_config_iform = invenio_config_iform.ext:finalize_app
[aliases]
test = pytest
[build_sphinx]
source-dir = docs/
build-dir = docs/_build
all_files = 1
[bdist_wheel]
universal = 1
[compile_catalog]
directory = invenio_config_iform/translations/
[extract_messages]
copyright_holder = Graz University of Technology
msgid_bugs_address = mojib.wali@tugraz.at
mapping-file = babel.ini
output-file = invenio_config_iform/translations/messages.pot
add-comments = NOTE
[init_catalog]
input-file = invenio_config_iform/translations/messages.pot
output-dir = invenio_config_iform/translations/
[update_catalog]
input-file = invenio_config_iform/translations/messages.pot
output-dir = invenio_config_iform/translations/
[isort]
profile=black
[check-manifest]
ignore = *-requirements.txt
[tool:pytest]
addopts = --black --cov=invenio_config_iform --cov-report=term-missing
testpaths = tests invenio_config_iform
live_server_scope = module

View File

@@ -1,13 +0,0 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2020-2022 Graz University of Technology.
#
# invenio-config-iform is free software; you can redistribute it and/or
# modify it under the terms of the MIT License; see LICENSE file for more
# details.
"""invenio module that adds I-Form configs."""
from setuptools import setup
setup()

4258
uv.lock generated Normal file

File diff suppressed because it is too large Load Diff