Skip to main content

Travel through time in your tests.

Project description

https://img.shields.io/github/workflow/status/adamchainz/time-machine/CI/main?style=for-the-badge https://img.shields.io/codecov/c/github/adamchainz/time-machine/main?style=for-the-badge https://img.shields.io/pypi/v/time-machine.svg?style=for-the-badge https://img.shields.io/badge/code%20style-black-000000.svg?style=for-the-badge pre-commit

Travel through time in your tests.

A quick example:

import datetime as dt
from zoneinfo import ZoneInfo
import time_machine

hill_valley_tz = ZoneInfo("America/Los_Angeles")

@time_machine.travel(dt.datetime(1985, 10, 26, 1, 24, tzinfo=hill_valley_tz))
def test_delorean():
    assert dt.date.today().isoformat() == "1985-10-26"

For a bit of background, see the introductory blog post and the benchmark blog post.

Installation

Use pip:

python -m pip install time-machine

Python 3.6 to 3.9 supported. Only CPython is supported at this time because time-machine directly hooks into the C-level API.


Testing a Django project? Check out my book Speed Up Your Django Tests which covers loads of best practices so you can write faster, more accurate tests. I created time-machine whilst writing the book.


Usage

travel(destination, *, tick=True)

travel() is a class that allows time travel, to the datetime specified by destination. It does so by mocking all functions from Python’s standard library that return the current date or datetime. It can be used independently, as a function decorator, or as a context manager.

destination specifies the datetime to move to. It may be:

  • A datetime.datetime. If it is naive, it will be assumed to have the UTC timezone. If it has tzinfo set to a zoneinfo.ZoneInfo instance, the current timezone will also be mocked.

  • A datetime.date. This will be converted to a UTC datetime with the time 00:00:00.

  • A float or int specifying a Unix timestamp

  • A string, which will be parsed with dateutil.parse and converted to a timestamp.

Additionally, you can provide some more complex types:

  • A generator, in which case next() will be called on it, with the result treated as above.

  • A callable, in which case it will be called with no parameters, with the result treated as above.

tick defines whether time continues to “tick” after travelling, or is frozen. If True, the default, successive calls to mocked functions return values increasing by the elapsed real time since the first call. So after starting travel to 0.0 (the UNIX epoch), the first call to any datetime function will return its representation of 1970-01-01 00:00:00.000000 exactly. The following calls “tick,” so if a call was made exactly half a second later, it would return 1970-01-01 00:00:00.500000.

Mocked Functions

All datetime functions in the standard library are mocked to move to the destination current datetime:

  • datetime.datetime.now()

  • datetime.datetime.utcnow()

  • time.gmtime()

  • time.localtime()

  • time.clock_gettime() (only for CLOCK_REALTIME)

  • time.clock_gettime_ns() (only for CLOCK_REALTIME)

  • time.strftime()

  • time.time()

  • time.time_ns()

The mocking is done at the C layer, replacing the function pointers for these built-ins. Therefore, it automatically affects everywhere those functions have been imported, unlike use of unittest.mock.patch().

Usage with start() / stop()

To use independently, create and instance, use start() to move to the destination time, and stop() to move back. For example:

import datetime as dt
import time_machine

traveller = time_machine.travel(dt.datetime(1985, 10, 26))
traveller.start()
# It's the past!
assert dt.date.today() == dt.date(1985, 10, 26)
traveller.stop()
# We've gone back to the future!
assert dt.date.today() > dt.date(2020, 4, 29)

travel() instances are nestable, but you’ll need to be careful when manually managing to call their stop() methods in the correct order, even when exceptions occur. It’s recommended to use the decorator or context manager forms instead, to take advantage of Python features to do this.

Function Decorator

When used as a function decorator, time is mocked during the wrapped function’s duration:

import time
import time_machine

@time_machine.travel("1970-01-01 00:00 +0000")
def test_in_the_deep_past():
    assert 0.0 < time.time() < 1.0

You can also decorate asynchronous functions (coroutines):

import time
import time_machine

@time_machine.travel("1970-01-01 00:00 +0000")
async def test_in_the_deep_past():
    assert 0.0 < time.time() < 1.0

Beware: time is a global state - see below.

Context Manager

When used as a context manager, time is mocked during the with block:

import time
import time_machine

def test_in_the_deep_past():
    with time_machine.travel(0.0):
        assert 0.0 < time.time() < 1.0

