Migrate build system to uv

This commit is contained in:
2026-03-31 20:47:17 +02:00
parent bd4389e806
commit 96af0718ee
3 changed files with 7 additions and 10 deletions

View File

@@ -13,20 +13,16 @@ classifiers = [
"Programming Language :: Python :: 3", "Programming Language :: Python :: 3",
"Operating System :: OS Independent", "Operating System :: OS Independent",
] ]
dynamic = ["version"] version = "0.1.0.dev1"
[project.urls] [project.urls]
Repository = "https://git.ltskv.de/pavel/argclass" Repository = "https://git.ltskv.de/pavel/argclass"
[build-system] [build-system]
requires = [ requires = [
"setuptools>=77", "uv_build>=0.10.6,<0.11",
"setuptools-scm>=8",
"wheel"
] ]
build-backend = "setuptools.build_meta" build-backend = "uv_build"
[tool.setuptools_scm]
[tool.ruff] [tool.ruff]
line-length = 120 line-length = 120

View File

@@ -1,7 +1,7 @@
# Copyright 2021-2025 Pavel Lutskov # Copyright 2021-2025 Pavel Lutskov
import typing import typing
from argparse import ArgumentParser from argparse import ArgumentParser
from dataclasses import dataclass, MISSING from dataclasses import MISSING, dataclass
def make_gnu_option(name): def make_gnu_option(name):
@@ -39,7 +39,7 @@ def compute_arg_names(name, field_):
def _prepare_bool(ap: ArgumentParser, name, field_): def _prepare_bool(ap: ArgumentParser, name, field_):
arg_cfg = decide_default(field_) arg_cfg = decide_default(field_)
required = "required" in arg_cfg required = arg_cfg["required"]
bool_parser = ap.add_mutually_exclusive_group(required=required) bool_parser = ap.add_mutually_exclusive_group(required=required)
bool_parser.add_argument( bool_parser.add_argument(
make_gnu_option(name), action="store_true", dest=name make_gnu_option(name), action="store_true", dest=name
@@ -48,7 +48,7 @@ def _prepare_bool(ap: ArgumentParser, name, field_):
make_gnu_option(f"no_{name}"), action="store_false", dest=name make_gnu_option(f"no_{name}"), action="store_false", dest=name
) )
if not required: if not required:
ap.set_defaults(**{name: arg_cfg["default"]}) ap.set_defaults(name=arg_cfg["default"])
def _prepare_list_cfg(name, field_): def _prepare_list_cfg(name, field_):

1
uv.lock generated
View File

@@ -4,6 +4,7 @@ requires-python = ">=3.10"
[[package]] [[package]]
name = "argclass" name = "argclass"
version = "0.1.0.dev1"
source = { editable = "." } source = { editable = "." }
[package.dev-dependencies] [package.dev-dependencies]