timelib
parse english textual date descriptions
Decision gist · record as of 2026-08-14
Yes, if you need natural-language date parsing and can install a pre-built wheel for your platform. The permissive dual license and zero runtime dependencies make it lightweight. However, dormancy (last release March 2023, no active maintenance) means no bug fixes or Python version updates are forthcoming—verify wheel availability for your Python version and architecture before committing, and consider alternatives if you need ongoing support or broader platform coverage.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a pre-built wheel for your Python version and platform; source builds need the C extension toolchain and PHP timelib headers.
- Medium install friction due to compiled extension (wheel available for cp39 on macOS arm64).
- Package is dormant—last release was 2023-03-18, last commit 2024-05-06; no active maintenance signal but repository remains public and unarchived.
License · maintenance · safety
zlib/php (permissive) — Dual-licensed under zlib/libpng and PHP License 3.01 (both permissive). You may use, modify, and redistribute freely in commercial and non-commercial contexts, provided you retain attribution and mark any alterations.
last release 2023-03-18 (1245 days) · last repo commit 2024-05-06 · 36 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 118,595 downloads/mo, #12,114 on PyPI
Alternatives
Verify before relying
import timelib
# Parse natural language to datetime
dt = timelib.strtodatetime("next friday")
print(dt) # datetime.datetime(2009, 6, 26, 0, 0)
# Parse to Unix timestamp
import time
ts = timelib.strtotime("4 hours ago")
print(time.ctime(ts))- Whether the package works with Python versions beyond 3.9 (python_support unspecified, only cp39 wheel evident)
- Current compatibility with modern macOS/Linux/Windows architectures beyond the single arm64 wheel shown
- Whether strtotime and strtodatetime handle timezone-aware parsing or always return naive datetimes
What it is and what it does
timelib is a thin Python wrapper around PHP's internal timelib C module, exposing two main functions: strtodatetime() converts English-language date descriptions into Python datetime objects, and strtotime() converts them into Unix timestamps. It leverages PHP's battle-tested date parsing logic to handle relative expressions ("next friday", "4 hours ago"), absolute dates, and arithmetic ("29 feb 2008 -108 years").
The package has no runtime dependencies and ships as a compiled extension. It is dormant—last released in March 2023 with no active maintenance—but the repository remains public and unarchived. Install friction is medium because it requires a pre-built wheel matching your Python version and CPU architecture; source builds need a C compiler and PHP timelib headers.
Use it for
- Parse user-entered date strings in web forms or CLIs without requiring strict format specification
- Convert relative time expressions ("3 days from now", "last month") into exact datetime objects for scheduling or logging
- Migrate PHP date-parsing logic to Python while preserving the same parsing semantics
- Build natural-language query interfaces that accept fuzzy date ranges and convert them to timestamps
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need natural-language date parsing and can install a pre-built wheel for your platform.
The permissive dual license and zero runtime dependencies make it lightweight. However, dormancy (last release March 2023, no active maintenance) means no bug fixes or Python version updates are forthcoming—verify wheel availability for your Python version and architecture before committing, and consider alternatives if you need ongoing support or broader platform coverage.
Install
timelib on PyPI
Before you install
Medium install friction due to compiled extension (wheel available for cp39 on macOS arm64). Package is dormant—last release was 2023-03-18, last commit 2024-05-06; no active maintenance signal but repository remains public and unarchived.
Requires a pre-built wheel for your Python version and platform; source builds need the C extension toolchain and PHP timelib headers.
License in practice
Dual-licensed under zlib/libpng and PHP License 3.01 (both permissive). You may use, modify, and redistribute freely in commercial and non-commercial contexts, provided you retain attribution and mark any alterations.
Quickstart
import timelib
# Parse natural language to datetime
dt = timelib.strtodatetime("next friday")
print(dt) # datetime.datetime(2009, 6, 26, 0, 0)
# Parse to Unix timestamp
import time
ts = timelib.strtotime("4 hours ago")
print(time.ctime(ts))
Verify before relying
- Whether the package works with Python versions beyond 3.9 (python_support unspecified, only cp39 wheel evident)
- Current compatibility with modern macOS/Linux/Windows architectures beyond the single arm64 wheel shown
- Whether strtotime and strtodatetime handle timezone-aware parsing or always return naive datetimes
Package facts
| License | zlib/php permissive |
| Python support | Not specified |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Dormant 1,245 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 118,595 / month, #12,114 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: timelib-0.3.0-cp39-cp39-macosx_12_0_arm64.whl
Tags
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 › “parse fuzzy dates”
- timelibParses natural-language date and time descriptions (like "next…
- parsedatetimeParses human-readable date and time strings (like "tomorrow" or "next…
- humanizeConverts numbers, dates, times, and file sizes into human-readable…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
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.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
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.
See also dateparser · datefinder · metomi-isodatetime · timeago · ago · isodate · aniso8601 · python-dateutil · pyRFC3339 · snaptime