Our great sponsors
|almost 2 years ago||about 2 months ago|
|MIT License||Apache License 2.0|
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Ask HN: What are some tools / libraries you built yourself?
264 projects | news.ycombinator.com | 16 May 2021
I've been working on gazpacho  for last two years.
It's a general purpose web scraping library for Python that replaces BeautifulSoup + requests for most projects.
Just surpassed ~2K downloads every week!
I wrote a markdown to html converter
6 projects | reddit.com/r/golang | 1 Feb 2023
2 projects | news.ycombinator.com | 6 Sep 2022
This is an excellent point; I should have addressed safety in my article. I'll point out that in my use case, I'm using `safe` on data I create and not any user-generated data.
You should never use `safe` on user data unless you use something like bleach (https://github.com/mozilla/bleach) to sanitize the data. Even then, you should use caution.
What are some alternatives?
lxml - The lxml XML toolkit for Python
MarkupSafe - Safely add untrusted strings to HTML/XML markup.
xhtml2pdf - A library for converting HTML into PDFs using ReportLab
html5lib - Standards-compliant library for parsing and serializing HTML documents and fragments in Python
selectolax - Python binding to Modest and Lexbor engines (fast HTML5 parser with CSS selectors).
xmltodict - Python module that makes working with XML feel like you are working with JSON
untangle - Converts XML to Python objects