pyfrontkit 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.
- pyfrontkit-0.1.0/PKG-INFO +104 -0
- pyfrontkit-0.1.0/README.md +91 -0
- pyfrontkit-0.1.0/pyfrontkit.egg-info/PKG-INFO +104 -0
- pyfrontkit-0.1.0/pyfrontkit.egg-info/SOURCES.txt +6 -0
- pyfrontkit-0.1.0/pyfrontkit.egg-info/dependency_links.txt +1 -0
- pyfrontkit-0.1.0/pyfrontkit.egg-info/top_level.txt +1 -0
- pyfrontkit-0.1.0/pyproject.toml +29 -0
- pyfrontkit-0.1.0/setup.cfg +4 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pyfrontkit
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: A Python tool to generate HTML and CSS with programmable syntax.
|
|
5
|
+
Author-email: Eduardo Antonio Ferrera Rodríguez <enzoferrera.23@gmail.com>
|
|
6
|
+
Project-URL: Homepage, https://github.com/Edybrown/pyfront
|
|
7
|
+
Project-URL: Source, https://github.com/Edybrown/pyfront
|
|
8
|
+
Project-URL: Issues, https://github.com/Edybrown/pyfront/issues
|
|
9
|
+
Keywords: html,css,python,frontend,mlops,data app
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
|
|
14
|
+
# PYFRONT: DSL for Programmatic Web Generation
|
|
15
|
+
|
|
16
|
+
[](http://www.gnu.org/licenses/gpl-3.0)
|
|
17
|
+
|
|
18
|
+
**PYFRONT** is a Python library designed to programmatically generate **HTML and CSS** web structures. It acts as a **Domain-Specific Language (DSL)**, allowing developers to build complete web pages using only clean Python syntax.
|
|
19
|
+
|
|
20
|
+
Its main goal is **rapid prototyping** and the creation of simple frontends, ideal for Data Apps, documentation, or visualizing results in Machine Learning environments.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Key Features
|
|
25
|
+
|
|
26
|
+
* **Fluent Block Syntax:** HTML tags are represented as Classes or Functions (`Div`, `div`), keeping all logic entirely in Python.
|
|
27
|
+
* **Accumulative DOM Manager:** A unique feature that converts any block’s `id` into a global function. This allows adding children (`Div(id="parent"); parent(Child1, Child2)`) without recursive nesting.
|
|
28
|
+
* **Automatic CSS Generation:** The system tracks all used `id`, `class`, and `tags` to automatically generate a `style.css` file with **all selectors ready** to be filled.
|
|
29
|
+
* **Native JS Support:** Allows inclusion of scripts via the `Script` class.
|
|
30
|
+
* **Final Rendering:** Produces `index.html` and `style.css` ready to serve.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Installation
|
|
35
|
+
|
|
36
|
+
Install FRONTPY directly from the GitHub repository:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
pip install git+https://github.com/Edybrown/FrontPy.git
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 💡 Usage Example (Professional Page)
|
|
45
|
+
|
|
46
|
+
The following Python code generates a semantic page structure and its associated stylesheet (`style.css`):
|
|
47
|
+
|
|
48
|
+
```python
|
|
49
|
+
from frontpy import HtmlDoc, Div, Section, Header, Nav, Ul, Li
|
|
50
|
+
from frontpy import nav, intro, servicios, lista_servicios, footer
|
|
51
|
+
|
|
52
|
+
doc = HtmlDoc(title="My Professional Page")
|
|
53
|
+
|
|
54
|
+
Header(id="header", ctn_p="Welcome to My Professional Site",
|
|
55
|
+
style="background-color:#2c3e50; color:white; padding:20px 0;")
|
|
56
|
+
|
|
57
|
+
Nav(id="nav", style="background-color:#34495e; display:flex; justify-content:center;")
|
|
58
|
+
# The id "nav" becomes the function nav()
|
|
59
|
+
nav(
|
|
60
|
+
Div(ctn_p="Home", style="color:white; padding:15px 25px;"),
|
|
61
|
+
Div(ctn_p="Services", style="color:white; padding:15px 25px;"),
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
Section(id="intro", style="padding:40px 20px; max-width:1000px; margin:auto;")
|
|
65
|
+
intro(
|
|
66
|
+
Div(ctn_p="This is the introduction section, generated without HTML code."),
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
Section(id="servicios", style="padding:40px 20px; max-width:1000px; margin:auto;")
|
|
70
|
+
servicios(
|
|
71
|
+
Ul(id="lista_servicios")
|
|
72
|
+
)
|
|
73
|
+
lista_servicios(
|
|
74
|
+
Li(ctn_p="Custom web development"),
|
|
75
|
+
Li(ctn_p="Technology consulting")
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
Footer(id="footer", style="background-color:#2c3e50; color:white; text-align:center; padding:20px 0;")
|
|
79
|
+
footer(Div(ctn_p="© 2025 My Professional Site. All rights reserved."))
|
|
80
|
+
|
|
81
|
+
doc.create_document()
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## ⚖️ License
|
|
87
|
+
|
|
88
|
+
This project is released under the **GNU General Public License version 3.0 (GPLv3)**.
|
|
89
|
+
|
|
90
|
+
* Allows free use, modification, and redistribution.
|
|
91
|
+
* Requires that any software using FRONTPY or its derivatives also be free software (copyleft).
|
|
92
|
+
|
|
93
|
+
See the `COPYING` file for the full license text.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 🙋 About the Author
|
|
98
|
+
|
|
99
|
+
This project was created by **Eduardo Antonio Ferrera Rodríguez** as part of an advanced learning journey in Python, *Object-Oriented Programming* (OOP), and library design.
|
|
100
|
+
|
|
101
|
+
If you have questions or want to contribute to FrontPy, you are welcome!
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# PYFRONT: DSL for Programmatic Web Generation
|
|
2
|
+
|
|
3
|
+
[](http://www.gnu.org/licenses/gpl-3.0)
|
|
4
|
+
|
|
5
|
+
**PYFRONT** is a Python library designed to programmatically generate **HTML and CSS** web structures. It acts as a **Domain-Specific Language (DSL)**, allowing developers to build complete web pages using only clean Python syntax.
|
|
6
|
+
|
|
7
|
+
Its main goal is **rapid prototyping** and the creation of simple frontends, ideal for Data Apps, documentation, or visualizing results in Machine Learning environments.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Key Features
|
|
12
|
+
|
|
13
|
+
* **Fluent Block Syntax:** HTML tags are represented as Classes or Functions (`Div`, `div`), keeping all logic entirely in Python.
|
|
14
|
+
* **Accumulative DOM Manager:** A unique feature that converts any block’s `id` into a global function. This allows adding children (`Div(id="parent"); parent(Child1, Child2)`) without recursive nesting.
|
|
15
|
+
* **Automatic CSS Generation:** The system tracks all used `id`, `class`, and `tags` to automatically generate a `style.css` file with **all selectors ready** to be filled.
|
|
16
|
+
* **Native JS Support:** Allows inclusion of scripts via the `Script` class.
|
|
17
|
+
* **Final Rendering:** Produces `index.html` and `style.css` ready to serve.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Installation
|
|
22
|
+
|
|
23
|
+
Install FRONTPY directly from the GitHub repository:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
pip install git+https://github.com/Edybrown/FrontPy.git
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 💡 Usage Example (Professional Page)
|
|
32
|
+
|
|
33
|
+
The following Python code generates a semantic page structure and its associated stylesheet (`style.css`):
|
|
34
|
+
|
|
35
|
+
```python
|
|
36
|
+
from frontpy import HtmlDoc, Div, Section, Header, Nav, Ul, Li
|
|
37
|
+
from frontpy import nav, intro, servicios, lista_servicios, footer
|
|
38
|
+
|
|
39
|
+
doc = HtmlDoc(title="My Professional Page")
|
|
40
|
+
|
|
41
|
+
Header(id="header", ctn_p="Welcome to My Professional Site",
|
|
42
|
+
style="background-color:#2c3e50; color:white; padding:20px 0;")
|
|
43
|
+
|
|
44
|
+
Nav(id="nav", style="background-color:#34495e; display:flex; justify-content:center;")
|
|
45
|
+
# The id "nav" becomes the function nav()
|
|
46
|
+
nav(
|
|
47
|
+
Div(ctn_p="Home", style="color:white; padding:15px 25px;"),
|
|
48
|
+
Div(ctn_p="Services", style="color:white; padding:15px 25px;"),
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
Section(id="intro", style="padding:40px 20px; max-width:1000px; margin:auto;")
|
|
52
|
+
intro(
|
|
53
|
+
Div(ctn_p="This is the introduction section, generated without HTML code."),
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
Section(id="servicios", style="padding:40px 20px; max-width:1000px; margin:auto;")
|
|
57
|
+
servicios(
|
|
58
|
+
Ul(id="lista_servicios")
|
|
59
|
+
)
|
|
60
|
+
lista_servicios(
|
|
61
|
+
Li(ctn_p="Custom web development"),
|
|
62
|
+
Li(ctn_p="Technology consulting")
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
Footer(id="footer", style="background-color:#2c3e50; color:white; text-align:center; padding:20px 0;")
|
|
66
|
+
footer(Div(ctn_p="© 2025 My Professional Site. All rights reserved."))
|
|
67
|
+
|
|
68
|
+
doc.create_document()
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## ⚖️ License
|
|
74
|
+
|
|
75
|
+
This project is released under the **GNU General Public License version 3.0 (GPLv3)**.
|
|
76
|
+
|
|
77
|
+
* Allows free use, modification, and redistribution.
|
|
78
|
+
* Requires that any software using FRONTPY or its derivatives also be free software (copyleft).
|
|
79
|
+
|
|
80
|
+
See the `COPYING` file for the full license text.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 🙋 About the Author
|
|
85
|
+
|
|
86
|
+
This project was created by **Eduardo Antonio Ferrera Rodríguez** as part of an advanced learning journey in Python, *Object-Oriented Programming* (OOP), and library design.
|
|
87
|
+
|
|
88
|
+
If you have questions or want to contribute to FrontPy, you are welcome!
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pyfrontkit
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: A Python tool to generate HTML and CSS with programmable syntax.
|
|
5
|
+
Author-email: Eduardo Antonio Ferrera Rodríguez <enzoferrera.23@gmail.com>
|
|
6
|
+
Project-URL: Homepage, https://github.com/Edybrown/pyfront
|
|
7
|
+
Project-URL: Source, https://github.com/Edybrown/pyfront
|
|
8
|
+
Project-URL: Issues, https://github.com/Edybrown/pyfront/issues
|
|
9
|
+
Keywords: html,css,python,frontend,mlops,data app
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
|
|
14
|
+
# PYFRONT: DSL for Programmatic Web Generation
|
|
15
|
+
|
|
16
|
+
[](http://www.gnu.org/licenses/gpl-3.0)
|
|
17
|
+
|
|
18
|
+
**PYFRONT** is a Python library designed to programmatically generate **HTML and CSS** web structures. It acts as a **Domain-Specific Language (DSL)**, allowing developers to build complete web pages using only clean Python syntax.
|
|
19
|
+
|
|
20
|
+
Its main goal is **rapid prototyping** and the creation of simple frontends, ideal for Data Apps, documentation, or visualizing results in Machine Learning environments.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Key Features
|
|
25
|
+
|
|
26
|
+
* **Fluent Block Syntax:** HTML tags are represented as Classes or Functions (`Div`, `div`), keeping all logic entirely in Python.
|
|
27
|
+
* **Accumulative DOM Manager:** A unique feature that converts any block’s `id` into a global function. This allows adding children (`Div(id="parent"); parent(Child1, Child2)`) without recursive nesting.
|
|
28
|
+
* **Automatic CSS Generation:** The system tracks all used `id`, `class`, and `tags` to automatically generate a `style.css` file with **all selectors ready** to be filled.
|
|
29
|
+
* **Native JS Support:** Allows inclusion of scripts via the `Script` class.
|
|
30
|
+
* **Final Rendering:** Produces `index.html` and `style.css` ready to serve.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Installation
|
|
35
|
+
|
|
36
|
+
Install FRONTPY directly from the GitHub repository:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
pip install git+https://github.com/Edybrown/FrontPy.git
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 💡 Usage Example (Professional Page)
|
|
45
|
+
|
|
46
|
+
The following Python code generates a semantic page structure and its associated stylesheet (`style.css`):
|
|
47
|
+
|
|
48
|
+
```python
|
|
49
|
+
from frontpy import HtmlDoc, Div, Section, Header, Nav, Ul, Li
|
|
50
|
+
from frontpy import nav, intro, servicios, lista_servicios, footer
|
|
51
|
+
|
|
52
|
+
doc = HtmlDoc(title="My Professional Page")
|
|
53
|
+
|
|
54
|
+
Header(id="header", ctn_p="Welcome to My Professional Site",
|
|
55
|
+
style="background-color:#2c3e50; color:white; padding:20px 0;")
|
|
56
|
+
|
|
57
|
+
Nav(id="nav", style="background-color:#34495e; display:flex; justify-content:center;")
|
|
58
|
+
# The id "nav" becomes the function nav()
|
|
59
|
+
nav(
|
|
60
|
+
Div(ctn_p="Home", style="color:white; padding:15px 25px;"),
|
|
61
|
+
Div(ctn_p="Services", style="color:white; padding:15px 25px;"),
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
Section(id="intro", style="padding:40px 20px; max-width:1000px; margin:auto;")
|
|
65
|
+
intro(
|
|
66
|
+
Div(ctn_p="This is the introduction section, generated without HTML code."),
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
Section(id="servicios", style="padding:40px 20px; max-width:1000px; margin:auto;")
|
|
70
|
+
servicios(
|
|
71
|
+
Ul(id="lista_servicios")
|
|
72
|
+
)
|
|
73
|
+
lista_servicios(
|
|
74
|
+
Li(ctn_p="Custom web development"),
|
|
75
|
+
Li(ctn_p="Technology consulting")
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
Footer(id="footer", style="background-color:#2c3e50; color:white; text-align:center; padding:20px 0;")
|
|
79
|
+
footer(Div(ctn_p="© 2025 My Professional Site. All rights reserved."))
|
|
80
|
+
|
|
81
|
+
doc.create_document()
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## ⚖️ License
|
|
87
|
+
|
|
88
|
+
This project is released under the **GNU General Public License version 3.0 (GPLv3)**.
|
|
89
|
+
|
|
90
|
+
* Allows free use, modification, and redistribution.
|
|
91
|
+
* Requires that any software using FRONTPY or its derivatives also be free software (copyleft).
|
|
92
|
+
|
|
93
|
+
See the `COPYING` file for the full license text.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 🙋 About the Author
|
|
98
|
+
|
|
99
|
+
This project was created by **Eduardo Antonio Ferrera Rodríguez** as part of an advanced learning journey in Python, *Object-Oriented Programming* (OOP), and library design.
|
|
100
|
+
|
|
101
|
+
If you have questions or want to contribute to FrontPy, you are welcome!
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "pyfrontkit"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "A Python tool to generate HTML and CSS with programmable syntax."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
|
|
11
|
+
authors = [
|
|
12
|
+
{name = "Eduardo Antonio Ferrera Rodríguez", email = "enzoferrera.23@gmail.com"},
|
|
13
|
+
]
|
|
14
|
+
|
|
15
|
+
keywords = ["html", "css", "python", "frontend", "mlops", "data app"]
|
|
16
|
+
|
|
17
|
+
classifiers = [
|
|
18
|
+
"Programming Language :: Python :: 3",
|
|
19
|
+
"Operating System :: OS Independent",
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
[project.urls]
|
|
23
|
+
Homepage = "https://github.com/Edybrown/pyfront"
|
|
24
|
+
Source = "https://github.com/Edybrown/pyfront"
|
|
25
|
+
Issues = "https://github.com/Edybrown/pyfront/issues"
|
|
26
|
+
|
|
27
|
+
[tool.setuptools.packages.find]
|
|
28
|
+
where = ["."]
|
|
29
|
+
include = ["pyfront*"]
|