| Port details |
- py-time-machine Travel through time in your Python tests
- 3.5.1 devel
=0 2.13.0Version of this port present on the latest quarterly branch. - Maintainer: nivit@FreeBSD.org
 - Port Added: 2023-06-17 08:21:30
- Last Update: 2026-09-10 22:02:31
- Commit Hash: 33c32bb
- Also Listed In: python
- License: MIT
- WWW:
- https://github.com/adamchainz/time-machine
- Description:
- time-machine is intended to combine the advantages of freezegun and libfaketime
Python modules. It works without LD_PRELOAD but still mocks the standard
library functions everywhere they may be referenced. It does so by modifying
the built-in functions at the C level, to point them through wrappers that
return different values when mocking. Normally in Python, built-in functions
are immutable, but time-machine overcomes this by using C code to replace their
function pointers.
¦ ¦ ¦ ¦ 
- Manual pages:
- FreshPorts has no man page information for this port.
- pkg-plist: as obtained via:
make generate-plist - There is no configure plist information for this port.
- USE_RC_SUBR (Service Scripts)
- no SUBR information found for this port
- Dependency lines:
-
- ${PYTHON_PKGNAMEPREFIX}time-machine>0:devel/py-time-machine@${PY_FLAVOR}
- To install the port:
- cd /usr/ports/devel/py-time-machine/ && make install clean
- To add the package, run one of these commands:
- pkg install devel/py-time-machine
- pkg install py312-time-machine
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above. NOTE: This is a Python port. Instead of py312-time-machine listed in the above command, you can pick from the names under the Packages section.- PKGNAME: py312-time-machine
- Package flavors (<flavor>: <package>)
- py312: py312-time-machine
- distinfo:
- TIMESTAMP = 1789077260
SHA256 (time_machine-3.5.1.tar.gz) = eb2c50404820fde8bfc6a0713b2a0b8eabececfecefde3a5847ae8006037829f
SIZE (time_machine-3.5.1.tar.gz) = 28434
Packages (timestamps in pop-ups are UTC):
- Dependencies
- NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
- Build dependencies:
-
- py312-setuptools>0 : devel/py-setuptools@py312
- py312-wheel>=0.40.0 : devel/py-wheel@py312
- python3.12 : lang/python312
- py312-build>=0 : devel/py-build@py312
- py312-installer>=0 : devel/py-installer@py312
- Test dependencies:
-
- python3.12 : lang/python312
- Runtime dependencies:
-
- py312-python-dateutil>=2.8.2 : devel/py-python-dateutil@py312
- py312-six>=1.5 : devel/py-six@py312
- python3.12 : lang/python312
- This port is required by:
- for Run
-
- devel/py-pendulum
- devel/py-pytest-recorder
Configuration Options:
- No options to configure
- Options name:
- devel_py-time-machine
- USES:
- python
- FreshPorts was unable to extract/find any pkg message
- Master Sites:
|
| Commit History - (may be incomplete: for full details, see links to repositories near top of page) |
| Commit | Credits | Log message |
3.5.1 10 Sep 2026 22:02:31
    |
Nicola Vitale (nivit)  |
devel/py-time-machine: Update to 3.5.1
Reported by: portscout! |
3.5.0 25 Aug 2026 20:57:20
    |
Nicola Vitale (nivit)  |
devel/py-time-machine: Update to 3.5.0
Reported by: "github-actions[bot]" <notifications@github.com> |
3.4.0 23 Aug 2026 21:01:55
    |
Nicola Vitale (nivit)  |
devel/py-time-machine: Update to 3.4.0
Reported by: repology.org |
2.13.0 19 Jun 2025 20:28:47
    |
Charlie Li (vishwin)  |
python.mk: rename PYTHON_EXT_SUFFIX to PYTHON_TAG, document, etc
EXT_SUFFIX, according to PEP 3149, refers to the full tag and
extension for compiled extension module objects, eg .cpython-311.so,
.cpython-313t.so, etc. We do not use the correct semantic meaning,
and this usage becomes ambiguous and confusing when tags do not
match between bytecode and compiled extension module objects.
Rename our PYTHON_EXT_SUFFIX to PYTHON_TAG to align with PEP 3147's
specification of a magic tag, which consists of implementation name
and shorthand version only. This is meant for bytecode and other
files containing this tag in their filename that do not depend on
a specific Python ABI for the same version. Chase all existing
consumers.
(Only the first 15 lines of the commit message are shown above ) |
2.13.0 12 Mar 2025 20:50:19
    |
Nicola Vitale (nivit)  |
devel/py-time-machine: Update to 2.13.0
Reported by: portscout! |
2.11.0_1 13 Apr 2024 14:47:51
    |
Po-Chuan Hsieh (sunpoet)  |
devel/py-python-dateutil: Move devel/py-dateutil to devel/py-python-dateutil
- Convert to USE_PYTHON=pep517
- Bump PORTREVISION of dependent ports for dependency change
- While I'm here, update audio/py-pyradio to use PYTHON_PKGNAMEPREFIX instead of
PKGNAMEPREFIX for *_DEPENDS |
2.11.0 18 Jul 2023 00:53:09
    |
Charlie Li (vishwin)  |
devel/py-setuptools: convert individual consumers to ${PY_SETUPTOOLS}
Currently a no-op, but in the future outputs the correct setuptools
port depending on whether USES_PYTHON=distutils is specified.
With hat: python
PR: 270510, 270358 |
2.11.0 13 Jul 2023 09:25:36
    |
Nicola Vitale (nivit)  |
devel/py-time-machine: Update to 2.11.0
Reported by: portscout |
2.10.0 17 Jun 2023 08:19:46
    |
Nicola Vitale (nivit)  |
devel/py-time-machine: Add new port
time-machine, is intended to combine the advantages of freezegun and
libfaketime Python modules. It works without LD_PRELOAD but still mocks
the standard library functions everywhere they may be referenced.
It does so by modifying the built-in functions at the C level, to point
them through wrappers that return different values when mocking.
Normally in Python, built-in functions are immutable, but
time-machine overcomes this by using C code to replace their function
pointers.
https://github.com/adamchainz/time-machine |