PepperPy console package
Project description
PepperPy Console
A powerful Python library for building text-based user interfaces (TUI) with a focus on extensibility and ease of use.
Features
- 🎨 Theme Support: Customizable appearance with built-in themes
- 🔌 Plugin System: Easy to extend with custom plugins
- 🎯 CLI Framework: Robust command-line interface system
- 📱 TUI Components: Rich set of text user interface widgets
- 🔄 Event System: Comprehensive event handling
- 🔒 Type Safety: Full type hints support
- ⚡ Async Support: Built with asyncio for modern Python applications
Installation
pip install pepperpy-console
Quick Start
from pepperpy import PepperApp, PepperScreen, Static
class WelcomeScreen(PepperScreen):
async def compose(self):
yield Static("Welcome to PepperPy Console!")
class MyApp(PepperApp):
async def on_mount(self):
await self.push_screen(WelcomeScreen())
if __name__ == "__main__":
app = MyApp()
app.run()
Documentation
Visit our documentation for:
Examples
CLI Application
from pepperpy import PepperApp, Command
class CLIApp(PepperApp):
def __init__(self):
super().__init__()
self.setup_commands()
def setup_commands(self):
async def greet(name: str):
return f"Hello, {name}!"
self.commands.add_command(Command(
name="greet",
callback=greet,
description="Greet someone"
))
app = CLIApp()
app.run()
Data Table
from pepperpy import (
PepperApp,
PepperScreen,
PepperTable,
Column
)
class DataScreen(PepperScreen):
def __init__(self):
super().__init__()
self.table = PepperTable()
def setup_table(self):
self.table.add_column(Column("ID"))
self.table.add_column(Column("Name"))
self.table.add_row("1", "Item 1")
async def compose(self):
self.setup_table()
yield self.table
app = PepperApp()
app.push_screen(DataScreen())
app.run()
Contributing
We welcome contributions! Please see our Contributing Guide for details.
Development
- Clone the repository:
git clone https://github.com/yourusername/pepperpy-console.git
cd pepperpy-console
- Install dependencies:
poetry install
- Run tests:
poetry run pytest
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Built with Textual
- Inspired by modern Python libraries and frameworks
Support
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pepperpy_console-0.3.1.tar.gz.
File metadata
- Download URL: pepperpy_console-0.3.1.tar.gz
- Upload date:
- Size: 32.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.1 CPython/3.12.8 Linux/6.5.0-1025-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70d40a39c82659276e9e96e5ddc219b551a95106f0895ab43380c5290456c6e7
|
|
| MD5 |
eeb4e3dbd07aebecfd4294d0c92025f6
|
|
| BLAKE2b-256 |
d36a9e1ad4e6fc97ffae531a84d20d1b6a7baa0b0d99bcb144fbbf93e99568b2
|
File details
Details for the file pepperpy_console-0.3.1-py3-none-any.whl.
File metadata
- Download URL: pepperpy_console-0.3.1-py3-none-any.whl
- Upload date:
- Size: 50.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.1 CPython/3.12.8 Linux/6.5.0-1025-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
efe0307ff9f05624e1727c71a81f3bdbc542295b68e9c2a45f122f54f430d4ba
|
|
| MD5 |
b380d99fa65817cd56d64a8fe939ee7d
|
|
| BLAKE2b-256 |
aec517af81260621a9bc8764b814cb2e9d6d4224c96c3d2f361fb6ef4f57e0ac
|