17
0

24 Commits

Author SHA256 Message Date
0bb75d1f0f - update to 3.2.0:
* Add :attr:`time_machine.naive_mode` to control how time-
    machine interprets naive datetimes. The default mode is
    MIXED, which preserves existing behaviour: naive datetime
    objects and date objects are interpreted as UTC, while naive
    datetime strings are interpreted as local time. Three
    alternative modes are available:  UTC: naive datetimes are
    always interpreted as UTC. LOCAL: naive datetimes are
    interpreted as local time, matching Python's default
    semantics, and freezegun. ERROR: naive datetimes raise a
    RuntimeError, ensuring your tests are isolated from the
    current timezone.   Note It’s recommended you use LOCAL or
    ERROR to avoid confusion around naive datetimes.  PR #591.
    Thanks to Paolo Melchiorre for review. Thanks to PhML,
    Stefaan Lippens, Matthieu Rigal, Nikita Demir, Steve Mavens,
    Andy Freeland, and Paul Ganssle for their input on Issue
    #257.
  * UTC: naive datetimes are always interpreted as UTC.
  * LOCAL: naive datetimes are interpreted as local time,
    matching Python's default semantics, and freezegun.
  * ERROR: naive datetimes raise a RuntimeError, ensuring your
    tests are isolated from the current timezone.
  * Raise RuntimeError when attempting to start time travelling
    if freezegun is active. This change should help avoid
    surprises when migrating complex test suites from freezegun
    to time-machine. PR #590.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=39
2026-01-28 12:28:09 +00:00
946671af7b Accepting request 1327285 from home:mcepl:mistral-vibe
- Update to 3.1.0
  - Optimize patching of uuid module. By avoiding using
    unittest.mock, this small overhead from starting
    time_machine.travel() has been reduced about 20x, from ~600ns
    to ~30ns by one benchmark.
