Skip to main content

Official diff extension for SuperNanno

Project description

NannoKit.diff

Official diff 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.diff 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-diff

To also install with SuperNanno (when available):

pip install "nannokit-diff[supernanno]"

🚀 Quick Start

from nannokit.diff 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.diff.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 diff 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/diff/
├── 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_diff-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_diff-0.0.0-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file nannokit_diff-0.0.0.tar.gz.

File metadata

  • Download URL: nannokit_diff-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_diff-0.0.0.tar.gz
Algorithm Hash digest
SHA256 6e79de2d18765a335aa064120e1a530d040f0dea046b6ee5dc642690a9813bde
MD5 541f7f4cb0ea8482dbb7335e417e7ec2
BLAKE2b-256 63f77267fc0501b15fc024145ef77c23ab8e7e27a480a0e24f145f6063fa4d27

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nannokit_diff-0.0.0-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for nannokit_diff-0.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 08b704e329d391c26e0f1cec1d42d51b7272a6993f5ec2a40805d7505be95637
MD5 c22a834dbd48282a3f08e77d155d1c4d
BLAKE2b-256 7495cbb29c5d1cb2d48b2a1b168b81037e0d6416e2eaff14e4873663d40aef77

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