--- id: pyiotools version: "0.3.18" license: MIT license_treatment: permissive maintenance: abandoned --- # pyiotools — Provides several utilities for handling I/O License: permissive · Maintenance: abandoned · Downloads: 612.6K/mo ## What it is and what it does pyiotools is a unified I/O framework that abstracts away the differences between command-line, GUI, and programmatic argument handling. It provides an IOHandler class that works like argparse but can switch between modes: COMMANDLINE mode uses argparse under the hood with a custom help interface, GUI mode builds a PyQt5 form automatically based on argument types, and PROGRAMMATIC mode accepts arguments as a dictionary. The package also includes type validators, interactive console utilities for menu selection, a Script class that auto-profiles method calls and logs them, and a Cache class for object serialization. The library is still in alpha and has been abandoned since April 2022, with the last release in February 2021. The description explicitly warns that the API will likely undergo significant breaking changes and documentation will fall out of sync. It carries 14 runtime dependencies including PyQt5, pandas, and APScheduler, making it a heavy addition to any project. The package is useful for rapid prototyping of tools that need multiple input modes, but the lack of maintenance and unstable API make it risky for production use. Use it for: - Build a tool that accepts input via command line, GUI, or programmatic API without rewriting argument handling logic. - Quickly prototype interactive console applications with menu selection and multi-select support using arrow keys. - Validate and coerce user input to specific types (integers, paths, datetimes, dataframes) with custom conditions. - Automatically generate a PyQt5 GUI form from argument definitions without writing widget code. - Profile and log method execution with automatic serialization of script state for debugging. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides unified I/O handling for command-line, GUI, and programmatic argument processing, with type validation, interactive console features, and object profiling and caching utilities. No. The package is abandoned (last commit April 2022) and explicitly warns of unstable API and out-of-sync documentation. The 14 heavy runtime dependencies, including PyQt5, make it a substantial addition for an alpha-stage tool. Use argparse, click, or typer for command-line handling and PyQt5 directly for GUI work instead. ## Install pip install pyiotools uv add pyiotools poetry add pyiotools ## Installing pyiotools Before you install: Low install friction, but the package is in alpha status and abandoned since 2022 with no recent maintenance. The 14 runtime dependencies include PyQt5 and other heavy libraries, which will pull in substantial system requirements despite the wheel distribution. License in practice: MIT license is permissive and imposes no restrictions on use, modification, or distribution in your own projects. Quickstart: pip install pyiotools from pyiotools import IOHandler, Argument, RunMode with IOHandler(run_mode=RunMode.COMMANDLINE) as handler: Argument('name', argtype='STRING').add() Argument('count', argtype='INTEGER', default=1).add() result = handler.process() PyQt5 requires a display server on Linux; GUI mode will fail in headless environments. Requires Python 3.8 or later. Verify before relying: - Whether the 14 runtime dependencies (including PyQt5, pandas, APScheduler) are all actually required at install time or only for specific features. - Current state of the codebase and whether breaking API changes have stabilized since the last release in February 2021. - Whether the package works reliably with Python versions beyond 3.8, given the classifier only lists 3.8. ## Package facts - License: MIT (permissive) - Python support: unspecified - Install friction: low - Maintenance: abandoned - Downloads: 612.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags command line argument parser gui, interactive console input handling, type validation and coercion, argument processing framework, gui form builder from arguments, console choice selection, object profiling and logging, serialization and caching, argument-parsing, gui-builder, interactive-console [View on SkillFed](https://skillfed.io/packages/pyiotools) · [View on PyPI](https://pypi.org/project/pyiotools/)