- Update to 3.0.0
  - Remove mocking of time.monotonic() and time.monotonic_ns().
    This mocking caused too many issues, such as causing freezes
    in asyncio event loops (Issue #387), preventing
    pytest-durations from timing tests correctly (Issue #505),
    and triggering timeouts in psycopg (Issue #509). The root
    cause here is that mocking the monotonic clock breaks its
    contract, allowing it to move backwards when it’s meant to
    only move forwards.
    As an alternative, use unittest.mock to mock the monotonic
    function for the specific tested modules that need it. That
    means that your code should import monotonic() or
    monotonic_ns() directly, so that your tests can mock it in
    those places only.
  - Parse str destinations with datetime.fromisoformat() first,
    before falling back to dateutil if installed.
    datetime.fromisoformat() can parse most valid ISO 8601
    formats, with better performance and no extra dependencies.
  - Make the dependency on dateutil optional.
  - Rename the Coordinates class to Traveller, to match the
    recommended context manager variable name.
  - Drop Python 3.9 support.
  - Make the escape_hatch functions raise ValueError when called
    outside of time-travelling, rather than triggering
    segmentation faults.
- Update to 2.19.0
  - Add marker support to the pytest plugin. Decorate tests with
    @pytest.mark.time_machine(<destination>) to set time during a test,
    affecting function-level fixtures as well.
  - Add asynchronous context manager support to time_machine.travel(). You can
    now use async with time_machine.travel(...): in asynchronous code, per the
    documentation.
  - Import date and time functions once in the C extension.
  - This should improve speed a little bit, and avoid segmentation faults when
    the functions have been swapped out, such as when freezegun is in effect.
    (time-machine still won’t apply if freezegun is in effect.)
- Update to 2.18.0
  - Update the migration CLI to detect unittest classes based on whether they
    use self.assert* methods like self.assertEqual().
  - Fix free-threaded Python warning: RuntimeWarning: The global interpreter
    lock (GIL) has been enabled... as seen on Python 3.13+.
  - Add support to travel() for datetime destinations with tzinfo set to
    datetime.UTC (datetime.timezone.utc).
  - Prevent segmentation faults in unlikely scenarios, such as if the
    time_machine module cannot be imported.
  - Make travel() fully unpatch date and time functions when travel ends. This
    may fix certain edge cases.
- Update to 2.17.0
  - Include wheels for Python 3.14.
  - Support free-threaded Python.
  - Add a new CLI for migrating code from freezegun to time-machine.
  - Install with pip install time-machine[cli] and run with python -m
    time_machine migrate.
  - Move the documentation to Read the Docs, and add a retro-futuristic logo.

OBS-URL: https://build.opensuse.org/request/show/1327285
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=37
2026-01-14 20:22:59 +00:00
9e799d11b5 - update to 2.16.0:
* Drop Python 3.8 support.
  * Include wheels for Python 3.13.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=35
2024-10-30 19:50:50 +00:00
9ae914ab71 - update to 2.14.2:
* Fix SystemError on Python 3.13 and Windows when starting time
    travelling.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=33
2024-06-30 08:25:30 +00:00
ada7a53388 - update to 2.14.1:
* Fix segmentation fault when the first travel() call in a
    process uses a timedelta.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=31
2024-04-20 08:02:06 +00:00
61f1b953e5 - update to 2.14.0:
* Fix utcfromtimestamp() warning on Python 3.12+.
  * Fix utcfromtimestamp() warning on Python 3.12+.
  * Fix class decorator for classmethod overrides.
  * Avoid calling deprecated uuid._load_system_functions() on
    Python 3.9+.
  * Avoid calling deprecated uuid._load_system_functions() on
    Python 3.9+.
  * Thanks to Nikita Sobolev for the ping in CPython Issue
  * Support Python 3.13 alpha 4.
  - Mock time.monotonic() and time.monotonic_ns().

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=29
2024-03-14 08:18:16 +00:00
9fee2236e2 Accepting request 1124365 from home:ecsos:python
- Update to 2.13.0
  - Add support for datetime.timedelta to time_machine.travel().
  - Fix documentation about using local time for naive date(time) strings.
  - Add shift() method to the time_machine pytest fixture.
  - Mock time.monotonic() and time.monotonic_ns(). 
    They return the values of time.time() and time.time_ns()
    respectively, rather than real monotonic clocks.
- Changes from 2.12.0
  - Include wheels for Python 3.12.
- Changes from 2.11.0
  - Drop Python 3.7 support.
- Changes from 2.10.0
  - Support Python 3.12.

OBS-URL: https://build.opensuse.org/request/show/1124365
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=27
2023-11-09 09:30:23 +00:00
a128bf4f63 Accepting request 1092158 from home:ecsos:python
- Add %{?sle15_python_module_pythons}

OBS-URL: https://build.opensuse.org/request/show/1092158
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=25
2023-06-11 10:57:25 +00:00
6f36fb91c5 Accepting request 1089984 from home:bnavigator:branches:devel:languages:python
- Move to PEP517
- Do not use pytzdata, but system timezone directly
- Don't catchall sitearch

OBS-URL: https://build.opensuse.org/request/show/1089984
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=23
2023-05-31 09:54:55 +00:00
7508c41a78 - update to 2.9.0:
* Explicitly error when attempting to install on PyPy.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=21
2023-05-27 19:47:47 +00:00
120771992e Accepting request 1078375 from home:dimstar:Factory
- BuildRequire python38-backports.zoneinfo only when python38-base
  is present in the buildsystem: fix build on distros where python
  3.8 is no longer in the supported set of python interpreters.

- Update to version 2.8.2

OBS-URL: https://build.opensuse.org/request/show/1078375
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=19
2023-04-12 15:29:33 +00:00
c3a754f143 Accepting request 1032223 from home:yarunachalam:branches:devel:languages:python
- Update to version 2.8.2 
  * Improve type hints for time_machine.travel() to preserve the types of the wrapped function/coroutine/class.

OBS-URL: https://build.opensuse.org/request/show/1032223
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=17
2022-10-29 16:55:46 +00:00
3650b6f16d - update to version 2.8.1:
- Actually build Python 3.11 wheels.
- update to version 2.8.0:
 - Build Python 3.11 wheels.
- update to version 2.7.1:
 - Fix usage of ``ZoneInfo`` from the ``backports.zoneinfo`` package.
   This makes ``ZoneInfo`` support work for Python < 3.9.
- update to version 2.7.0:
 - Support Python 3.11 (no wheels yet, they will only be available when Python 3.11 is RC when the ABI is stable).

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=15
2022-08-18 07:07:22 +00:00
5644a307a7 - Limit package to python >= 3.7
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=14
2022-01-11 10:01:25 +00:00
4c80d3d812 - update to version 2.6.0:
* Drop Python 3.6 support.
- update to version 2.5.0:
  * Add ``time_machine.escape_hatch``, which provides functions to bypass
    time-machine.
    Thanks to Matt Pegler for the feature request in `Issue #206
    <https://github.com/adamchainz/time-machine/issues/206>`__.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=13
2022-01-11 09:43:44 +00:00
4cfc62d848 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=12 2022-01-11 09:43:01 +00:00
81a549d578 - update to version 2.5.0:
- Add ``time_machine.escape_hatch``, which provides functions to bypass time-machine.
   Thanks to Matt Pegler for the feature request in `Issue #206 <https://github.com/adamchainz/time-machine/issues/206>`__.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=10
2021-12-14 15:06:58 +00:00
d396adf1ad Accepting request 940399 from home:pgajdos:python
- pytest-runner is not required for build

OBS-URL: https://build.opensuse.org/request/show/940399
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=9
2021-12-14 09:48:09 +00:00
b739bbc803 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=8 2021-11-30 07:06:37 +00:00
2ee90c1163 - update to version 2.4.0:
- Support Python 3.10.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=6
2021-09-04 17:54:19 +00:00
036871d9c3 - update to version 2.3.1:
- Build universal2 wheels for Python 3.8 on macOS.
- update to version 2.3.0:
 - Allow passing ``tick`` to ``Coordinates.move_to()`` and the pytest fixture’s
   ``time_machine.move_to()``. This allows freezing or unfreezing of time when
   travelling.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=4
2021-07-30 08:26:21 +00:00
960c365237 - update to version 2.2.0:
- Include type hints.
 - Convert C module to use PEP 489 multi-phase extension module initialization.
   This makes the module ready for Python sub-interpreters.
 - Release now includes a universal2 wheel for Python 3.9 on macOS, to work on
   Apple Silicon.
 - Stop distributing tests to reduce package size. Tests are not intended to be
   run outside of the tox setup in the repository. Repackagers can use GitHub's
   tarballs per tag.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=3
2021-07-03 13:24:34 +00:00
7e91af9209 - skip python2 to fix leap build
- add missing group tag to fix leap build

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=2
2021-05-29 07:51:21 +00:00
65aad7ec9c Accepting request 895367 from home:sebix
new package

OBS-URL: https://build.opensuse.org/request/show/895367
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-time-machine?expand=0&rev=1
2021-05-26 21:23:58 +00:00