Skip to main content

A multi-console TTY framework for complex CLI/TTY apps

Project description

Command Line Framework (V2: Web/RPC-ready)

中文

V2 extends the TTY core toward Web + RPC, while keeping the current codebase focused on the TTY runtime. At the moment, Web/RPC is planned but not yet implemented.

Quick Start (TTY Core)

  1. Define your consoles and commands (see examples in python_tty/consoles/examples and python_tty/commands/examples).
  2. Ensure console modules are imported so decorators can register them:
    • Update DEFAULT_CONSOLE_MODULES in python_tty/consoles/loader.py, or
    • Call load_consoles([...]) manually.
  3. Start the factory:
from python_tty.console_factory import ConsoleFactory

factory = ConsoleFactory(service=my_business_core)
factory.start()

The service instance is available in all consoles via console.service, and in commands via self.console.service. If service does not inherit UIEventSpeaker, a warning is emitted at startup.

Current Capabilities (TTY Core)

Console layer:

  • python_tty/consoles/core.py: BaseConsole, MainConsole, SubConsole
  • python_tty/consoles/manager.py and python_tty/consoles/registry.py for lifecycle and registration

Commands layer:

  • python_tty/commands/core.py: BaseCommands, CommandValidator
  • python_tty/commands/registry.py: CommandRegistry, ArgSpec
  • python_tty/commands/general.py: GeneralValidator, GeneralCompleter
  • python_tty/commands/mixins.py: CommandMixin and built-in mixins

UI and utilities:

  • python_tty/core/events.py: UIEvent, UIEventLevel, UIEventSpeaker
  • python_tty/ui/output.py: proxy_print
  • python_tty/utils/: tokenize.py, table.py, ui_logger.py

Roadmap (V2)

Planned milestones for Web + RPC:

  • M1: Meta Descriptor v1 + Exporter
  • M2: RPC proto v1 + local (de)serialization
  • M3: Meta Web Server (HTTP + WS)
  • M4: RPC Server (mTLS + allowlist + audit)
  • M5: Unified execution system (CommandExecutor)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python_tty-0.1.2rc2.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python_tty-0.1.2rc2-py3-none-any.whl (32.5 kB view details)

Uploaded Python 3

File details

Details for the file python_tty-0.1.2rc2.tar.gz.

File metadata

  • Download URL: python_tty-0.1.2rc2.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for python_tty-0.1.2rc2.tar.gz
Algorithm Hash digest
SHA256 bd41d6ffd6af80bbd98b6178bd1d1ad79153f959aea267c798dcf6ce3a4e714e
MD5 64153ce65a165c5f4310738941a66232
BLAKE2b-256 810f7d0fd7da9b31e79ef29588a118832164169599ec29ffc8677f56cd503d6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_tty-0.1.2rc2.tar.gz:

Publisher: python-publish.yml on ROOKIEMIE/python-tty

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_tty-0.1.2rc2-py3-none-any.whl.

File metadata

  • Download URL: python_tty-0.1.2rc2-py3-none-any.whl
  • Upload date:
  • Size: 32.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for python_tty-0.1.2rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 7a48fffbfdef7059318bbc09b744dee593cb492a9e0781cec2b1b5d3c092d2d5
MD5 7cac73cd5d232ffe1186b97a2ff9b54c
BLAKE2b-256 12c8e2842546f46afd9651a5d09f36ef0e3f05529bd22c62855c6c8ded8bb216

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_tty-0.1.2rc2-py3-none-any.whl:

Publisher: python-publish.yml on ROOKIEMIE/python-tty

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page