pepperpy-console


Namepepperpy-console JSON
Version 0.3.1 PyPI version JSON
download
home_pageNone
SummaryPepperPy console package
upload_time2025-01-14 18:00:53
maintainerNone
docs_urlNone
authorFelipe Pimentel
requires_python<4.0,>=3.12
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # PepperPy Console

[![PyPI version](https://badge.fury.io/py/pepperpy-console.svg)](https://badge.fury.io/py/pepperpy-console)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Documentation Status](https://readthedocs.org/projects/pepperpy-console/badge/?version=latest)](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[![PyPI version](https://badge.fury.io/py/pepperpy-console.svg)](https://badge.fury.io/py/pepperpy-console)\n[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Documentation Status](https://readthedocs.org/projects/pepperpy-console/badge/?version=latest)](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"
}
        
Elapsed time: 0.73840s