Metadata-Version: 2.4
Name: argsui
Version: 0.2.1
Summary: Library for turning dataclasses into argparser args and gui.
Author: McDougall
Author-email: McDougall <Duncan.McDougall@rfi.ac.uk>
License-Expression: Apache-2.0
License-File: LICENSES/Apache-2.0.txt
Requires-Dist: matplotlib>=3.10.8
Requires-Dist: pyside6>=6.11.0
Requires-Dist: pytest-local-badge>=1.3.0
Requires-Python: >=3.12, <3.14
Description-Content-Type: text/markdown

<!--
SPDX-FileCopyrightText: 2026 Duncan McDougall <duncan.mcdougall@rfi.ac.uk>

SPDX-License-Identifier: Apache-2.0
-->

# Args UI
![argsui-version](https://raw.githubusercontent.com/rosalindfranklininstitute/argsUI/badges/badges/argsui-version.svg)
![argsui-requires-python](https://raw.githubusercontent.com/rosalindfranklininstitute/argsUI/badges/badges/argsui-requires-python.svg)
![argsui-license](https://raw.githubusercontent.com/rosalindfranklininstitute/argsUI/badges/badges/argsui-license.svg)

![tests](https://raw.githubusercontent.com/rosalindfranklininstitute/argsUI/badges/badges/tests.svg)
![skipped](https://raw.githubusercontent.com/rosalindfranklininstitute/argsUI/badges/badges/skipped.svg)
![coverage](https://raw.githubusercontent.com/rosalindfranklininstitute/argsUI/badges/badges/coverage.svg)
![last-run](https://raw.githubusercontent.com/rosalindfranklininstitute/argsUI/badges/badges/last-run.svg)

Library for turning dataclasses into argparser args and gui.
Inspired by [datargs](https://github.com/roee30/datargs.git) and [mininterface](https://github.com/CZ-NIC/mininterface.git).

# Features

- Ignore normal fields, only parse `arg_field`s
- Allow "append" action.
- Allow nested data classes
- Provides some useful utilities

# Utilities

- `config_args` allows reading arguments from a toml file.
- `interactive_args` allows displaying the arguments as a GUI.
- `bulk_args` allows wrapping a single file CLI into a recursive multi file CLI.
- All of these can easily be composed, and the arguments (fields of the dataclass) filled in progressively, or overridden, at each stage.