Class Decorator

Only unittest.TestCase subclasses are supported. When applied as a class decorator to such classes, time is mocked from the start of setUpClass() to the end of tearDownClass():

import time
import time_machine
import unittest

@time_machine.travel(0.0)
class DeepPastTests(TestCase):
    def test_in_the_deep_past(self):
        assert 0.0 < time.time() < 1.0

Note this is different to unittest.mock.patch()'s behaviour, which is to mock only during the test methods.

Timezone mocking

If the destination passed to time_machine.travel() or Coordinates.move_to() has its tzinfo set to a zoneinfo.ZoneInfo instance, the current timezone will be mocked. This will be done by calling time.tzset(), so it is only available on Unix. The zoneinfo module is new in Python 3.8 - on older Python versions use the backports.zoneinfo package, by the original zoneinfo author.

time.tzset() changes the time module’s timezone constants and features that rely on those, such as time.localtime(). It won’t affect other concepts of “the current timezone”, such as Django’s (which can be changed with its time.override()).

Here’s a worked example changing the current timezone:

import datetime as dt
import time
from zoneinfo import ZoneInfo
import time_machine

hill_valley_tz = ZoneInfo("America/Los_Angeles")

@time_machine.travel(dt.datetime(2015, 10, 21, 16, 29, tzinfo=hill_valley_tz))
def test_hoverboard_era():
    assert time.tzname == ("PST", "PDT")
    now = dt.datetime.now()
    assert (now.hour, now.minute) == (16, 29)

Coordinates

The start() method and entry of the context manager both return a Coordinates object that corresponds to the given “trip” in time. This has a couple methods that can be used to travel to other times.

move_to(destination, tick=None)

move_to() moves the current time to a new destination. destination may be any of the types supported by travel.

tick may be set to a boolean, to change the tick flag of travel.

For example:

import datetime as dt
import time
import time_machine

with time_machine.travel(0, tick=False) as traveller:
    assert time.time() == 0

    traveller.move_to(234)
    assert time.time() == 234

shift(delta)

shift() takes one argument, delta, which moves the current time by the given offset. delta may be a timedelta or a number of seconds, which will be added to destination. It may be negative, in which case time will move to an earlier point.

For example:

import datetime as dt
import time
import time_machine

with time_machine.travel(0, tick=False) as traveller:
    assert time.time() == 0

    traveller.shift(dt.timedelta(seconds=100))
    assert time.time() == 100

    traveller.shift(-dt.timedelta(seconds=10))
    assert time.time() == 90

pytest plugin

time-machine also works as a pytest plugin. It provides a function-scoped fixture called time_machine that has one method, move_to(), which has the same signature as Coordinates.move_to(). This can be used to mock your test at different points in time and will automatically be un-mock when the test is torn down.

For example:

import datetime as dt

def test_delorean(time_machine):
    time_machine.move_to(dt.datetime(1985, 10, 26))

    assert dt.date.today().isoformat() == "1985-10-26"

    time_machine.move_to(dt.datetime(2015, 10, 21))

    assert dt.date.today().isoformat() == "2015-10-21"

Caveats

Time is a global state. Any concurrent threads or asynchronous functions are also be affected. Some aren’t ready for time to move so rapidly or backwards, and may crash or produce unexpected results.

Also beware that other processes are not affected. For example, if you use SQL datetime functions on a database server, they will return the real time.

Comparison

There are some prior libraries that try to achieve the same thing. They have their own strengths and weaknesses. Here’s a quick comparison.

unittest.mock

The standard library’s unittest.mock can be used to target imports of datetime and time to change the returned value for current time. Unfortunately, this is fragile as it only affects the import location the mock targets. Therefore, if you have several modules in a call tree requesting the date/time, you need several mocks. This is a general problem with unittest.mock - see Why Your Mock Doesn’t Work.

It’s also impossible to mock certain references, such as function default arguments:

def update_books(_now=time.time):  # set as default argument so faster lookup
    for book in books:
        ...

Although such references are rare, they are occasionally used to optimize highly repeated loops.

freezegun

Steve Pulec’s freezegun library is a popular solution. It provides a clear API which was much of the inspiration for time-machine.

The main drawback is its slow implementation. It essentially does a find-and-replace mock of all the places that the datetime and time modules have been imported. This gets around the problems with using unittest.mock, but it means the time it takes to do the mocking is proportional to the number of loaded modules. In large projects, this can take several seconds, an impractical overhead for an individual test.

