Skip to main content

prompt

Version: 16.0.7

Renders typed terminal output and captures interactive input through a nestable IoManager with indentation and verbosity

Table of Contents

Prompt IO Quickstart

WithIoManager: owning or sharing the IoManager

  • Any class that needs prompt output should inherit WithIoManager.
  • Call self.ensure_io_manager() to lazily create or reuse an IoManager.
  • To inherit a parent’s indentation/verbosity, call self.set_parent_io_handler(parent); every context you create is automatically nested +1.
  • If someone else instantiates the manager, call self.use_io_manager(io) to reuse it instead of creating a new instance.

WithIoMethods: direct method proxies

  • Mix in WithIoMethods when you want to call self.log(...), self.separator(...), etc., without reaching into self.io.
  • The mixin delegates missing attribute lookups to the underlying IoManager, and it automatically injects context=self.create_io_context() so nested logging just works.

Typical pattern

from wexample_prompt.mixins.with_io_methods import WithIoMethods

class Worker(WithIoMethods):
    def __attrs_post_init__(self):
        self.ensure_io_manager()          # Owns an IoManager

    def run(self):
        self.log("top level message")     # via WithIoMethods

class Child(WithIoMethods):
    def __attrs_post_init__(self, parent):
        self.set_parent_io_handler(parent)  # reuse & indent

    def run(self):
        self.log("nested message")

The executor or parent decides whether to create a fresh manager or cascade an existing one; children only call ensure_io_manager() and never worry about the init order.

Known Limitations & Roadmap

Current limitations and planned features are tracked in the GitHub issues.

See the project roadmap for upcoming features and improvements.

Status & Compatibility

Maturity: Production-ready

Python Support: >=3.10

OS Support: Linux, macOS, Windows

Status: Actively maintained

Tests

Run the test suite:

pytest tests/

With coverage:

pytest --cov=prompt tests/

Metadata

Release files for wexample-prompt 16.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wexample-prompt 16.0.7
File Size Uploaded Provenance
wexample_prompt-16.0.7.tar.gz 141.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for wexample-prompt 16.0.7
File Interpreter ABI Platform
wexample_prompt-16.0.7-py3-none-any.whl Python 3 none any Details

Total release size: 349.9 kB

Release files / wexample_prompt-16.0.7.tar.gz

Download URL wexample_prompt-16.0.7.tar.gz
Size 141.1 kB
Tags Source
SHA-256 checksum
How to use checksums
81618f534e93eda8dcaa57c9961f54eb33cae82a212d7cd59fed7172e74813c2
BLAKE2b-256 checksum
How to use checksums
0a3ee13728ea08129eed86206752f5d163a75c700710630625f186f7ef53f788
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.29.3 CPython/3.12.3 Linux/6.1.0-37-amd64

Release files / wexample_prompt-16.0.7-py3-none-any.whl

Download URL wexample_prompt-16.0.7-py3-none-any.whl
Size 208.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b463bfdf3745f8ef94109cdadd4e2ab66be01a625a7699618fcc4ee350f99b35
BLAKE2b-256 checksum
How to use checksums
e7e050e048f95ce694a345ee5f70ef05448e2331d4bc07684cab64df4f5b9585
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.29.3 CPython/3.12.3 Linux/6.1.0-37-amd64

Security for wexample-prompt 16.0.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

16.0.7 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page