nannokit-diff 0.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,28 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2026, Heitor Bardemaker A. Bisneto
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+
15
+ 3. Neither the name of the copyright holder nor the names of its
16
+ contributors may be used to endorse or promote products derived from
17
+ this software without specific prior written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,163 @@
1
+ Metadata-Version: 2.1
2
+ Name: nannokit_diff
3
+ Version: 0.0.0
4
+ Summary: Official diff extension for SuperNanno
5
+ Home-page: https://github.com/hbisneto/SuperNanno
6
+ Author: Heitor Bardemaker A. Bisneto
7
+ Author-email: bisnetoinc@gmail.com
8
+ License: BSD-3-Clause
9
+ Platform: UNKNOWN
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: BSD License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Topic :: Software Development :: User Interfaces
20
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
21
+ Classifier: Topic :: Text Editors
22
+ Classifier: Typing :: Typed
23
+ Requires-Python: >=3.10
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+
27
+ # NannoKit.diff
28
+
29
+ **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.
30
+
31
+ NannoKit.diff provides clean, high-level APIs for common user interactions, inspired by modern desktop application patterns.
32
+
33
+ > Designed to integrate seamlessly into **SuperNanno** and work standalone in any Textual app.
34
+
35
+ ---
36
+
37
+ ## ✨ Features
38
+
39
+ - Automatic resolution of the running Textual `App` (no manual passing required in most cases)
40
+ - Full keyboard and mouse support
41
+ - Consistent behavior: Escape to cancel
42
+ - Internal composition between components
43
+ - Full test coverage with Textual Pilot
44
+ - Installable as a standalone package or as part of the SuperNanno ecosystem
45
+ - Modern and clean API design
46
+
47
+ ---
48
+
49
+ ## 📦 Installation
50
+
51
+ ```bash
52
+ pip install nannokit-diff
53
+ ```
54
+
55
+ To also install with SuperNanno (when available):
56
+
57
+ ```bash
58
+ pip install "nannokit-diff[supernanno]"
59
+ ```
60
+
61
+ ---
62
+
63
+ ## 🚀 Quick Start
64
+
65
+ ```python
66
+ from nannokit.diff import example_class_1, example_class_2
67
+ from pathlib import Path
68
+
69
+ # Example usage
70
+ example_class_1.show(
71
+ # parameters here
72
+ callback=lambda result: print("Result:", result),
73
+ )
74
+
75
+ # Another example
76
+ example_class_2.show(
77
+ title="Example Title",
78
+ callback=lambda value: print("Value:", value),
79
+ )
80
+ ```
81
+
82
+ ---
83
+
84
+ ## Integration with SuperNanno
85
+
86
+ In your main `App` class, attach the manager once (recommended):
87
+
88
+ ```python
89
+ from textual.app import App
90
+ from nannokit.diff.core import manager_class
91
+
92
+ class SuperNannoApp(App):
93
+ def on_mount(self) -> None:
94
+ manager_class.attach(self)
95
+ # ... rest of your app
96
+ ```
97
+
98
+ After this setup, you can call any diff component from anywhere in your application.
99
+
100
+ ---
101
+
102
+ ## 📖 API
103
+
104
+ ### Main Components
105
+
106
+ - **`main_class_1.show(...)`** — Lorem ipsum dolor sit amet, consectetur adipiscing elit.
107
+ - **`main_class_2.show(...)`** — Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
108
+ - **`main_class_3.show(...)`** — Ut enim ad minim veniam, quis nostrud exercitation.
109
+
110
+ All components accept common parameters such as `title`, `initial_value`, `callback`, and `show_hidden`.
111
+
112
+ ### section_name
113
+
114
+ ```python
115
+ section_example
116
+ ```
117
+
118
+ ---
119
+
120
+ ## Package Structure
121
+
122
+ ```
123
+ nannokit/diff/
124
+ ├── core/ # Shared manager, base classes and utilities
125
+ ├── module_1/ # module_1_description
126
+ ├── module_2/ # module_2_description
127
+ ├── module_3/ # module_3_description
128
+ └── styles/ # TCSS stylesheets
129
+ ```
130
+
131
+ ---
132
+
133
+ ## Development
134
+
135
+ ```bash
136
+ # Install in editable mode with dev dependencies
137
+ pip install -e ".[dev]"
138
+
139
+ # Run tests
140
+ pytest
141
+ ```
142
+
143
+ ---
144
+
145
+ ## Changelog
146
+
147
+ See [CHANGELOG.md](CHANGELOG.md) for recent changes (architecture refactor, bug fixes, new features, end-to-end tests, etc.).
148
+
149
+ ---
150
+
151
+ ## License
152
+
153
+ **BSD 3-Clause License** — see the [LICENSE](LICENSE) file for details.
154
+
155
+ ---
156
+
157
+ **Part of the [SuperNanno](https://github.com/hbisneto/SuperNanno) ecosystem.**
158
+
159
+ Built to make Textual application development even more powerful and enjoyable.
160
+
161
+ **Author:** Heitor Bardemaker A. Bisneto (@BisnetoDev)
162
+
163
+
@@ -0,0 +1,135 @@
1
+ # NannoKit.diff
2
+
3
+ **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.
4
+
5
+ NannoKit.diff provides clean, high-level APIs for common user interactions, inspired by modern desktop application patterns.
6
+
7
+ > Designed to integrate seamlessly into **SuperNanno** and work standalone in any Textual app.
8
+
9
+ ---
10
+
11
+ ## ✨ Features
12
+
13
+ - Automatic resolution of the running Textual `App` (no manual passing required in most cases)
14
+ - Full keyboard and mouse support
15
+ - Consistent behavior: Escape to cancel
16
+ - Internal composition between components
17
+ - Full test coverage with Textual Pilot
18
+ - Installable as a standalone package or as part of the SuperNanno ecosystem
19
+ - Modern and clean API design
20
+
21
+ ---
22
+
23
+ ## 📦 Installation
24
+
25
+ ```bash
26
+ pip install nannokit-diff
27
+ ```
28
+
29
+ To also install with SuperNanno (when available):
30
+
31
+ ```bash
32
+ pip install "nannokit-diff[supernanno]"
33
+ ```
34
+
35
+ ---
36
+
37
+ ## 🚀 Quick Start
38
+
39
+ ```python
40
+ from nannokit.diff import example_class_1, example_class_2
41
+ from pathlib import Path
42
+
43
+ # Example usage
44
+ example_class_1.show(
45
+ # parameters here
46
+ callback=lambda result: print("Result:", result),
47
+ )
48
+
49
+ # Another example
50
+ example_class_2.show(
51
+ title="Example Title",
52
+ callback=lambda value: print("Value:", value),
53
+ )
54
+ ```
55
+
56
+ ---
57
+
58
+ ## Integration with SuperNanno
59
+
60
+ In your main `App` class, attach the manager once (recommended):
61
+
62
+ ```python
63
+ from textual.app import App
64
+ from nannokit.diff.core import manager_class
65
+
66
+ class SuperNannoApp(App):
67
+ def on_mount(self) -> None:
68
+ manager_class.attach(self)
69
+ # ... rest of your app
70
+ ```
71
+
72
+ After this setup, you can call any diff component from anywhere in your application.
73
+
74
+ ---
75
+
76
+ ## 📖 API
77
+
78
+ ### Main Components
79
+
80
+ - **`main_class_1.show(...)`** — Lorem ipsum dolor sit amet, consectetur adipiscing elit.
81
+ - **`main_class_2.show(...)`** — Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
82
+ - **`main_class_3.show(...)`** — Ut enim ad minim veniam, quis nostrud exercitation.
83
+
84
+ All components accept common parameters such as `title`, `initial_value`, `callback`, and `show_hidden`.
85
+
86
+ ### section_name
87
+
88
+ ```python
89
+ section_example
90
+ ```
91
+
92
+ ---
93
+
94
+ ## Package Structure
95
+
96
+ ```
97
+ nannokit/diff/
98
+ ├── core/ # Shared manager, base classes and utilities
99
+ ├── module_1/ # module_1_description
100
+ ├── module_2/ # module_2_description
101
+ ├── module_3/ # module_3_description
102
+ └── styles/ # TCSS stylesheets
103
+ ```
104
+
105
+ ---
106
+
107
+ ## Development
108
+
109
+ ```bash
110
+ # Install in editable mode with dev dependencies
111
+ pip install -e ".[dev]"
112
+
113
+ # Run tests
114
+ pytest
115
+ ```
116
+
117
+ ---
118
+
119
+ ## Changelog
120
+
121
+ See [CHANGELOG.md](CHANGELOG.md) for recent changes (architecture refactor, bug fixes, new features, end-to-end tests, etc.).
122
+
123
+ ---
124
+
125
+ ## License
126
+
127
+ **BSD 3-Clause License** — see the [LICENSE](LICENSE) file for details.
128
+
129
+ ---
130
+
131
+ **Part of the [SuperNanno](https://github.com/hbisneto/SuperNanno) ecosystem.**
132
+
133
+ Built to make Textual application development even more powerful and enjoyable.
134
+
135
+ **Author:** Heitor Bardemaker A. Bisneto (@BisnetoDev)
@@ -0,0 +1,29 @@
1
+
2
+ # supernanno/app.py
3
+ #
4
+ # Example of how the SuperNanno main App integrates with diff.
5
+ #
6
+ # The App must call DialogManager.attach(self) once — typically in on_mount.
7
+ # After that, diff works anywhere without passing `app` manually.
8
+
9
+ from textual.app import App, ComposeResult
10
+ from textual.widgets import Label
11
+ from diff.core.manager import DialogManager
12
+
13
+ class SuperNannoApp(App):
14
+ def on_mount(self) -> None:
15
+ DialogManager.attach(self)
16
+
17
+ def compose(self) -> ComposeResult:
18
+ yield Label("diff — Press D to run the example")
19
+
20
+ def on_key(self, event) -> None:
21
+ if event.key == "d":
22
+ self._demo_dialog()
23
+
24
+ def _demo_dialog(self) -> None:
25
+ def resposta(btn: str) -> None:
26
+ self.notify(f"User clicked a button")
27
+
28
+ if __name__ == "__main__":
29
+ SuperNannoApp().run()
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,163 @@
1
+ Metadata-Version: 2.1
2
+ Name: nannokit-diff
3
+ Version: 0.0.0
4
+ Summary: Official diff extension for SuperNanno
5
+ Home-page: https://github.com/hbisneto/SuperNanno
6
+ Author: Heitor Bardemaker A. Bisneto
7
+ Author-email: bisnetoinc@gmail.com
8
+ License: BSD-3-Clause
9
+ Platform: UNKNOWN
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: BSD License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Topic :: Software Development :: User Interfaces
20
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
21
+ Classifier: Topic :: Text Editors
22
+ Classifier: Typing :: Typed
23
+ Requires-Python: >=3.10
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+
27
+ # NannoKit.diff
28
+
29
+ **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.
30
+
31
+ NannoKit.diff provides clean, high-level APIs for common user interactions, inspired by modern desktop application patterns.
32
+
33
+ > Designed to integrate seamlessly into **SuperNanno** and work standalone in any Textual app.
34
+
35
+ ---
36
+
37
+ ## ✨ Features
38
+
39
+ - Automatic resolution of the running Textual `App` (no manual passing required in most cases)
40
+ - Full keyboard and mouse support
41
+ - Consistent behavior: Escape to cancel
42
+ - Internal composition between components
43
+ - Full test coverage with Textual Pilot
44
+ - Installable as a standalone package or as part of the SuperNanno ecosystem
45
+ - Modern and clean API design
46
+
47
+ ---
48
+
49
+ ## 📦 Installation
50
+
51
+ ```bash
52
+ pip install nannokit-diff
53
+ ```
54
+
55
+ To also install with SuperNanno (when available):
56
+
57
+ ```bash
58
+ pip install "nannokit-diff[supernanno]"
59
+ ```
60
+
61
+ ---
62
+
63
+ ## 🚀 Quick Start
64
+
65
+ ```python
66
+ from nannokit.diff import example_class_1, example_class_2
67
+ from pathlib import Path
68
+
69
+ # Example usage
70
+ example_class_1.show(
71
+ # parameters here
72
+ callback=lambda result: print("Result:", result),
73
+ )
74
+
75
+ # Another example
76
+ example_class_2.show(
77
+ title="Example Title",
78
+ callback=lambda value: print("Value:", value),
79
+ )
80
+ ```
81
+
82
+ ---
83
+
84
+ ## Integration with SuperNanno
85
+
86
+ In your main `App` class, attach the manager once (recommended):
87
+
88
+ ```python
89
+ from textual.app import App
90
+ from nannokit.diff.core import manager_class
91
+
92
+ class SuperNannoApp(App):
93
+ def on_mount(self) -> None:
94
+ manager_class.attach(self)
95
+ # ... rest of your app
96
+ ```
97
+
98
+ After this setup, you can call any diff component from anywhere in your application.
99
+
100
+ ---
101
+
102
+ ## 📖 API
103
+
104
+ ### Main Components
105
+
106
+ - **`main_class_1.show(...)`** — Lorem ipsum dolor sit amet, consectetur adipiscing elit.
107
+ - **`main_class_2.show(...)`** — Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
108
+ - **`main_class_3.show(...)`** — Ut enim ad minim veniam, quis nostrud exercitation.
109
+
110
+ All components accept common parameters such as `title`, `initial_value`, `callback`, and `show_hidden`.
111
+
112
+ ### section_name
113
+
114
+ ```python
115
+ section_example
116
+ ```
117
+
118
+ ---
119
+
120
+ ## Package Structure
121
+
122
+ ```
123
+ nannokit/diff/
124
+ ├── core/ # Shared manager, base classes and utilities
125
+ ├── module_1/ # module_1_description
126
+ ├── module_2/ # module_2_description
127
+ ├── module_3/ # module_3_description
128
+ └── styles/ # TCSS stylesheets
129
+ ```
130
+
131
+ ---
132
+
133
+ ## Development
134
+
135
+ ```bash
136
+ # Install in editable mode with dev dependencies
137
+ pip install -e ".[dev]"
138
+
139
+ # Run tests
140
+ pytest
141
+ ```
142
+
143
+ ---
144
+
145
+ ## Changelog
146
+
147
+ See [CHANGELOG.md](CHANGELOG.md) for recent changes (architecture refactor, bug fixes, new features, end-to-end tests, etc.).
148
+
149
+ ---
150
+
151
+ ## License
152
+
153
+ **BSD 3-Clause License** — see the [LICENSE](LICENSE) file for details.
154
+
155
+ ---
156
+
157
+ **Part of the [SuperNanno](https://github.com/hbisneto/SuperNanno) ecosystem.**
158
+
159
+ Built to make Textual application development even more powerful and enjoyable.
160
+
161
+ **Author:** Heitor Bardemaker A. Bisneto (@BisnetoDev)
162
+
163
+
@@ -0,0 +1,14 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ setup.py
5
+ nannokit/app.py
6
+ nannokit/demo_app.py
7
+ nannokit/diff/__init__.py
8
+ nannokit/diff/test_main.py
9
+ nannokit_diff.egg-info/PKG-INFO
10
+ nannokit_diff.egg-info/SOURCES.txt
11
+ nannokit_diff.egg-info/dependency_links.txt
12
+ nannokit_diff.egg-info/not-zip-safe
13
+ nannokit_diff.egg-info/requires.txt
14
+ nannokit_diff.egg-info/top_level.txt
@@ -0,0 +1 @@
1
+ textual>=8.2.7
@@ -0,0 +1,20 @@
1
+ [build-system]
2
+ requires = ["setuptools>=45", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "nannokit-diff"
7
+ version = "0.0.0"
8
+ description = "Official diff extension for SuperNanno"
9
+ readme = "README.md"
10
+ license = {text = "BSD-3-Clause"}
11
+ authors = [{name = "Heitor Bardemaker A. Bisneto", email = "bisnetoinc@gmail.com"}]
12
+ requires-python = ">=3.10"
13
+ dependencies = ["textual>=8.2.7"]
14
+
15
+ [tool.setuptools.packages.find]
16
+ include = ["nannokit*"]
17
+ namespaces = true
18
+
19
+ [tool.setuptools.package-data]
20
+ "nannokit.dialogs.styles" = ["*.tcss"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,41 @@
1
+ # -*- coding: utf-8 -*-
2
+ from setuptools import setup, find_namespace_packages
3
+
4
+ setup(
5
+ name="nannokit_diff",
6
+ version="0.0.0",
7
+ description="Official diff extension for SuperNanno",
8
+ long_description=open("README.md", encoding="utf-8").read(),
9
+ long_description_content_type="text/markdown",
10
+ author="Heitor Bardemaker A. Bisneto",
11
+ author_email="bisnetoinc@gmail.com",
12
+ license="BSD-3-Clause",
13
+ url="https://github.com/hbisneto/SuperNanno",
14
+
15
+ packages=find_namespace_packages(include=["nannokit*"]),
16
+ include_package_data=True,
17
+ package_data={
18
+ "nannokit.diff.styles": ["*.tcss"],
19
+ },
20
+
21
+ install_requires=["textual>=8.2.7"],
22
+ python_requires=">=3.10",
23
+
24
+ classifiers=[
25
+ "Development Status :: 4 - Beta",
26
+ "Environment :: Console",
27
+ "Intended Audience :: Developers",
28
+ "License :: OSI Approved :: BSD License",
29
+ "Operating System :: OS Independent",
30
+ "Programming Language :: Python :: 3",
31
+ "Programming Language :: Python :: 3.10",
32
+ "Programming Language :: Python :: 3.11",
33
+ "Programming Language :: Python :: 3.12",
34
+ "Topic :: Software Development :: User Interfaces",
35
+ "Topic :: Software Development :: Libraries :: Application Frameworks",
36
+ "Topic :: Text Editors",
37
+ "Typing :: Typed",
38
+ ],
39
+
40
+ zip_safe=False,
41
+ )