Generate HTML or XML in a pythonic way. Pure python alternative to web template engines. Based on BeautifulSoup parser. Can fill HTML forms with default values and error messages.
Project description
This library is based on the sources and definitions of yattag with the fondamental difference that BeautifulSoup is used as the html renderer.
Differences between bs4tag and yattag
* At this time, only SimpleDoc has been converted, Doc class is work in progress. *
No support for custom indentation (indent)
stag_end option is not available
The SimpleDoc/Doc object contains a BeautifulSoup intance in the soup attribute
asis() and ttls() functions added to SimpleDoc
( tutorial for both libraries: yattag.org and BS4)
Basic example
Nested html tags, no need to close tags, same as yattag.
from bs4tag import Doc
doc, tag, text = Doc().tagtext()
with tag('html'):
with tag('body', id = 'hello'):
with tag('h1'):
text('Hello world!')
print(doc.getvalue())
With BeautifulSoup added functionalities
Insert bs4tag document into a BeautifulSoup instance.
def body_text():
doc, tag, text = SimpleDoc().tagtext()
with tag('h1'):
text('Hello world!')
return doc.soup
doc, tag, text = SimpleDoc().tagtext()
with tag('html'):
with tag('body', id='hello'):
pass
doc.soup.find(id='hello').append(body_text())
print(doc.getvalue())
# <html><body id="hello"><h1>Hello world!</h1></body></html>
Installation
pip3 install bs4tag
This library is compatible with the tutorial on yattag.org
GitHub repo: https://github.com/ceprio/bs4tag Derived from: https://github.com/leforestier/yattag
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
Built Distribution
File details
Details for the file bs4tag-0.1.0.tar.gz
.
File metadata
- Download URL: bs4tag-0.1.0.tar.gz
- Upload date:
- Size: 27.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c80419004322c17a0988a0ca4f6bd38ecc77380aa5844ead5390bc9a8da93b24 |
|
MD5 | f1af726df83ff38b450973e137dcb395 |
|
BLAKE2b-256 | fe41d8fc6feaaca3d4fa066537014391e871c33af3e78056ee513328b655b05a |
File details
Details for the file bs4tag-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: bs4tag-0.1.0-py3-none-any.whl
- Upload date:
- Size: 28.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f63e3276de59fffbddf6c12bfe7fe0a70e0a740f979b5a0ddf266f0498d8b6d |
|
MD5 | 3f6409ffc8b7936415f4a356cd1d14c4 |
|
BLAKE2b-256 | d1e68b6b50c8c5dd583723049fe05816f6c46caff3d2f19a1a2f632e3a387a86 |