repl-python-wakatime

pre-commit.ci status github/workflow codecov readthedocs

github/downloads github/downloads/latest github/issues github/issues-closed github/issues-pr github/issues-pr-closed github/discussions github/milestones github/forks github/stars github/watchers github/contributors github/commit-activity github/last-commit github/release-date

github/license github/languages github/languages/top github/directory-file-count github/code-size github/repo-size github/v

pypi/status pypi/v pypi/downloads pypi/format pypi/implementation pypi/pyversions

Python REPL plugin for automatic time tracking and metrics generated from your programming activity.

screenshot

Supported REPLs:

from repl_python_wakatime.python import install_hook

install_hook()
  • [x] ptpython:

    • executes get_ptpython().get_output_prompt() after every output.

    • configure file: .../ptpython/config.py. ... depends on OS.

from ptpython.repl import PythonRepl
from repl_python_wakatime.ptpython import install_hook


def configure(repl: PythonRepl) -> None:
    install_hook(repl)
  • [x] ipython:

    • executes c.TerminalInteractiveShell.prompts_class(shell).out_prompt_tokens() after every output.

    • configure file: ~/.ipython/profile_default/ipython_config.py.

from repl_python_wakatime.iptpython import install_hook

install_hook(c)

install_hook() must be after the customization of the prompt string and best at the end of file.

Configure

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:

Similar projects