{"categories":[{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/7"},{"label":"Text Processing","url":"https://skillfed.io/packages/category/text-processing/2"},{"label":"HTML","url":"https://skillfed.io/packages/category/text-processing-markup-html"}],"enrichment":{"capability":"Extracts URLs from text by locating TLDs and expanding boundaries to find complete domain names, with optional DNS validation.","skillfed_tags":["url-extraction","text-processing","tld-parsing"],"use_cases":["Extract clickable links from user-generated text, chat messages, or social media posts for processing or display","Scan HTML or text documents to identify and collect all URLs for link validation or archival purposes","Pre-process raw text data before feeding it to NLP or machine learning pipelines that need URL detection","Build web scrapers or crawlers that need to identify target URLs within fetched page content","Validate or sanitize user input by detecting whether a text block contains any URLs"],"what_it_does":"URLExtract is a Python library that finds URLs embedded in plain text by scanning for valid top-level domains (TLDs) and expanding outward to locate word boundaries. It works by locating any TLD occurrence in the input text, then searching left and right from that position until it hits a stop character like whitespace or punctuation. The library maintains an up-to-date TLD list downloaded from iana.org and can optionally validate extracted domains via DNS checks using uritools and idna for proper domain name handling.\n\nThe package provides three main extraction modes: `find_urls()` returns a list of all URLs found, `gen_urls()` yields URLs as a generator for memory efficiency, and `has_urls()` performs a quick boolean check. You can also manually update the TLD cache or set it to auto-update after a specified number of days. The library is aware of a known limitation: since some TLDs are also valid English words, it may produce false positives in contexts like CSS class selectors (e.g., detecting 'p.bold.name' as a domain).","worth_installing":"Yes, if you need straightforward URL extraction from unstructured text. The package is stable (Production/Stable status), has no known security vulnerabilities, and carries a permissive MIT license. Install friction is low. However, the last release was 897 days ago and maintenance is dormant\u2014if you need active support or expect frequent TLD updates, verify that the cached list meets your requirements or plan to fork/maintain it yourself."},"id":"urlextract","links":{"html":"https://skillfed.io/packages/urlextract","md":"https://skillfed.io/packages/urlextract.md","pypi":"https://pypi.org/project/urlextract/"},"maintenance":{"status":"dormant"},"meta":{"latest_release":"2024-02-29","license_spdx":null,"license_treatment":"permissive","name":"urlextract","python_support":"unspecified","summary":"Collects and extracts URLs from given text."},"popularity":{"monthly_downloads":1153061,"position":4293,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"1.9.0"}