It’s also not a perfect search, since it searches only module-level imports. Such imports are definitely the most common way projects use date and time functions, but they’re not the only way. freezegun won’t find functions that have been “hidden” inside arbitrary objects, such as class-level attributes.

It also can’t affect C extensions that call the standard library functions, including (I believe) Cython-ized Python code.

python-libfaketime

Simon Weber’s python-libfaketime wraps the libfaketime library. libfaketime replaces all the C-level system calls for the current time with its own wrappers. It’s therefore a “perfect” mock for the current process, affecting every single point the current time might be fetched, and performs much faster than freezegun.

Unfortunately python-libfaketime comes with the limitations of LD_PRELOAD. This is a mechanism to replace system libraries for a program as it loads (explanation). This causes two issues in particular when you use python-libfaketime.

First, LD_PRELOAD is only available on Unix platforms, which prevents you from using it on Windows.

Second, you have to help manage LD_PRELOAD. You either use python-libfaketime’s reexec_if_needed() function, which restarts (re-execs) your test process while loading, or manually manage the LD_PRELOAD environment variable. Neither is ideal. Re-execing breaks anything that might wrap your test process, such as profilers, debuggers, and IDE test runners. Manually managing the environment variable is a bit of overhead, and must be done for each environment you run your tests in, including each developer’s machine.

time-machine

time-machine is intended to combine the advantages of freezegun and libfaketime. It works without LD_PRELOAD but still mocks the standard library functions everywhere they may be referenced. Its weak point is that other libraries using date/time system calls won’t be mocked. Thankfully this is rare. It’s also possible such python libraries can be added to the set mocked by time-machine.

One drawback is that it only works with CPython, so can’t be used with other Python interpreters like PyPy. However it may possible to extend it to support other interpreters through different mocking mechanisms.

Migrating from libfaketime or freezegun

freezegun has a useful API, and python-libfaketime copies some of it, with a different function name. time-machine also copies some of freezegun’s API, in travel()'s destination, and tick arguments, and the shift() method. There are a few differences:

  • time-machine’s tick argument defaults to True, because code tends to make the (reasonable) assumption that time progresses between function calls, and should normally be tested as such. Testing with time frozen can make it easy to write complete assertions, but it’s quite artificial.

  • freezegun’s tick() method has been implemented as shift(), to avoid confusion with the tick argument. It also requires an explicit delta rather than defaulting to 1 second.

  • freezegun’s tz_offset argument only partially mocks the current time zone. Time zones are more complicated than a single offset from UTC, and freezegun only uses the offset in time.localtime(). Instead, time-machine will mock the current time zone if you give it a datetime with a ZoneInfo timezone.

Some features aren’t supported like the auto_tick_seconds argument. These may be added in a future release.

If you are only fairly simple function calls, you should be able to migrate by replacing calls to freezegun.freeze_time() and libfaketime.fake_time() with time_machine.travel().

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

