Skip to main content

A python HTML builder library.

Project description

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.

Project details


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.

Supported by

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