MorphUI 0.1.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.
morphui-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 j4ggr
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
morphui-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,212 @@
1
+ Metadata-Version: 2.1
2
+ Name: MorphUI
3
+ Version: 0.1.0
4
+ Summary: MorphUI is a creative and flexible UI extension for Kivy, designed to provide developers with a modern and customizable set of components for building beautiful user interfaces. Unlike KivyMD, MorphUI is not bound to Material Design principles, allowing for greater freedom in design and styling.
5
+ Author-Email: j4ggr <reto@jaeggli.email>
6
+ License: MIT
7
+ Requires-Python: >=3.13
8
+ Requires-Dist: kivy>=2.3.1
9
+ Description-Content-Type: text/markdown
10
+
11
+ # MorphUI
12
+
13
+ MorphUI is a creative and flexible UI extension for Kivy, designed to provide developers with a modern and customizable set of components for building beautiful user interfaces. Unlike KivyMD, MorphUI is not bound to Material Design principles, allowing for greater freedom in design and styling.
14
+
15
+ ## Features
16
+
17
+ - 🎨 **Flexible Design**: Not bound to Material Design - create your own visual style
18
+ - 🧩 **Modern Components**: Button, Label, Card, TextInput with contemporary styling
19
+ - 🎯 **Theme System**: Light/Dark themes with easy customization
20
+ - âš¡ **Smooth Animations**: Built-in animations for interactive elements
21
+ - 📱 **Cross-Platform**: Works on desktop, mobile, and web (via Kivy)
22
+ - 🔧 **Easy Integration**: Simple drop-in replacement for standard Kivy widgets
23
+
24
+ ## Installation
25
+
26
+ ### From PyPI (when published)
27
+ ```bash
28
+ pip install morphui
29
+ ```
30
+
31
+ ### From Source
32
+ ```bash
33
+ git clone https://github.com/j4ggr/MorphUI.git
34
+ cd MorphUI
35
+ pip install -e .
36
+ ```
37
+
38
+ ## Quick Start
39
+
40
+ ```python
41
+ from kivy.app import App
42
+ from kivy.uix.boxlayout import BoxLayout
43
+
44
+ from morphui.uix.button import MorphButton
45
+ from morphui.uix.label import MorphLabel
46
+ from morphui.uix.card import MorphCard
47
+
48
+ class MyApp(App):
49
+ def build(self):
50
+ layout = BoxLayout(orientation='vertical', padding=20, spacing=10)
51
+
52
+ # Add a modern card
53
+ card = MorphCard()
54
+
55
+ # Add components to the card
56
+ title = MorphLabel(text="Welcome to MorphUI!", text_style="headline")
57
+ button = MorphButton(text="Get Started", button_style="filled")
58
+
59
+ card.add_widget(title)
60
+ card.add_widget(button)
61
+ layout.add_widget(card)
62
+
63
+ return layout
64
+
65
+ MyApp().run()
66
+ ```
67
+
68
+ ## Components
69
+
70
+ ### MorphButton
71
+ Modern button with multiple styles and animations:
72
+
73
+ ```python
74
+ from morphui.uix.button import MorphButton
75
+
76
+ # Filled button (default)
77
+ btn1 = MorphButton(text="Filled", button_style="filled")
78
+
79
+ # Outlined button
80
+ btn2 = MorphButton(text="Outlined", button_style="outlined")
81
+
82
+ # Text button
83
+ btn3 = MorphButton(text="Text", button_style="text")
84
+ ```
85
+
86
+ ### MorphLabel
87
+ Enhanced label with typography system:
88
+
89
+ ```python
90
+ from morphui.uix.label import MorphLabel
91
+
92
+ # Different text styles
93
+ title = MorphLabel(text="Title", text_style="headline")
94
+ body = MorphLabel(text="Body text", text_style="body")
95
+ caption = MorphLabel(text="Caption", text_style="caption")
96
+ ```
97
+
98
+ ### MorphCard
99
+ Container with modern styling and elevation:
100
+
101
+ ```python
102
+ from morphui.uix.card import MorphCard
103
+
104
+ card = MorphCard(
105
+ elevation=4,
106
+ corner_radius=16
107
+ )
108
+ ```
109
+
110
+ ### MorphTextInput
111
+ Modern text input with focus states:
112
+
113
+ ```python
114
+ from morphui.uix.textinput import MorphTextInput
115
+
116
+ text_input = MorphTextInput(
117
+ hint_text="Enter text here",
118
+ corner_radius=8
119
+ )
120
+
121
+ # Error state
122
+ text_input.set_error("This field is required")
123
+ ```
124
+
125
+ ## Theme System
126
+
127
+ MorphUI includes a comprehensive theme system:
128
+
129
+ ```python
130
+ from morphui.theme.styles import theme_manager
131
+
132
+ # Switch themes
133
+ theme_manager.current_theme = "dark" # or "light"
134
+
135
+ # Access theme colors
136
+ colors = theme_manager.colors
137
+ primary_color = colors.PRIMARY
138
+
139
+ # Access typography
140
+ typography = theme_manager.typography
141
+ title_style = typography.get_text_style("title")
142
+ ```
143
+
144
+ ### Custom Themes
145
+
146
+ Create your own themes:
147
+
148
+ ```python
149
+ from morphui.theme.colors import ColorPalette
150
+ from morphui.theme.typography import Typography
151
+
152
+ class MyColorPalette(ColorPalette):
153
+ PRIMARY = [0.8, 0.2, 0.4, 1.0] # Custom red
154
+ SECONDARY = [0.2, 0.8, 0.4, 1.0] # Custom green
155
+
156
+ # Register custom theme
157
+ theme_manager.register_theme(
158
+ "custom",
159
+ MyColorPalette,
160
+ Typography,
161
+ "My Custom Theme"
162
+ )
163
+
164
+ theme_manager.current_theme = "custom"
165
+ ```
166
+
167
+ ## Examples
168
+
169
+ Check out the `examples/` directory for complete sample applications:
170
+
171
+ - `basic_example.py` - Showcase of all components
172
+ - More examples coming soon!
173
+
174
+ ## Development
175
+
176
+ ### Setting up Development Environment
177
+
178
+ ```bash
179
+ git clone https://github.com/j4ggr/MorphUI.git
180
+ cd MorphUI
181
+ pip install -e ".[dev]"
182
+ ```
183
+
184
+ ### Running Examples
185
+
186
+ ```bash
187
+ cd examples
188
+ python basic_example.py
189
+ ```
190
+
191
+ ## Roadmap
192
+
193
+ - [ ] Additional components (Switch, Slider, Progress Bar, etc.)
194
+ - [ ] Advanced animations and transitions
195
+ - [ ] More built-in themes
196
+ - [ ] Comprehensive documentation website
197
+ - [ ] Testing suite
198
+ - [ ] Performance optimizations
199
+
200
+ ## Contributing
201
+
202
+ Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
203
+
204
+ ## License
205
+
206
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
207
+
208
+ ## Acknowledgments
209
+
210
+ - Inspired by KivyMD but designed for greater design flexibility
211
+ - Built on top of the excellent [Kivy](https://kivy.org) framework
212
+ - Thanks to all contributors and the Kivy community
@@ -0,0 +1,202 @@
1
+ # MorphUI
2
+
3
+ MorphUI is a creative and flexible UI extension for Kivy, designed to provide developers with a modern and customizable set of components for building beautiful user interfaces. Unlike KivyMD, MorphUI is not bound to Material Design principles, allowing for greater freedom in design and styling.
4
+
5
+ ## Features
6
+
7
+ - 🎨 **Flexible Design**: Not bound to Material Design - create your own visual style
8
+ - 🧩 **Modern Components**: Button, Label, Card, TextInput with contemporary styling
9
+ - 🎯 **Theme System**: Light/Dark themes with easy customization
10
+ - âš¡ **Smooth Animations**: Built-in animations for interactive elements
11
+ - 📱 **Cross-Platform**: Works on desktop, mobile, and web (via Kivy)
12
+ - 🔧 **Easy Integration**: Simple drop-in replacement for standard Kivy widgets
13
+
14
+ ## Installation
15
+
16
+ ### From PyPI (when published)
17
+ ```bash
18
+ pip install morphui
19
+ ```
20
+
21
+ ### From Source
22
+ ```bash
23
+ git clone https://github.com/j4ggr/MorphUI.git
24
+ cd MorphUI
25
+ pip install -e .
26
+ ```
27
+
28
+ ## Quick Start
29
+
30
+ ```python
31
+ from kivy.app import App
32
+ from kivy.uix.boxlayout import BoxLayout
33
+
34
+ from morphui.uix.button import MorphButton
35
+ from morphui.uix.label import MorphLabel
36
+ from morphui.uix.card import MorphCard
37
+
38
+ class MyApp(App):
39
+ def build(self):
40
+ layout = BoxLayout(orientation='vertical', padding=20, spacing=10)
41
+
42
+ # Add a modern card
43
+ card = MorphCard()
44
+
45
+ # Add components to the card
46
+ title = MorphLabel(text="Welcome to MorphUI!", text_style="headline")
47
+ button = MorphButton(text="Get Started", button_style="filled")
48
+
49
+ card.add_widget(title)
50
+ card.add_widget(button)
51
+ layout.add_widget(card)
52
+
53
+ return layout
54
+
55
+ MyApp().run()
56
+ ```
57
+
58
+ ## Components
59
+
60
+ ### MorphButton
61
+ Modern button with multiple styles and animations:
62
+
63
+ ```python
64
+ from morphui.uix.button import MorphButton
65
+
66
+ # Filled button (default)
67
+ btn1 = MorphButton(text="Filled", button_style="filled")
68
+
69
+ # Outlined button
70
+ btn2 = MorphButton(text="Outlined", button_style="outlined")
71
+
72
+ # Text button
73
+ btn3 = MorphButton(text="Text", button_style="text")
74
+ ```
75
+
76
+ ### MorphLabel
77
+ Enhanced label with typography system:
78
+
79
+ ```python
80
+ from morphui.uix.label import MorphLabel
81
+
82
+ # Different text styles
83
+ title = MorphLabel(text="Title", text_style="headline")
84
+ body = MorphLabel(text="Body text", text_style="body")
85
+ caption = MorphLabel(text="Caption", text_style="caption")
86
+ ```
87
+
88
+ ### MorphCard
89
+ Container with modern styling and elevation:
90
+
91
+ ```python
92
+ from morphui.uix.card import MorphCard
93
+
94
+ card = MorphCard(
95
+ elevation=4,
96
+ corner_radius=16
97
+ )
98
+ ```
99
+
100
+ ### MorphTextInput
101
+ Modern text input with focus states:
102
+
103
+ ```python
104
+ from morphui.uix.textinput import MorphTextInput
105
+
106
+ text_input = MorphTextInput(
107
+ hint_text="Enter text here",
108
+ corner_radius=8
109
+ )
110
+
111
+ # Error state
112
+ text_input.set_error("This field is required")
113
+ ```
114
+
115
+ ## Theme System
116
+
117
+ MorphUI includes a comprehensive theme system:
118
+
119
+ ```python
120
+ from morphui.theme.styles import theme_manager
121
+
122
+ # Switch themes
123
+ theme_manager.current_theme = "dark" # or "light"
124
+
125
+ # Access theme colors
126
+ colors = theme_manager.colors
127
+ primary_color = colors.PRIMARY
128
+
129
+ # Access typography
130
+ typography = theme_manager.typography
131
+ title_style = typography.get_text_style("title")
132
+ ```
133
+
134
+ ### Custom Themes
135
+
136
+ Create your own themes:
137
+
138
+ ```python
139
+ from morphui.theme.colors import ColorPalette
140
+ from morphui.theme.typography import Typography
141
+
142
+ class MyColorPalette(ColorPalette):
143
+ PRIMARY = [0.8, 0.2, 0.4, 1.0] # Custom red
144
+ SECONDARY = [0.2, 0.8, 0.4, 1.0] # Custom green
145
+
146
+ # Register custom theme
147
+ theme_manager.register_theme(
148
+ "custom",
149
+ MyColorPalette,
150
+ Typography,
151
+ "My Custom Theme"
152
+ )
153
+
154
+ theme_manager.current_theme = "custom"
155
+ ```
156
+
157
+ ## Examples
158
+
159
+ Check out the `examples/` directory for complete sample applications:
160
+
161
+ - `basic_example.py` - Showcase of all components
162
+ - More examples coming soon!
163
+
164
+ ## Development
165
+
166
+ ### Setting up Development Environment
167
+
168
+ ```bash
169
+ git clone https://github.com/j4ggr/MorphUI.git
170
+ cd MorphUI
171
+ pip install -e ".[dev]"
172
+ ```
173
+
174
+ ### Running Examples
175
+
176
+ ```bash
177
+ cd examples
178
+ python basic_example.py
179
+ ```
180
+
181
+ ## Roadmap
182
+
183
+ - [ ] Additional components (Switch, Slider, Progress Bar, etc.)
184
+ - [ ] Advanced animations and transitions
185
+ - [ ] More built-in themes
186
+ - [ ] Comprehensive documentation website
187
+ - [ ] Testing suite
188
+ - [ ] Performance optimizations
189
+
190
+ ## Contributing
191
+
192
+ Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
193
+
194
+ ## License
195
+
196
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
197
+
198
+ ## Acknowledgments
199
+
200
+ - Inspired by KivyMD but designed for greater design flexibility
201
+ - Built on top of the excellent [Kivy](https://kivy.org) framework
202
+ - Thanks to all contributors and the Kivy community
@@ -0,0 +1,24 @@
1
+ [project]
2
+ name = "MorphUI"
3
+ version = "0.1.0"
4
+ description = "MorphUI is a creative and flexible UI extension for Kivy, designed to provide developers with a modern and customizable set of components for building beautiful user interfaces. Unlike KivyMD, MorphUI is not bound to Material Design principles, allowing for greater freedom in design and styling."
5
+ authors = [
6
+ { name = "j4ggr", email = "reto@jaeggli.email" },
7
+ ]
8
+ dependencies = [
9
+ "kivy>=2.3.1",
10
+ ]
11
+ requires-python = ">=3.13"
12
+ readme = "README.md"
13
+
14
+ [project.license]
15
+ text = "MIT"
16
+
17
+ [build-system]
18
+ requires = [
19
+ "pdm-backend",
20
+ ]
21
+ build-backend = "pdm.backend"
22
+
23
+ [tool.pdm]
24
+ distribution = true
File without changes
File without changes