Metadata-Version: 2.1
Name: nannokit-terminal
Version: 0.0.0
Summary: Official terminal extension for SuperNanno
Home-page: https://github.com/hbisneto/SuperNanno
Author: Heitor Bardemaker A. Bisneto
Author-email: bisnetoinc@gmail.com
License: BSD-3-Clause
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: User Interfaces
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Text Editors
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE

# NannoKit.terminal

**Official terminal extension for SuperNanno** — Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

NannoKit.terminal provides clean, high-level APIs for common user interactions, inspired by modern desktop application patterns.

> Designed to integrate seamlessly into **SuperNanno** and work standalone in any Textual app.

---

## ✨ Features

- Automatic resolution of the running Textual `App` (no manual passing required in most cases)
- Full keyboard and mouse support
- Consistent behavior: Escape to cancel
- Internal composition between components
- Full test coverage with Textual Pilot
- Installable as a standalone package or as part of the SuperNanno ecosystem
- Modern and clean API design

---

## 📦 Installation

```bash
pip install nannokit-terminal
```

To also install with SuperNanno (when available):

```bash
pip install "nannokit-terminal[supernanno]"
```

---

## 🚀 Quick Start

```python
from nannokit.terminal import example_class_1, example_class_2
from pathlib import Path

# Example usage
example_class_1.show(
    # parameters here
    callback=lambda result: print("Result:", result),
)

# Another example
example_class_2.show(
    title="Example Title",
    callback=lambda value: print("Value:", value),
)
```

---

## Integration with SuperNanno

In your main `App` class, attach the manager once (recommended):

```python
from textual.app import App
from nannokit.terminal.core import manager_class

class SuperNannoApp(App):
    def on_mount(self) -> None:
        manager_class.attach(self)
        # ... rest of your app
```

After this setup, you can call any terminal component from anywhere in your application.

---

## 📖 API

### Main Components

- **`main_class_1.show(...)`** — Lorem ipsum dolor sit amet, consectetur adipiscing elit.
- **`main_class_2.show(...)`** — Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- **`main_class_3.show(...)`** — Ut enim ad minim veniam, quis nostrud exercitation.

All components accept common parameters such as `title`, `initial_value`, `callback`, and `show_hidden`.

### section_name

```python
section_example
```

---

## Package Structure

```
nannokit/terminal/
├── core/              # Shared manager, base classes and utilities
├── module_1/        # module_1_description
├── module_2/        # module_2_description
├── module_3/        # module_3_description
└── styles/            # TCSS stylesheets
```

---

## Development

```bash
# Install in editable mode with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest
```

---

## Changelog

See [CHANGELOG.md](CHANGELOG.md) for recent changes (architecture refactor, bug fixes, new features, end-to-end tests, etc.).

---

## License

**BSD 3-Clause License** — see the [LICENSE](LICENSE) file for details.

---

**Part of the [SuperNanno](https://github.com/hbisneto/SuperNanno) ecosystem.**

Built to make Textual application development even more powerful and enjoyable.

**Author:** Heitor Bardemaker A. Bisneto (@BisnetoDev)


