Official terminal extension for SuperNanno
Project description
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
pip install nannokit-terminal
To also install with SuperNanno (when available):
pip install "nannokit-terminal[supernanno]"
🚀 Quick Start
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):
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
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
# Install in editable mode with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
Changelog
See CHANGELOG.md for recent changes (architecture refactor, bug fixes, new features, end-to-end tests, etc.).
License
BSD 3-Clause License — see the LICENSE file for details.
Part of the SuperNanno ecosystem.
Built to make Textual application development even more powerful and enjoyable.
Author: Heitor Bardemaker A. Bisneto (@BisnetoDev)
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 nannokit_terminal-0.0.0.tar.gz.
File metadata
- Download URL: nannokit_terminal-0.0.0.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c71d15e05020af7b433ce321901d75cda355a56960fc68c8ab70038f26099ed4
|
|
| MD5 |
78759f14671134310a16d5901257f6c9
|
|
| BLAKE2b-256 |
180a629f84a298b19baeda764df8adfe7a832c175ff79a7efc1e32bb41482dab
|
File details
Details for the file nannokit_terminal-0.0.0-py3-none-any.whl.
File metadata
- Download URL: nannokit_terminal-0.0.0-py3-none-any.whl
- Upload date:
- Size: 4.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e939144f654cf296acdfa9d2f7c6c7ec49634459b30873249d36148ae5461c0e
|
|
| MD5 |
72b2ae17820b69ebd56189f4b4b541f1
|
|
| BLAKE2b-256 |
1f4014fffd03160c3d0425db7ad7d88624bd16379dd6da06b23ab9b076338b11
|