dateparser
Date parsing library designed to parse dates from HTML pages
Install
dateparser on PyPI
pip
pip install dateparseruv
uv add dateparserpoetry
poetry add dateparserPackage facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — python-dateutil, pytz, regex, tzlocal |
| Maintenance | actively maintained — 9 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: dateparser-1.4.2-py3-none-any.whl
Keywords: dateparser
About dateparser
from the package's own PyPI description — quoted content, verbatim
.. Note that we use raw HTML in the header section because centering images and paragraphs is not supported in Github (https://github.com/github/markup/issues/163)
.. :changelog:
History
1.4.2 (2026-08-04)
New features:
- Add an
IGNORE_SURROUNDING_TEXTsetting that, when enabled, retries parsing after ignoring the leading and trailing words the language does not recognize, so a date wrapped in extra text such as "Published on 16/04/2019" is parsed (#1356) - Add a
strategyargument tosearch_dates()to choose the search strategy: the default"split"keeps the current behavior, while the new"ngram"strategy parses the longest sequences of tokens as dates for more predictable results on noisy text (#1351)
Fixes:
- Do not read a two-digit number as a year once a later component has been found in year-first date orders, so the day in Japanese dates such as "4月20日" is no longer consumed as the year (#1358)
- Parse ISO 8601 dates (those starting with a four-digit year) in month-day
order even when an explicit day-first language such as
itorfris given, without needing to set...
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Parses dates and times from text in multiple languages and formats, including relative expressions like "2 days ago" and ISO 8601 dates, with configurable locale and timezone handling.
Low friction: pure Python wheel with four stable runtime dependencies (python-dateutil, pytz, regex, tzlocal). Active maintenance with a release 9 days ago and 2851 GitHub stars.
BSD-3-Clause is permissive; you may use, modify, and distribute dateparser freely in commercial and private projects provided you include the license notice.
Usage
pip install dateparser
from dateparser import parse
result = parse('16/04/2019')
print(result) # datetime.datetime(2019, 4, 16, 0, 0)
Requires Python 3.10 or later.
Verdict: Production-ready date parser with strong maintenance (active, recent release), no known vulnerabilities, and permissive licensing. The low install friction and broad language support make it a solid choice for projects needing flexible date extraction from unstructured text.
Needs verification
- Whether the four runtime dependencies themselves have known vulnerabilities or maintenance concerns.
- Performance characteristics on very large text inputs or with complex locale configurations.
Similar packages
permissive · top 1,000 on PyPI
cron-descriptorpermissive · top 1,000 on PyPI
arrowpermissive · top 1,000 on PyPI
python-dateutilpermissive · top 100 on PyPI
humanizepermissive · top 1,000 on PyPI
croniterpermissive · top 1,000 on PyPI
isodurationpermissive · top 1,000 on PyPI
pytimeparsepermissive · top 1,000 on PyPI
questionarypermissive · top 1,000 on PyPI
pathspeccopyleft · top 100 on PyPI