pyiotools
Provides several utilities for handling I/O
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- PyQt5 requires a display server on Linux; GUI mode will fail in headless environments.
- Requires Python 3.8 or later.
- Low install friction, but the package is in alpha status and abandoned since 2022 with no recent maintenance.
License · maintenance · safety
MIT (permissive) — MIT license is permissive and imposes no restrictions on use, modification, or distribution in your own projects.
last release 2021-02-01 (2020 days) · last repo commit 2022-04-16 · 1 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 612,558 downloads/mo, #5,756 on PyPI
Alternatives
Verify before relying
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()- 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.
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 on this page. Verify before relying on it.
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
pyiotools on PyPI
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.
PyQt5 requires a display server on Linux; GUI mode will fail in headless environments. Requires Python 3.8 or later.
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()
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 | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 14 packagesAPSchedulerdillcryptographycursorreadcharcoloramainfi.systrayPyQt5maybe-elsepandaspathmagicpymiscutilspysubtypestypepy |
| Maintenance | Abandoned 2,020 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 612,558 / month, #5,756 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 3 - AlphaIntended Audience :: DevelopersProgramming Language :: Python :: 3.8 |
Evidence: pyiotools-0.3.18-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “command line argument parser gui”
- pyiotoolsProvides unified I/O handling for command-line, GUI, and programmatic…
- argparseProvides command-line argument parsing for Python programs,…
- docopt-ngParses command-line arguments and options from a docstring-based…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also pymiscutils · argparse-addons · jupyter-ui-poll · inquirer3 · ipyevents · intervals · easygui · imgui · pick · inquirer