Skip to main content

Fast, easy, pretty and readable program instrumentation.

Project description

Kepler

Wish you could see stuff like this about your program?

image

Kepler meticulously tracks your program, and creates simply and easily readable reports to help you understand what they're doing.

Kepler is not a replacement for a good profiling tool, nor is it necessarily a great production implementation tool. Kepler is designed to be that go-to tool in your toolbelt for quick and dirty measurements of your programs.

Installing Kepler

pip install kepler

Kepler in action

The first thing you should do with Kepler is annotate a function or two you want to time with @kepler.time, and then add a kepler.report() call to your amin function.

Here's the script that produced the screenshot above:

import kepler, random, time

@kepler.time("do some stuff")
def do_some_stuff():
    split = kepler.stopwatch("watch")
    for i in kepler.time("loop", range(20)):
        with kepler.time("sleep"):
            time.sleep(random.random() / 100)
        if i % 2 == 1:
            with kepler.time("overhead"):
                split("odd")
        else:
            with kepler.time("overhead"):
                split("even")

@kepler.time
def main():
    with kepler.time("sloooow"):
        time.sleep(0.3)
    do_some_stuff()

main
kepler.report()

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

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

Source Distribution

kepler_lib-0.1.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

kepler_lib-0.1-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file kepler_lib-0.1.tar.gz.

File metadata

  • Download URL: kepler_lib-0.1.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.8

File hashes

Hashes for kepler_lib-0.1.tar.gz
Algorithm Hash digest
SHA256 84d71bac84c5c63eb364d6a03d9a62b2f40f265af129898774c8c7f84a53c6a3
MD5 ec1dc9b3c398a524f3af71a168517aef
BLAKE2b-256 2dbd1244990d7574f93dbd1cbce7d13b244a897fca167243372355036b27658e

See more details on using hashes here.

File details

Details for the file kepler_lib-0.1-py3-none-any.whl.

File metadata

  • Download URL: kepler_lib-0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.8

File hashes

Hashes for kepler_lib-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dcc401669cd6f1c07a5c1f2a458f28386b1bed2a8886de8c8a9be433d0a2c4aa
MD5 b155b558d82800f57cccde7aebd1615c
BLAKE2b-256 84f451aa4d5ee137173ee560ab12b82ef7dbed3ac57c8509aa5876bf83692bf1

See more details on using hashes here.

Supported by

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