From 96af0718eed9c6af4d243779777ea9b290cd3a2f Mon Sep 17 00:00:00 2001 From: Pavel Lutskov Date: Tue, 31 Mar 2026 20:47:17 +0200 Subject: [PATCH] Migrate build system to uv --- pyproject.toml | 10 +++------- argclass.py => src/argclass/__init__.py | 6 +++--- uv.lock | 1 + 3 files changed, 7 insertions(+), 10 deletions(-) rename argclass.py => src/argclass/__init__.py (95%) diff --git a/pyproject.toml b/pyproject.toml index 4750899..c7b5286 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,20 +13,16 @@ classifiers = [ "Programming Language :: Python :: 3", "Operating System :: OS Independent", ] -dynamic = ["version"] +version = "0.1.0.dev1" [project.urls] Repository = "https://git.ltskv.de/pavel/argclass" [build-system] requires = [ - "setuptools>=77", - "setuptools-scm>=8", - "wheel" + "uv_build>=0.10.6,<0.11", ] -build-backend = "setuptools.build_meta" - -[tool.setuptools_scm] +build-backend = "uv_build" [tool.ruff] line-length = 120 diff --git a/argclass.py b/src/argclass/__init__.py similarity index 95% rename from argclass.py rename to src/argclass/__init__.py index 1659e43..367f619 100644 --- a/argclass.py +++ b/src/argclass/__init__.py @@ -1,7 +1,7 @@ # Copyright 2021-2025 Pavel Lutskov import typing from argparse import ArgumentParser -from dataclasses import dataclass, MISSING +from dataclasses import MISSING, dataclass def make_gnu_option(name): @@ -39,7 +39,7 @@ def compute_arg_names(name, field_): def _prepare_bool(ap: ArgumentParser, name, 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.add_argument( 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 ) if not required: - ap.set_defaults(**{name: arg_cfg["default"]}) + ap.set_defaults(name=arg_cfg["default"]) def _prepare_list_cfg(name, field_): diff --git a/uv.lock b/uv.lock index da7562f..8300609 100644 --- a/uv.lock +++ b/uv.lock @@ -4,6 +4,7 @@ requires-python = ">=3.10" [[package]] name = "argclass" +version = "0.1.0.dev1" source = { editable = "." } [package.dev-dependencies]