Migrate build system to uv
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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_):
|
||||||
Reference in New Issue
Block a user