Python native web templates
Project description
💧 PH7
Python native HTML templates
Why PH7?
- Native to python
- More code modularity
- Easy to write reusable components
- Out of the box editor support
- Syntax highlighting
- Code navvigation tools
- Auto-completion
- Type safety using MyPy
Install
pip3 install ph7
Quickstart
Write your first block of markup
from ph7.html import body, div, html
template = html(
body(
div(
"Hello, World!",
)
)
)
print(template)
<html>
<body>
<div>Hello, World!</div>
</body>
</html>
Or write a CSS class
from ph7.css import CSSObject
class flex_center(CSSObject):
"""Flex center"""
display = "flex"
align_items = "center"
justify_content = "center"
print(flex_center())
.flex-center {
display: flex;
align-items: center;
justify-content: center;
}
Or use python function as JavaScript function
from ph7.js import as_js, console, document, fetch
async def fetchDog():
response = await fetch(
"https://dog.ceo/api/breeds/image/random",
{"method": "GET"},
)
if response.status != 200:
response_body = await response.text()
console.log(f"Error fetching dog; {response_body}")
return
data = await response.json()
document.getElementById("image").src = data.message
print(as_js(fetchDog))
async function fetchDog() {
let response = await fetch('https://dog.ceo/api/breeds/image/random', {
'method': 'GET'
});
if (response.status != 200) {
let response_body = await response.text();
console.log('Error fetching dog; ' + response_body);
return;
};
let data = await response.json();
document.getElementById('image').src = data.message;
};
PH7 is still in beta-development. It will be production ready with following enhancements
- Remove performance bottlenecks
- Unit testing support
Further improvements
- Typed context for type safety
Links:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ph7-0.1.0rc5.tar.gz
(43.6 kB
view details)
File details
Details for the file ph7-0.1.0rc5.tar.gz
.
File metadata
- Download URL: ph7-0.1.0rc5.tar.gz
- Upload date:
- Size: 43.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69ca2b5561ea66c3852f0caa38dd2fc360bcce361149e56c988af3955b13b25b |
|
MD5 | a7e57ae221dfe29ace10acfb7f87f07a |
|
BLAKE2b-256 | d4b54045fc87e9ffbe5e1a332697afb0a5844df669dac9c7a2af6d365c10ae8e |