Skip to main content

PyML

A python HTML builder library.

Goals

  • Fully functional html builder similar to the javascript node manipulation.
  • Implement an html parser that returns a Document instance with the proper properties and children.
  • Prettify JavaScript to fit in with the prettified html.
  • Add more API methods.
  • Add CSS selector support.
  • Add styling configuration.

Usage

If you have ever manipulated html using JavaScript then this should be really intuitive. You just use the document to create a node. You then modify the node with the properties and children that you want. And insert that node into the document.

from PyML import Document

doc = Document()
doc.title = "Example title!"

print(doc)

results in

<html>
    <head>
        <title>Example title!</title>
    </head>
    <body></body>
</html>

Parsing html as a Document

Note: The parser is very experimental, that means that it might not be able to properly parse some html.

from PyML.parser import doc_from_string

html = """
<html>
    <head>
        <title>Example title!</title>
    </head>
    <body>
        <div class="heh">
            <img src="myImage.png">
        </div>
    </body>
</html>
"""

doc = doc_from_string(html)
print(doc.title)
print(doc.find("img").properties["src"])

Contributing

Anybody is free to contribute if they want, just make sure you follow the points listed below:

  • Don't rename/move methods/objects without consulting me first.
  • Don't introduce new functionality without explaining in-depth why we need said functionality (unless its from the Goals section)
  • Your code must be PEP-8 compliable.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyML-0.0.5.tar.gz (7.1 kB view details)

Uploaded Source

File details

Details for the file PyML-0.0.5.tar.gz.

File metadata

  • Download URL: PyML-0.0.5.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.9.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for PyML-0.0.5.tar.gz
Algorithm Hash digest
SHA256 cbfcc000ee8ba9330e0a8e0f51f6b454da25cb253f55c34be7a761b73e0a313f
MD5 a8be3f515c547339c381ecccd38636f1
BLAKE2b-256 c181e8faa9d27eb0fbf04264f089d06a1678b46c49359aa736cf71d0bdad16a3

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.5 This release

1 file

0.0.4

1 file

0.0.3

1 file

0.0.2

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page