Skip to main content

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)

Release files for nannokit-terminal 0.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nannokit-terminal 0.0.0
File Size Uploaded
nannokit_terminal-0.0.0.tar.gz 4.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nannokit-terminal 0.0.0
File Interpreter ABI Platform
nannokit_terminal-0.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.6 kB

Release files / nannokit_terminal-0.0.0.tar.gz

Download URL nannokit_terminal-0.0.0.tar.gz
Size 4.7 kB
Tags Source
SHA-256 checksum
How to use checksums
c71d15e05020af7b433ce321901d75cda355a56960fc68c8ab70038f26099ed4
BLAKE2b-256 checksum
How to use checksums
180a629f84a298b19baeda764df8adfe7a832c175ff79a7efc1e32bb41482dab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.0

Release files / nannokit_terminal-0.0.0-py3-none-any.whl

Download URL nannokit_terminal-0.0.0-py3-none-any.whl
Size 4.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e939144f654cf296acdfa9d2f7c6c7ec49634459b30873249d36148ae5461c0e
BLAKE2b-256 checksum
How to use checksums
1f4014fffd03160c3d0425db7ad7d88624bd16379dd6da06b23ab9b076338b11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.0

Release history Release notifications | RSS feed

This release

0.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page