dars-framework 1.0.8__tar.gz → 1.0.9__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.
- {dars_framework-1.0.8 → dars_framework-1.0.9}/PKG-INFO +4 -3
- {dars_framework-1.0.8 → dars_framework-1.0.9}/README.md +3 -2
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/all.py +4 -2
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/core/component.py +3 -1
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/exporters/web/html_css_js.py +10 -7
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/version.py +2 -2
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars_framework.egg-info/PKG-INFO +4 -3
- {dars_framework-1.0.8 → dars_framework-1.0.9}/pyproject.toml +1 -1
- {dars_framework-1.0.8 → dars_framework-1.0.9}/LICENSE +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/__init__.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/cli/__init__.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/cli/hot_reload.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/cli/main.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/cli/preview.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/cli/translations.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/__init__.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/advanced/__init__.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/advanced/accordion.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/advanced/card.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/advanced/modal.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/advanced/navbar.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/advanced/table.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/advanced/tabs.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/__init__.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/button.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/checkbox.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/container.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/datepicker.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/image.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/input.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/link.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/page.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/progressbar.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/radiobutton.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/select.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/slider.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/spinner.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/text.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/textarea.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/basic/tooltip.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/layout/__init__.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/layout/anchor.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/layout/flex.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/components/layout/grid.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/core/__init__.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/core/app.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/core/events.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/core/properties.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/docs/__init__.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/exporters/__init__.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/exporters/base.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/exporters/web/OLD/html_css_js_OLD4.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/exporters/web/OLD/html_css_js_old.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/exporters/web/OLD/html_css_js_old2.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/exporters/web/__init__.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/scripts/__init__.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/scripts/dscript.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/scripts/script.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/__init__.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/advanced/advanced_modal_demo.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/advanced/all_components_demo.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/advanced/dashboard.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/advanced/modern_web_app.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/flex_layout_responsive.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/form_components.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/grid_layout_responsive.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/hello_world.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/layout_multipage_demo.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/multipage_example.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/pwa_custom_icons.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/simple_form.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/demo/complete_app.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/html/__init__.py +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars_framework.egg-info/SOURCES.txt +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars_framework.egg-info/dependency_links.txt +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars_framework.egg-info/entry_points.txt +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars_framework.egg-info/requires.txt +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/dars_framework.egg-info/top_level.txt +0 -0
- {dars_framework-1.0.8 → dars_framework-1.0.9}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dars-framework
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.9
|
|
4
4
|
Summary: Dars is a Python UI framework for building modern, interactive web apps with only Python code. Write your interface in Python, export it to static HTML/CSS/JS, and deploy anywhere.
|
|
5
5
|
Author-email: ztamdev <zondax2009@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -35,8 +35,6 @@ Dynamic: license-file
|
|
|
35
35
|
|
|
36
36
|
# Dars Framework
|
|
37
37
|
|
|
38
|
-
Dars Landing Page: https://ztamdev.github.io/Dars-Framework/
|
|
39
|
-
|
|
40
38
|
Dars is a Python UI framework for building modern, interactive web apps with Python code. Write your interface in Python, export it to static HTML/CSS/JS, and deploy anywhere.
|
|
41
39
|
|
|
42
40
|
> Some Javascript or frontend stack required.
|
|
@@ -50,6 +48,7 @@ pip install dars-framework
|
|
|
50
48
|
- Preview instantly with hot-reload using `app.rTimeCompile()`.
|
|
51
49
|
- Export your app to static web files with a single CLI command.
|
|
52
50
|
- Use multipage, layouts, scripts, and more—see docs for advanced features.
|
|
51
|
+
- For mor information visit the [Documentation](dars/docs/index.md)
|
|
53
52
|
|
|
54
53
|
## Quick Example: Your First App
|
|
55
54
|
|
|
@@ -109,6 +108,8 @@ if __name__ == "__main__":
|
|
|
109
108
|
- [Project Roadmap](ROADMAP.md)
|
|
110
109
|
- [Getting Started](dars/docs/getting_started.md)
|
|
111
110
|
- [Components Documentation](dars/docs/components.md)
|
|
111
|
+
- [Custom Components](dars/docs/custom_components.md)
|
|
112
|
+
- [Event Handling](dars/docs/events.md)
|
|
112
113
|
- [Exporters](dars/docs/exporters.md)
|
|
113
114
|
- [Scripts System](dars/docs/scripts.md)
|
|
114
115
|
- [CLI usage and commands](dars/docs/cli.md)
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# Dars Framework
|
|
2
2
|
|
|
3
|
-
Dars Landing Page: https://ztamdev.github.io/Dars-Framework/
|
|
4
|
-
|
|
5
3
|
Dars is a Python UI framework for building modern, interactive web apps with Python code. Write your interface in Python, export it to static HTML/CSS/JS, and deploy anywhere.
|
|
6
4
|
|
|
7
5
|
> Some Javascript or frontend stack required.
|
|
@@ -15,6 +13,7 @@ pip install dars-framework
|
|
|
15
13
|
- Preview instantly with hot-reload using `app.rTimeCompile()`.
|
|
16
14
|
- Export your app to static web files with a single CLI command.
|
|
17
15
|
- Use multipage, layouts, scripts, and more—see docs for advanced features.
|
|
16
|
+
- For mor information visit the [Documentation](dars/docs/index.md)
|
|
18
17
|
|
|
19
18
|
## Quick Example: Your First App
|
|
20
19
|
|
|
@@ -74,6 +73,8 @@ if __name__ == "__main__":
|
|
|
74
73
|
- [Project Roadmap](ROADMAP.md)
|
|
75
74
|
- [Getting Started](dars/docs/getting_started.md)
|
|
76
75
|
- [Components Documentation](dars/docs/components.md)
|
|
76
|
+
- [Custom Components](dars/docs/custom_components.md)
|
|
77
|
+
- [Event Handling](dars/docs/events.md)
|
|
77
78
|
- [Exporters](dars/docs/exporters.md)
|
|
78
79
|
- [Scripts System](dars/docs/scripts.md)
|
|
79
80
|
- [CLI usage and commands](dars/docs/cli.md)
|
|
@@ -43,7 +43,8 @@ from dars.scripts.dscript import dScript
|
|
|
43
43
|
|
|
44
44
|
# Exporters (optional, for direct use)
|
|
45
45
|
from dars.exporters.web.html_css_js import HTMLCSSJSExporter
|
|
46
|
-
|
|
46
|
+
from dars.core.events import EventTypes
|
|
47
|
+
from dars.core.events import EventHandler, EventEmitter, EventManager
|
|
47
48
|
# CLI (optional, for advanced usage)
|
|
48
49
|
# from dars.cli.main import main as dars_cli_main
|
|
49
50
|
|
|
@@ -53,5 +54,6 @@ __all__ = [
|
|
|
53
54
|
'RadioButton', 'Select', 'Slider', 'Spinner', 'Text', 'Textarea', 'Tooltip',
|
|
54
55
|
'Accordion', 'Card', 'Modal', 'Navbar', 'Table', 'Tabs',
|
|
55
56
|
'GridLayout', 'FlexLayout', 'LayoutBase', 'AnchorPoint',
|
|
56
|
-
'InlineScript', 'FileScript', 'dScript',
|
|
57
|
+
'InlineScript', 'FileScript', 'dScript', 'HTMLCSSJSExporter',
|
|
58
|
+
'EventTypes', 'EventHandler', 'EventEmitter', 'EventManager'
|
|
57
59
|
]
|
|
@@ -78,11 +78,13 @@ class Component(ABC):
|
|
|
78
78
|
self.children: List[Component] = []
|
|
79
79
|
self.parent: Optional[Component] = None
|
|
80
80
|
self.id: Optional[str] = props.get('id')
|
|
81
|
-
self.class_name:
|
|
81
|
+
self.class_name: str = props.get("class_name", self.__class__.__name__)
|
|
82
82
|
self.style: Dict[str, Any] = props.get('style', {})
|
|
83
83
|
self.events: Dict[str, Callable] = {}
|
|
84
84
|
|
|
85
85
|
def add_child(self, child: 'Component'):
|
|
86
|
+
if isinstance(child, type) and issubclass(child, Component):
|
|
87
|
+
raise TypeError(f"The class {child.__name__} was passed instead of an instance. You should use {child.__name__}(...).")
|
|
86
88
|
child.parent = self
|
|
87
89
|
self.children.append(child)
|
|
88
90
|
|
|
@@ -1219,7 +1219,9 @@ body {
|
|
|
1219
1219
|
return comp_id
|
|
1220
1220
|
|
|
1221
1221
|
def render_component(self, component: Component) -> str:
|
|
1222
|
-
|
|
1222
|
+
if not isinstance(component, Component):
|
|
1223
|
+
raise TypeError(f"render_component wait to recived an instance of Component, but recive an {component}")
|
|
1224
|
+
"""Render an HTML component"""
|
|
1223
1225
|
from dars.components.basic.page import Page
|
|
1224
1226
|
from dars.components.layout.grid import GridLayout
|
|
1225
1227
|
from dars.components.layout.flex import FlexLayout
|
|
@@ -1238,12 +1240,13 @@ body {
|
|
|
1238
1240
|
is_custom_component = False
|
|
1239
1241
|
break
|
|
1240
1242
|
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1243
|
+
if isinstance(component, Component) and is_custom_component:
|
|
1244
|
+
if hasattr(component, 'render') and callable(component.render):
|
|
1245
|
+
try:
|
|
1246
|
+
return component.render(self)
|
|
1247
|
+
except Exception as e:
|
|
1248
|
+
print(f"Error at rendering component {component.__class__.__name__}: {e}")
|
|
1249
|
+
|
|
1247
1250
|
|
|
1248
1251
|
if isinstance(component, Page):
|
|
1249
1252
|
return self.render_page(component)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
__version__ = "1.0.
|
|
2
|
-
__release_url__ = "https://github.com/ZtaMDev/Dars-Framework/releases/tag/1.0.
|
|
1
|
+
__version__ = "1.0.9"
|
|
2
|
+
__release_url__ = "https://github.com/ZtaMDev/Dars-Framework/releases/tag/1.0.9"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dars-framework
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.9
|
|
4
4
|
Summary: Dars is a Python UI framework for building modern, interactive web apps with only Python code. Write your interface in Python, export it to static HTML/CSS/JS, and deploy anywhere.
|
|
5
5
|
Author-email: ztamdev <zondax2009@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -35,8 +35,6 @@ Dynamic: license-file
|
|
|
35
35
|
|
|
36
36
|
# Dars Framework
|
|
37
37
|
|
|
38
|
-
Dars Landing Page: https://ztamdev.github.io/Dars-Framework/
|
|
39
|
-
|
|
40
38
|
Dars is a Python UI framework for building modern, interactive web apps with Python code. Write your interface in Python, export it to static HTML/CSS/JS, and deploy anywhere.
|
|
41
39
|
|
|
42
40
|
> Some Javascript or frontend stack required.
|
|
@@ -50,6 +48,7 @@ pip install dars-framework
|
|
|
50
48
|
- Preview instantly with hot-reload using `app.rTimeCompile()`.
|
|
51
49
|
- Export your app to static web files with a single CLI command.
|
|
52
50
|
- Use multipage, layouts, scripts, and more—see docs for advanced features.
|
|
51
|
+
- For mor information visit the [Documentation](dars/docs/index.md)
|
|
53
52
|
|
|
54
53
|
## Quick Example: Your First App
|
|
55
54
|
|
|
@@ -109,6 +108,8 @@ if __name__ == "__main__":
|
|
|
109
108
|
- [Project Roadmap](ROADMAP.md)
|
|
110
109
|
- [Getting Started](dars/docs/getting_started.md)
|
|
111
110
|
- [Components Documentation](dars/docs/components.md)
|
|
111
|
+
- [Custom Components](dars/docs/custom_components.md)
|
|
112
|
+
- [Event Handling](dars/docs/events.md)
|
|
112
113
|
- [Exporters](dars/docs/exporters.md)
|
|
113
114
|
- [Scripts System](dars/docs/scripts.md)
|
|
114
115
|
- [CLI usage and commands](dars/docs/cli.md)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "dars-framework"
|
|
3
|
-
version = "1.0.
|
|
3
|
+
version = "1.0.9"
|
|
4
4
|
description = "Dars is a Python UI framework for building modern, interactive web apps with only Python code. Write your interface in Python, export it to static HTML/CSS/JS, and deploy anywhere."
|
|
5
5
|
authors = [
|
|
6
6
|
{ name="ztamdev", email="zondax2009@gmail.com" }
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/advanced/modern_web_app.py
RENAMED
|
File without changes
|
|
File without changes
|
{dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/form_components.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/layout_multipage_demo.py
RENAMED
|
File without changes
|
{dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/multipage_example.py
RENAMED
|
File without changes
|
{dars_framework-1.0.8 → dars_framework-1.0.9}/dars/templates/examples/basic/pwa_custom_icons.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|