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
Go From AI Idea to AI App Fast Icon
Go From AI Idea to AI App Fast

One platform to build, fine-tune, and deploy ML models. No MLOps team required.

Access Gemini 3 and 200+ models. Build chatbots, agents, or custom models with built-in monitoring and scaling.
Try 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