time-machine-2.3.1.tar.gz (22.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

time_machine-2.3.1-cp39-cp39-win_amd64.whl (18.8 kB view details)

Uploaded CPython 3.9Windows x86-64

time_machine-2.3.1-cp39-cp39-win32.whl (17.8 kB view details)

Uploaded CPython 3.9Windows x86

time_machine-2.3.1-cp39-cp39-manylinux2014_aarch64.whl (36.3 kB view details)

Uploaded CPython 3.9

time_machine-2.3.1-cp39-cp39-manylinux2010_x86_64.whl (36.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ x86-64

time_machine-2.3.1-cp39-cp39-manylinux2010_i686.whl (34.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ i686

time_machine-2.3.1-cp39-cp39-manylinux1_x86_64.whl (36.2 kB view details)

Uploaded CPython 3.9

time_machine-2.3.1-cp39-cp39-manylinux1_i686.whl (34.3 kB view details)

Uploaded CPython 3.9

time_machine-2.3.1-cp39-cp39-macosx_11_0_x86_64.whl (15.5 kB view details)

Uploaded CPython 3.9macOS 11.0+ x86-64

time_machine-2.3.1-cp39-cp39-macosx_10_9_x86_64.whl (15.5 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

time_machine-2.3.1-cp39-cp39-macosx_10_9_universal2.whl (19.2 kB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

time_machine-2.3.1-cp38-cp38-win_amd64.whl (18.6 kB view details)

Uploaded CPython 3.8Windows x86-64

time_machine-2.3.1-cp38-cp38-win32.whl (17.7 kB view details)

Uploaded CPython 3.8Windows x86

time_machine-2.3.1-cp38-cp38-manylinux2014_aarch64.whl (37.7 kB view details)

Uploaded CPython 3.8

time_machine-2.3.1-cp38-cp38-manylinux2010_x86_64.whl (37.6 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

time_machine-2.3.1-cp38-cp38-manylinux2010_i686.whl (35.6 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ i686

time_machine-2.3.1-cp38-cp38-manylinux1_x86_64.whl (37.6 kB view details)

Uploaded CPython 3.8

time_machine-2.3.1-cp38-cp38-manylinux1_i686.whl (35.6 kB view details)

Uploaded CPython 3.8

time_machine-2.3.1-cp38-cp38-macosx_10_9_x86_64.whl (15.5 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

time_machine-2.3.1-cp38-cp38-macosx_10_9_universal2.whl (19.1 kB view details)

Uploaded CPython 3.8macOS 10.9+ universal2 (ARM64, x86-64)

time_machine-2.3.1-cp37-cp37m-win_amd64.whl (18.5 kB view details)

Uploaded CPython 3.7mWindows x86-64

time_machine-2.3.1-cp37-cp37m-win32.whl (17.6 kB view details)

Uploaded CPython 3.7mWindows x86

time_machine-2.3.1-cp37-cp37m-manylinux2014_aarch64.whl (35.6 kB view details)

Uploaded CPython 3.7m

time_machine-2.3.1-cp37-cp37m-manylinux2010_x86_64.whl (35.2 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

time_machine-2.3.1-cp37-cp37m-manylinux2010_i686.whl (33.4 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ i686

time_machine-2.3.1-cp37-cp37m-manylinux1_x86_64.whl (35.2 kB view details)

Uploaded CPython 3.7m

time_machine-2.3.1-cp37-cp37m-manylinux1_i686.whl (33.4 kB view details)

Uploaded CPython 3.7m

time_machine-2.3.1-cp37-cp37m-macosx_10_9_x86_64.whl (15.3 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

time_machine-2.3.1-cp36-cp36m-win_amd64.whl (18.3 kB view details)

Uploaded CPython 3.6mWindows x86-64

time_machine-2.3.1-cp36-cp36m-win32.whl (17.5 kB view details)

Uploaded CPython 3.6mWindows x86

time_machine-2.3.1-cp36-cp36m-manylinux2014_aarch64.whl (33.1 kB view details)

Uploaded CPython 3.6m

time_machine-2.3.1-cp36-cp36m-manylinux2010_x86_64.whl (32.7 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

time_machine-2.3.1-cp36-cp36m-manylinux2010_i686.whl (31.3 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ i686

time_machine-2.3.1-cp36-cp36m-manylinux1_x86_64.whl (32.7 kB view details)

Uploaded CPython 3.6m

time_machine-2.3.1-cp36-cp36m-manylinux1_i686.whl (31.3 kB view details)

Uploaded CPython 3.6m

time_machine-2.3.1-cp36-cp36m-macosx_10_9_x86_64.whl (15.1 kB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

File details

Details for the file time-machine-2.3.1.tar.gz.

File metadata

  • Download URL: time-machine-2.3.1.tar.gz
  • Upload date:
  • Size: 22.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time-machine-2.3.1.tar.gz
Algorithm Hash digest
SHA256 286aee773a9d81e41a1b36e3d74d9da176d25a636456cdb0234b3a26d29f23f7
MD5 ac7b2d4b8831040369c2847c19bcafa8
BLAKE2b-256 c0cc77cc3df4d4318112ea2e98cdd0c32f3dfcfe0bd948c566cc86f63d0b26c0

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4306707bd314d4066cd5d6d4ed342f75378458b40f6ece6171d3424d64904bd5
MD5 f06e833c0e60cf075ec3ca9e0861365b
BLAKE2b-256 febbc8be10eb5d59f1c889805dc6b72ddde5b142a8fbcc7eab738e3ead8431fa

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp39-cp39-win32.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp39-cp39-win32.whl
  • Upload date:
  • Size: 17.8 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 3257e124b8a4a125594eec62f47ce79531c637e16c97f6aac2db29ea91045051
MD5 7b2798c65e95399399f5ead1b0b216e4
BLAKE2b-256 ebff8076a34f04d82445fd5339779b8fa5462b03b81ee2c24ec64feff3efb40f

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp39-cp39-manylinux2014_aarch64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp39-cp39-manylinux2014_aarch64.whl
  • Upload date:
  • Size: 36.3 kB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp39-cp39-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6983990742affec04c894ba9a9bb7e7ecf642cebc74e28de2ae76c5f8d68e03f
MD5 867df9b49d1376e0c68b84dbb64e25d2
BLAKE2b-256 449fa41007d9e14f3ad14fa30019eca732221a1b48ca0c14f67194a18bc4603a

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 36.2 kB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 18c2d5f4483011dee2883b330e8c17b172e813b655d40f0ac9b0d43e3bf66c7d
MD5 1acbbae0235616c6e3745449dfc55986
BLAKE2b-256 45b5a0e8e02b2c4e5c070aaa221aadf323248fbe21a70e6aceb2f622510b58c4

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp39-cp39-manylinux2010_i686.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp39-cp39-manylinux2010_i686.whl
  • Upload date:
  • Size: 34.3 kB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp39-cp39-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 8783aa1eb57c82c25095f89f0f442927f84d4b93d8cab416a80f3f51beca9cd0
MD5 f85873fb0b6f470bf496d480cc1f42b0
BLAKE2b-256 b5206d0382fb36fb16ca84b606de71e703144f782ad87ed809e5eae2b52b3220

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp39-cp39-manylinux1_x86_64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp39-cp39-manylinux1_x86_64.whl
  • Upload date:
  • Size: 36.2 kB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp39-cp39-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 bb5ab5ebbf04606cbc48dc0f8019aa58ab3c8b174a9ac7829a9c366a702ffd25
MD5 441858f59d856de88c348d90f3867659
BLAKE2b-256 72ae2f5691c0364e83fe56e6bd892d4fe5438a619edea6ec9f92d91a8b6e5fd7

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp39-cp39-manylinux1_i686.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp39-cp39-manylinux1_i686.whl
  • Upload date:
  • Size: 34.3 kB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp39-cp39-manylinux1_i686.whl
Algorithm Hash digest
SHA256 0dfd46e9227054f03f426422a303ddcd77f06d8cb66282b92a056512cb20a6d9
MD5 7400091b44e6c80148ca95517cbb270b
BLAKE2b-256 9e009e74d0e9167e821f0e54badeb6cc17ee5ae08167d5c147d00703e53704ef

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp39-cp39-macosx_11_0_x86_64.whl
  • Upload date:
  • Size: 15.5 kB
  • Tags: CPython 3.9, macOS 11.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 cd41f256d1e862b96a05fcceeb3e00c0c63f2c7c554d338546907b97656e54a4
MD5 531af753575e311492dd48642eef68db
BLAKE2b-256 635d6ce8048380d496d970cc9dcb17870b2f99615822153e718b836ba0c6dbee

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 15.5 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9806780cbd1046e527630379d8e3b1da823565807548b1b19fdcba491a49b0c2
MD5 34fdf36fc09b3d9213a066fd6763cf7a
BLAKE2b-256 13e4882a9027cec8d9c48c2adf6daf2044c9d9835c8501be132a83ebcb039f6c

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp39-cp39-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 19.2 kB
  • Tags: CPython 3.9, macOS 10.9+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 9300f70609888611f685cf0a7226ef605168df0bee2ae3a5608e46da055c681f
MD5 b20d3592a3ad82bd0ca7086a7d5d6509
BLAKE2b-256 c7ca2849b007e1be0b78b188ef390aa7767449ce63b95080bbd41f5c652b4bf5

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 18.6 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 783dd2445f514344442e9b772192921a765555d52bca6a3718aba4bebb895aac
MD5 065dfe598bf0c2c9390bb7e4b1f46984
BLAKE2b-256 d1cc968808bf851e2781928a84c962b309d4e3ea747464748a484916095bf422

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp38-cp38-win32.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp38-cp38-win32.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 7d6d07939cc15952cb9ab8060ee25d94ac43ec0f93a202e5bd18aec92356c928
MD5 fcbdfb77b1635b444b221afbed8e9253
BLAKE2b-256 afc47d1090b55ad50ef39bbb872bc9245e7b16d3e9f179f4b194f917af26ee03

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp38-cp38-manylinux2014_aarch64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp38-cp38-manylinux2014_aarch64.whl
  • Upload date:
  • Size: 37.7 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp38-cp38-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 147e584608f09f5010495410fcdb35f429e7c029fa79e23c0fb1f10cb4206af8
MD5 ed74793140e1c441431c2c07a70af54b
BLAKE2b-256 888ca02ed0ce0a45a62b5ca2d8f7e5fbc6d3659101adedccacb26dfa5ce36bcc

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 37.6 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 f6dbc2ee3d5ae16872555b603769bf5894fd6e2c7d281e1f4b0efcfdbed4e39d
MD5 56729b5aee95eba2f2282dcc0dd2ba7e
BLAKE2b-256 f2b23cbbd3a98814584c527d717576fb03de1a6d43a877e3205c2291fb48adf7

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp38-cp38-manylinux2010_i686.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp38-cp38-manylinux2010_i686.whl
  • Upload date:
  • Size: 35.6 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 d7ddb798af81fb7ede667da788eccb9e52bef8e0b776f9f65570929091770a07
MD5 06481d6f88df40c52b8ec226776de8ff
BLAKE2b-256 bf3b5f401447560111cb983c4f42d911b96eb80f38ff715c3fc1913a8b1e64d0

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 37.6 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6090451bfdac9808decd65472912e391b51d9f3abec548f5ffcbfa17cac418c5
MD5 3f632032ad14982aa965c6e642836d37
BLAKE2b-256 7c75ff4659a540ef4152faa69a1b8a440554941a656de76b0b1e65728e9ed89b

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp38-cp38-manylinux1_i686.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp38-cp38-manylinux1_i686.whl
  • Upload date:
  • Size: 35.6 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 efe182a14dfb004948337d68a6cf6b3822bf7f1f39958c6aa1670cbcf7923863
MD5 5e6af7159374f002e0bfab721bb0bfbd
BLAKE2b-256 39ea06c46e54c7a18a51f33a4c5dfca349caa0369255b24ada7d2958c14d762e

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 15.5 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 466d668278861d02ba001bcfa51b9f17efa30d48c26456b8d916e3374323c3e7
MD5 7547daa4f68115f1735c0e66f61c5597
BLAKE2b-256 0b6d97d9a60e9b8c1da72c0ac694dba3b8aefd4fcc011117cb42f475a122c30b

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp38-cp38-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 19.1 kB
  • Tags: CPython 3.8, macOS 10.9+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a836f0e6544f25ca7ddff1661b7ad1b483d5aece1e411f43885e3498c73cfa29
MD5 70f4f7548388d001543fdb5778178213
BLAKE2b-256 81684d3f8181c117f74258c1d16eb05b8ac43118f76a5dd7d4a0c54f002ad979

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e5dd7aa948c51db5f7da7389c9be7d14f2814ffb42d75265b6450c27c6e41dc4
MD5 f5ed253538d20ac7df67ad024c1ef25c
BLAKE2b-256 0c19689f21b65758cdf13871ebe65f8db445531464ec462d7b4ab3fef6beef7c

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp37-cp37m-win32.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 053256bf540eee0762a27f49c65785b25458bac53a72b8f26ad54428875a0024
MD5 4fc4c20831f3d765aba8d0f69a15bf13
BLAKE2b-256 8cfd260005c62c77c6220950eb6bad2337f72924464e7ec87eb59d846ad26c4f

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp37-cp37m-manylinux2014_aarch64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp37-cp37m-manylinux2014_aarch64.whl
  • Upload date:
  • Size: 35.6 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp37-cp37m-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 461b61f65d5e4789889b61bf2b2cd50a4a72c9136c457008c1501411e69c459d
MD5 db9096a89b5afdeb149a6bf65807a688
BLAKE2b-256 c309007de970fa09f4a1d62c8de696f4f5752ef6e2b077d272371a7acaec2013

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 35.2 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 b6bd8e1d92ec4296166aa08323b1b769cfadf59b271b38a84382d50368301354
MD5 f7bb33552b43662c6d4bbc931813ebdb
BLAKE2b-256 f000dd6b304cd06640cdf9ec4006150c2da78eb389733c02905e645f383f0742

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp37-cp37m-manylinux2010_i686.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 33.4 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 78259fe7e2fe20bbc43dfdb48d6c178d71fb76a34af62db71ac656628dae161a
MD5 3d74875580612bf91e7e8fa3aad9a550
BLAKE2b-256 7554e618c2d3702095eabd04993bc2dc4224b36ed2066a1d45054b51c534189f

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 35.2 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 86c4a4f809289035772cfe324bdfaaefbd7bbec8050e567caeafe656a6d0d517
MD5 13b4c1fa208dffd33baca02fd55a2d8f
BLAKE2b-256 ac328198264d99e3aa7c06fbb323b2c0744ae03baad9de472dd1cf71e498514b

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp37-cp37m-manylinux1_i686.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 33.4 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 f7a16512951873ba646a16f0f8bb8925f72393a85075f772b4286b92f1bc4b1c
MD5 e2194e39653f6f1319440f694299ac4a
BLAKE2b-256 a7222528d378712712cd1afe81142765dffe3e7c01c7c510ab0a0acbee1d6d7d

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a0538df305b4c8ff2c1dbf17db98ff5aaaca4f6d10a3b87c20df425aab803201
MD5 eb1a35a41c4eb38c814d9824a4ad57ba
BLAKE2b-256 d917beb7f0a8943118ab4d2e78b62c240f282f1f7aa224b05b999811e1b47a0f

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 c01cb49904eea12623994f1bab1ef744d4ceaf1284bcb60b63fbdf1a09b9a4b4
MD5 07b6f3febce4ddb838cf6b5711c49820
BLAKE2b-256 3329d86f8f80ca6bf34998de5227154609e13e6ed716fbb63e6a2a7958eadd6d

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp36-cp36m-win32.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 17.5 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 e5c82104e113b1412b245cf63b44f50e24cc416e0f062ed12ab9fb4b8bd4c560
MD5 37649d7054a9bc7c47bb3a5c6c3c75d2
BLAKE2b-256 09b4575efc528488603c370bff0364453a94eacd6becaa19064b5c1574183eb6

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp36-cp36m-manylinux2014_aarch64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp36-cp36m-manylinux2014_aarch64.whl
  • Upload date:
  • Size: 33.1 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp36-cp36m-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7185b4db0eeb0ad1a5592452e21dc1d3f2fc206747cdde33f24799458e8ad556
MD5 525a5fb409781de67bfac8c619a59afe
BLAKE2b-256 f8e48179a576a3aa849d94da4577ee8ff988d44468fb9830a6178fe72eb7c9ec

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 32.7 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a385840cd12f5be107470835c82f7e84eb776fb02e584d7e12c64ac6a611a461
MD5 cb0a3b5152fa293ce67394007263ea96
BLAKE2b-256 17b35fdbff49a5a1968b98ece474b14806945f2de2dcd290584a6db925ef3c62

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp36-cp36m-manylinux2010_i686.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp36-cp36m-manylinux2010_i686.whl
  • Upload date:
  • Size: 31.3 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp36-cp36m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 2168fe81d509e5fae9ecfbbd69610e6f343d9a4b37944cfe9742414a2547e25e
MD5 bd4085881e2ff81ff78a31cab2627c65
BLAKE2b-256 0a6b6919de890dae926a27c6e35a45b098a619d429102164c7b79a89080d929b

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 32.7 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 cdc7fe9f22d599c6f626616d55edbc0b9a6e0ffccd79dea223f363458c9c6cb0
MD5 afc68e47e5dcca9b6601292099561581
BLAKE2b-256 2144934b31d4e36065f68775d97c63ac6faab4c90ead09621890782ac29466d1

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp36-cp36m-manylinux1_i686.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 31.3 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 6343d94614e42c96b92783ddae56e92e3b2a9939e472e15827fc0cb53674956c
MD5 81dbd683e46dff2605483d009e0a540e
BLAKE2b-256 c3576c5de5593bbe49bd30e884e6a242afd91f9ea1b3651357dccd2681f3efff

See more details on using hashes here.

File details

Details for the file time_machine-2.3.1-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: time_machine-2.3.1-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 15.1 kB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for time_machine-2.3.1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 73ebdf5867b56e94e5ac8355f7f4d5c9209bdc22c073d87fe5d583d2fe72ee02
MD5 6b9926c42b6397193c1083c2c64b6a9f
BLAKE2b-256 74ad720c9227d6964f572cbd3dc660e57467a0ecd40572b7caa56dee83983e19

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page