Name | pepperpy-console JSON |
Version |
0.3.1
JSON |
| download |
home_page | None |
Summary | PepperPy console package |
upload_time | 2025-01-14 18:00:53 |
maintainer | None |
docs_url | None |
author | Felipe Pimentel |
requires_python | <4.0,>=3.12 |
license | None |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# PepperPy Console
[](https://badge.fury.io/py/pepperpy-console)
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](https://github.com/psf/black)
[](https://pepperpy-console.readthedocs.io/en/latest/?badge=latest)
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
```bash
pip install pepperpy-console
```
## Quick Start
```python
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](https://pepperpy-console.readthedocs.io/) for:
- [CLI System Guide](https://pepperpy-console.readthedocs.io/en/latest/cli/)
- [TUI Framework Guide](https://pepperpy-console.readthedocs.io/en/latest/tui/)
- [Theme System Guide](https://pepperpy-console.readthedocs.io/en/latest/themes/)
- [Examples](https://pepperpy-console.readthedocs.io/en/latest/examples/)
- [API Reference](https://pepperpy-console.readthedocs.io/en/latest/api/)
## Examples
### CLI Application
```python
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
```python
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](CONTRIBUTING.md) for details.
## Development
1. Clone the repository:
```bash
git clone https://github.com/yourusername/pepperpy-console.git
cd pepperpy-console
```
2. Install dependencies:
```bash
poetry install
```
3. Run tests:
```bash
poetry run pytest
```
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- Built with [Textual](https://github.com/Textualize/textual)
- Inspired by modern Python libraries and frameworks
## Support
- 📖 [Documentation](https://pepperpy-console.readthedocs.io/)
- 💬 [Discord Community](https://discord.gg/pepperpy)
- 📝 [GitHub Issues](https://github.com/yourusername/pepperpy-console/issues)
- 📧 [Email Support](mailto:support@pepperpy.com)
Raw data
{
"_id": null,
"home_page": null,
"name": "pepperpy-console",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.12",
"maintainer_email": null,
"keywords": null,
"author": "Felipe Pimentel",
"author_email": "fpimentel88@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/d3/6a/9e1ad4e6fc97ffae531a84d20d1b6a7baa0b0d99bcb144fbbf93e99568b2/pepperpy_console-0.3.1.tar.gz",
"platform": null,
"description": "# PepperPy Console\n\n[](https://badge.fury.io/py/pepperpy-console)\n[](https://www.python.org/downloads/)\n[](https://opensource.org/licenses/MIT)\n[](https://github.com/psf/black)\n[](https://pepperpy-console.readthedocs.io/en/latest/?badge=latest)\n\nA powerful Python library for building text-based user interfaces (TUI) with a focus on extensibility and ease of use.\n\n## Features\n\n- \ud83c\udfa8 **Theme Support**: Customizable appearance with built-in themes\n- \ud83d\udd0c **Plugin System**: Easy to extend with custom plugins\n- \ud83c\udfaf **CLI Framework**: Robust command-line interface system\n- \ud83d\udcf1 **TUI Components**: Rich set of text user interface widgets\n- \ud83d\udd04 **Event System**: Comprehensive event handling\n- \ud83d\udd12 **Type Safety**: Full type hints support\n- \u26a1 **Async Support**: Built with asyncio for modern Python applications\n\n## Installation\n\n```bash\npip install pepperpy-console\n```\n\n## Quick Start\n\n```python\nfrom pepperpy import PepperApp, PepperScreen, Static\n\nclass WelcomeScreen(PepperScreen):\n async def compose(self):\n yield Static(\"Welcome to PepperPy Console!\")\n\nclass MyApp(PepperApp):\n async def on_mount(self):\n await self.push_screen(WelcomeScreen())\n\nif __name__ == \"__main__\":\n app = MyApp()\n app.run()\n```\n\n## Documentation\n\nVisit our [documentation](https://pepperpy-console.readthedocs.io/) for:\n\n- [CLI System Guide](https://pepperpy-console.readthedocs.io/en/latest/cli/)\n- [TUI Framework Guide](https://pepperpy-console.readthedocs.io/en/latest/tui/)\n- [Theme System Guide](https://pepperpy-console.readthedocs.io/en/latest/themes/)\n- [Examples](https://pepperpy-console.readthedocs.io/en/latest/examples/)\n- [API Reference](https://pepperpy-console.readthedocs.io/en/latest/api/)\n\n## Examples\n\n### CLI Application\n\n```python\nfrom pepperpy import PepperApp, Command\n\nclass CLIApp(PepperApp):\n def __init__(self):\n super().__init__()\n self.setup_commands()\n\n def setup_commands(self):\n async def greet(name: str):\n return f\"Hello, {name}!\"\n\n self.commands.add_command(Command(\n name=\"greet\",\n callback=greet,\n description=\"Greet someone\"\n ))\n\napp = CLIApp()\napp.run()\n```\n\n### Data Table\n\n```python\nfrom pepperpy import (\n PepperApp,\n PepperScreen,\n PepperTable,\n Column\n)\n\nclass DataScreen(PepperScreen):\n def __init__(self):\n super().__init__()\n self.table = PepperTable()\n\n def setup_table(self):\n self.table.add_column(Column(\"ID\"))\n self.table.add_column(Column(\"Name\"))\n self.table.add_row(\"1\", \"Item 1\")\n\n async def compose(self):\n self.setup_table()\n yield self.table\n\napp = PepperApp()\napp.push_screen(DataScreen())\napp.run()\n```\n\n## Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n## Development\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/yourusername/pepperpy-console.git\ncd pepperpy-console\n```\n\n2. Install dependencies:\n```bash\npoetry install\n```\n\n3. Run tests:\n```bash\npoetry run pytest\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- Built with [Textual](https://github.com/Textualize/textual)\n- Inspired by modern Python libraries and frameworks\n\n## Support\n\n- \ud83d\udcd6 [Documentation](https://pepperpy-console.readthedocs.io/)\n- \ud83d\udcac [Discord Community](https://discord.gg/pepperpy)\n- \ud83d\udcdd [GitHub Issues](https://github.com/yourusername/pepperpy-console/issues)\n- \ud83d\udce7 [Email Support](mailto:support@pepperpy.com)\n",
"bugtrack_url": null,
"license": null,
"summary": "PepperPy console package",
"version": "0.3.1",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "aec517af81260621a9bc8764b814cb2e9d6d4224c96c3d2f361fb6ef4f57e0ac",
"md5": "b380d99fa65817cd56d64a8fe939ee7d",
"sha256": "efe0307ff9f05624e1727c71a81f3bdbc542295b68e9c2a45f122f54f430d4ba"
},
"downloads": -1,
"filename": "pepperpy_console-0.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b380d99fa65817cd56d64a8fe939ee7d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.12",
"size": 50605,
"upload_time": "2025-01-14T18:00:52",
"upload_time_iso_8601": "2025-01-14T18:00:52.724440Z",
"url": "https://files.pythonhosted.org/packages/ae/c5/17af81260621a9bc8764b814cb2e9d6d4224c96c3d2f361fb6ef4f57e0ac/pepperpy_console-0.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d36a9e1ad4e6fc97ffae531a84d20d1b6a7baa0b0d99bcb144fbbf93e99568b2",
"md5": "eeb4e3dbd07aebecfd4294d0c92025f6",
"sha256": "70d40a39c82659276e9e96e5ddc219b551a95106f0895ab43380c5290456c6e7"
},
"downloads": -1,
"filename": "pepperpy_console-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "eeb4e3dbd07aebecfd4294d0c92025f6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.12",
"size": 31954,
"upload_time": "2025-01-14T18:00:53",
"upload_time_iso_8601": "2025-01-14T18:00:53.770104Z",
"url": "https://files.pythonhosted.org/packages/d3/6a/9e1ad4e6fc97ffae531a84d20d1b6a7baa0b0d99bcb144fbbf93e99568b2/pepperpy_console-0.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-14 18:00:53",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "pepperpy-console"
}