monotonic
An implementation of time.monotonic() for Python 2 & < 3.3
What it is and what it does
monotonic is a thin compatibility shim that exposes a monotonic() function—a clock that measures elapsed time without ever going backwards, even if the system clock is adjusted. On Python 3.3 and later, it simply aliases the standard library's time.monotonic. On older Python versions, it implements platform-specific fallbacks using clock_gettime on Linux, BSD, AIX, GetTickCount on Windows, and mach_absolute_time on OS X.
The package exists primarily to backport monotonic timing to Python 2 and early Python 3 codebases that need reliable elapsed-time measurement. It has no runtime dependencies and installs as a pure Python wheel. However, the repository has been archived since 2021 and receives no maintenance, making it relevant mainly for legacy systems that cannot upgrade to modern Python.
Use it for:
- Measure elapsed time in Python 2 codebases where time.monotonic is unavailable
- Benchmark or profile code sections with a clock immune to system clock adjustments
- Implement timeouts or rate-limiting logic unaffected by system time changes
- Support legacy Python 2 applications during transition periods
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a monotonic clock function that returns elapsed time in fractional seconds without going backwards, with platform-specific fallbacks for Python versions before 3.3.
No, unless you are maintaining legacy Python 2 code. The repository is archived and unmaintained since 2021. Install only if you are stuck supporting Python 2 or cannot upgrade to Python 3.3 or later, where time.monotonic is available in the standard library.
Install
monotonic on PyPI
pip
pip install monotonicuv
uv add monotonicpoetry
poetry add monotonicInstalling monotonic
Before you install
Low install friction with no runtime dependencies. Repository is archived and unmaintained since 2021, but the package is marked Production/Stable and serves a narrow, stable purpose.
License in practice
Licensed under Apache (permissive), so you can use it freely in commercial and open-source projects without viral obligations.
Quickstart
pip install monotonic
from monotonic import monotonic
start = monotonic()
# ... do work ...
elapsed = monotonic() - start
On unsupported platforms with no suitable clock implementation, importing the module will raise RuntimeError.
Verify before relying
- Whether this package remains necessary given Python 2 end-of-life and time.monotonic in Python 3.3+
- Whether platform-specific implementations remain compatible with modern OS versions
Package facts
| License | Apache (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,953 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 14,028,069/month — #1,252 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: monotonic-1.6-py2.py3-none-any.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
stopwatch.pyProvides a simple stopwatch timer that measures…
permissive · top 15,000 on PyPI
codetimingMeasures elapsed time in Python code using a…
permissive · top 5,000 on PyPI
polling2Polling2 lets you wait for a function to return…
permissive · top 5,000 on PyPI
python-timeoutGenerates random timeouts between specified…
unclear · top 15,000 on PyPI
nanotimeNanotime provides a 64-bit UNIX timestamp type…
permissive · top 15,000 on PyPI
monotonic-alignment-searchFinds the most probable alignment between a…
permissive · top 15,000 on PyPI
aioretryProvides a decorator-based retry mechanism for…
permissive · top 15,000 on PyPI
throttlerProvides rate limiting, concurrency limiting,…
permissive · top 5,000 on PyPI
businesstimedeltaCalculates elapsed working time between two…
permissive · top 5,000 on PyPI
freezegunFreezeGun mocks Python's datetime and time…
permissive · top 1,000 on PyPI