$npx skillfedfor your agent

python-dateutil

Extensions to the standard Python datetime module

Worth itPyPI LibrariesReleased Mar 20241.2B downloads / moDual LicensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — python_dateutil-2.9.0.post0-py2.py3-none-any.whl
v2.9.0.post0 · released 2024-03-01 · Python !=3.0.*,!=3.1.*,!=3.2.*,>=2.7 · 1 runtime deps: six

Yes. python-dateutil is a mature, widely-adopted standard for date handling in Python. It has no known vulnerabilities, low install friction, permissive dual licensing, and active maintenance. Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Low friction: pure Python wheel, single lightweight dependency (six).
  • Actively maintained with recent commits; production-stable since early releases and widely adopted.

License · maintenance · safety

Dual License (permissive) — Dual-licensed under Apache 2.0 or BSD 3-Clause (permissive). Contributions after December 1, 2017 use dual license; earlier contributions use BSD 3-Clause only. No restrictions on commercial or proprietary use.

last release 2024-03-01 (896 days) · last repo commit 2026-05-19 · 2,631 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,188,011,910 downloads/mo, #16 on PyPI

Verify before relying

pip install python-dateutil

from dateutil.parser import parse
from dateutil.relativedelta import relativedelta
from dateutil.rrule import rrule, MONTHLY

dt = parse("Sat Oct 11 17:13:46 UTC 2003")
next_month = dt + relativedelta(months=1)
recurring = rrule(MONTHLY, dtstart=dt, count=3)
  • Exact scope of timezone database updates and how often Olson data is refreshed
  • Performance characteristics for large recurrence rule computations or bulk date parsing
Same gist for agents: .md · .json

What it is and what it does

python-dateutil extends Python's standard datetime module with practical tools for real-world date and time work. It handles parsing dates from almost any string format, computing relative time differences (e.g., "next month", "last Friday"), generating recurring dates via iCalendar-compatible recurrence rules, and managing timezones across multiple formats (tzfile, TZ environment strings, Windows registry, UTC, fixed offsets). It includes Olson timezone data and can compute Easter dates using Western, Orthodox, or Julian algorithms.

The package is a single dependency (six) and installs as a pure Python wheel with no compiled components. It's been in production use since 2008 and is actively maintained. Developers typically use it when they need to parse user-supplied date strings, compute date ranges, schedule recurring events, or handle timezone-aware datetime operations without reaching for heavier frameworks.

Use it for

  • Parse user-supplied date strings in varied formats and convert to datetime objects for validation or storage
  • Compute relative date offsets (e.g., 'next quarter', 'last day of month') for scheduling or reporting
  • Generate recurring event dates from iCalendar recurrence rules for calendar or task applications
  • Handle timezone conversions and localization across different geographic regions and DST rules
  • Calculate Easter dates for calendar or liturgical applications

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes.

python-dateutil is a mature, widely-adopted standard for date handling in Python. It has no known vulnerabilities, low install friction, permissive dual licensing, and active maintenance. Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.

Install

python-dateutil on PyPI

Before you install

Low friction: pure Python wheel, single lightweight dependency (six). Actively maintained with recent commits; production-stable since early releases and widely adopted.

License in practice

Dual-licensed under Apache 2.0 or BSD 3-Clause (permissive). Contributions after December 1, 2017 use dual license; earlier contributions use BSD 3-Clause only. No restrictions on commercial or proprietary use.

Quickstart

pip install python-dateutil

from dateutil.parser import parse
from dateutil.relativedelta import relativedelta
from dateutil.rrule import rrule, MONTHLY

dt = parse("Sat Oct 11 17:13:46 UTC 2003")
next_month = dt + relativedelta(months=1)
recurring = rrule(MONTHLY, dtstart=dt, count=3)

Verify before relying

  • Exact scope of timezone database updates and how often Olson data is refreshed
  • Performance characteristics for large recurrence rule computations or bulk date parsing

Package facts

LicenseDual License permissive
Python supportSupports the current Python release !=3.0.*,!=3.1.*,!=3.2.*,>=2.7
Install frictionLow. Pure-Python wheel
Runtime dependencies
1 package
six
MaintenanceActively maintained 896 days since the last release
Last repo commit
First released
Downloads1,188,011,910 / month, #16 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseLicense :: OSI Approved :: BSD LicenseProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries

Evidence: python_dateutil-2.9.0.post0-py2.py3-none-any.whl

Tags

Capabilities
date parsing and manipulationrelative date arithmetictimezone handlingrecurrence rules rruleiCalendar RFC parsingdatetime extensionsflexible date string parsing
Topics
datetime-utilitiestimezone-handlingicalendar-compliant

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “relative date arithmetic”

  • python-dateutilProvides parsing, arithmetic, and recurrence rule computation for…
  • timelibParses natural-language date and time descriptions (like "next…
  • pendulumPendulum provides an enhanced datetime API for Python that handles…

Give your agent the search over MCP, or paste the wish link into any chat.

More Libraries packages

urllib3 Worth it
PyPI · Libraries · released May 2026

urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.

MITpure Python · 3.10+
1.8Bdownloads / mo
requests Worth it
PyPI · Libraries · released May 2026

Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.

Apache-2.0pure Python · 3.10+
1.8Bdownloads / mo
pluggy Worth it
PyPI · Libraries · released May 2025

Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.

Install it if you're building an extensible application or framework.

MITpure Python · 3.9+aging
1.3Bdownloads / mo
six With conditions
PyPI · Libraries · released Dec 2024

Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.

MITpure Python
1.2Bdownloads / mo
pytest Worth it
PyPI · Libraries · released Jun 2026

pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.

MITpure Python · 3.10+
1.1Bdownloads / mo
iniconfig Worth it
PyPI · Libraries · released Oct 2025

iniconfig parses INI configuration files while preserving section and entry order, supporting multi-line values, comments, and raising errors with line numbers.

MITpure Python · 3.10+
1.0Bdownloads / mo

See also dateutils · delorean · django-recurrence · iso8601 · ical · prefixdate · types-python-dateutil · x-wr-timezone · dateparser · recurring-ical-events