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.1.tar.gz (25.3 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.1-py3-none-any.whl (32.4 kB view details)

Uploaded Python 3

File details

Details for the file python_tty-0.1.1.tar.gz.

File metadata

  • Download URL: python_tty-0.1.1.tar.gz
  • Upload date:
  • Size: 25.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for python_tty-0.1.1.tar.gz
Algorithm Hash digest
SHA256 bb75254901b8f3e4a51fdb46f7544b0236a7881e18d40868e7461fa4b949c3a6
MD5 d3a458d23fac993df051f2f1a410fc84
BLAKE2b-256 bc0c9003a8f5673180eb00a12724c85e3e9267fe6a0a03f78a23a26ad70752b8

See more details on using hashes here.

File details

Details for the file python_tty-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: python_tty-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 32.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for python_tty-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 18fde3ba3ae0ec289a1f8575618cfdb118358dcabed7c84e238f87220f39bd4c
MD5 ca136cf5db50dd42c625d948aeda30b3
BLAKE2b-256 1079b2ab9a67a7eb8303bfc2592946f2c5ce3503be78094da5a2ada1131c43da

See more details on using hashes here.

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