Skip to main content

Python timer module for humans.

Project description

Simple python module for mark time.

Inspired by two functions from node.js:

Main features:

  • easy to use

  • no external dependencies

  • 100% test coverage

  • works with Python 2.7 and 3.3


$ pip install marktime
import marktime

marktime.start('some task')
marktime.start('some another task')

marktime.stop('some task')

marktime.stop('some another task').seconds

marktime.duration('some another task').msecs

marktime.start('some task # 3')

with marktime.stopwatch('some task # 4'):

import json
print json.dumps(marktime.labels, indent=4)
    "some another task": {
        "duration": 14.805735111236572,
        "start_time": 1370453758.064955,
        "end_time": 1370453772.87069
    "some task # 3": {
        "start_time": 1370453892.025603,
        "end_time": None
    "some task # 4": {
        "duration": 1.00120210647583,
        "start_time": 1370638027.000799,
        "end_time": 1370638028.002001
    "some task": {
        "duration": 8.757422924041748,
        "start_time": 1370453753.185846,
        "end_time": 1370453761.943269


  • marktime.start (label, at=None)

    • label — marker label. String. Required.

    • at — time to start the countdown. If None then uses time.time().

  • marktime.stop (label, remove_from_labels=False, stop_once=True)

    • label — marker label. String. Required.

    • at — time to stop the countdown. If None then uses time.time()

    • remove_from_labels — if True then label removed from global dict marktime.labels.

    • stop_once — if False and the countdown for the certain label is allready stopped thet it stopped it again. And thereafter the duration for the certain label will be increased.

  • marktime.duration (label, stop_it=True, stop_at=None)

    • label — marker label. String. Required.

    • stop_it — if True then the countdown for the certain label will be stopped. If False and the countdown for the certain label is not stopped then returns None.

    • stop_at — passed into stop function if stop_it == True

  • marktime.stopwatch (label) — context manager (with statement support)

  • marktime.labels — global dict that stores all the labels for time markers.


See LICENSE file.

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

marktime-0.2.0.tar.gz (3.2 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page