Fast, easy, pretty and readable program instrumentation.
Project description
Kepler
Wish you could see stuff like this about your program?
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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84d71bac84c5c63eb364d6a03d9a62b2f40f265af129898774c8c7f84a53c6a3 |
|
MD5 | ec1dc9b3c398a524f3af71a168517aef |
|
BLAKE2b-256 | 2dbd1244990d7574f93dbd1cbce7d13b244a897fca167243372355036b27658e |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcc401669cd6f1c07a5c1f2a458f28386b1bed2a8886de8c8a9be433d0a2c4aa |
|
MD5 | b155b558d82800f57cccde7aebd1615c |
|
BLAKE2b-256 | 84f451aa4d5ee137173ee560ab12b82ef7dbed3ac57c8509aa5876bf83692bf1 |