Python REPL plugin for automatic time tracking and metrics generated from your programming activity.
Supported REPLs:
- python:
- executes
str(sys.ps1)
after every input. - configure file:
$PYTHON_STARTUP
.
- executes
from repl_python_wakatime.python import install_hook
install_hook()
- ptpython:
- executes
get_ptpython().get_output_prompt()
after every output. - configure file:
.../ptpython/config.py
....
depends on OS.
- executes
from ptpython.repl import PythonRepl
from repl_python_wakatime.ptpython import install_hook
def configure(repl: PythonRepl) -> None:
install_hook(repl)
- ipython:
- executes
c.TerminalInteractiveShell.prompts_class(shell).out_prompt_tokens()
after every output. - configure file:
~/.ipython/profile_default/ipython_config.py
.
- executes
from repl_python_wakatime.iptpython import install_hook
install_hook(c)
- gdb:
Your gdb
must be compiled with
python port.
~/.config/gdb/gdbinit
:
source /the/path/of/repl_python_wakatime/gdb.py
See GDB Hooks to know more.
Use environment variables HOOK_NAMES=hook1:hook2
to defines which
hook will be used.
install_hook()
must be after the customization of the prompt string and best
at the end of file.
from repl_python_wakatime.python import install_hook
install_hook(hook_function, args, kwargs)
will execute hook_function(*args, **kwargs)
after every output/input. Other
REPLs are similar. Currently, hook_function
can be:
repl_python_wakatime.hooks.wakatime.wakatime_hook()
: By default.repl_python_wakatime.hooks.codestats.codestats_hook()
: for codestats- Create your hooks for other similar projects, such as:
- codetime
- rescuetime
- ...