Gumbo is an implementation of the HTML5 parsing algorithm implemented as a pure C99 library with no outside dependencies. It's designed to serve as a building block for other tools and libraries such as linters, validators, templating languages, and refactoring and analysis tools. Gumbo gains some of this by virtue of being written in C, but it is not an important consideration for the intended use-case, and was not a major design factor. Gumbo is intentionally designed to turn an HTML document into a parse tree, and free that parse tree all at once. To install the python bindings, make sure that the C library is installed first, and then sudo python setup.py install from the root of the distro. This installs a 'gumbo' module; pydoc gumbo should tell you about it. Tested on over 2.5 billion pages from Google's index. Passes all html5lib tests, including the template tag.

Features

  • Fully conformant with the HTML5 spec
  • Robust and resilient to bad input
  • Simple API that can be easily wrapped by other languages
  • Support for source locations and pointers back to the original text
  • Support for fragment parsing
  • Relatively lightweight, with no outside dependencies

Project Samples

Project Activity

See All Activity >

Categories

HTML/XHTML, Libraries

License

Apache License V2.0

Follow Gumbo

Gumbo Web Site

Other Useful Business Software
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Gumbo!

Additional Project Details

Operating Systems

Mac

Programming Language

C

Related Categories

C HTML XHTML, C Libraries

Registered

2021-10-29