Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nannokit_terminal-0.0.0.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nannokit_terminal-0.0.0-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

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

Hashes for nannokit_terminal-0.0.0.tar.gz
Algorithm Hash digest
SHA256 c71d15e05020af7b433ce321901d75cda355a56960fc68c8ab70038f26099ed4
MD5 78759f14671134310a16d5901257f6c9
BLAKE2b-256 180a629f84a298b19baeda764df8adfe7a832c175ff79a7efc1e32bb41482dab

See more details on using hashes here.

File details

Details for the file nannokit_terminal-0.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nannokit_terminal-0.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e939144f654cf296acdfa9d2f7c6c7ec49634459b30873249d36148ae5461c0e
MD5 72b2ae17820b69ebd56189f4b4b541f1
BLAKE2b-256 1f4014fffd03160c3d0425db7ad7d88624bd16379dd6da06b23ab9b076338b11

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page