Skip to main content

Asynchronous Python library for the Toggl API.

Project description

lib-toggl

lib-toggl is a Python library for interacting with the Toggl API. It exists because I figured it'd be easier to start fresh instead of update TogglPy to use the new v9 API and the other changes needed for better Home Assistant integration.

[!NOTE] lib-toggl is currently in a very early stage of development and is meant primarily for use in with ha-toggl-track. There are other, better Python based API clients for toggl track. You should probably use one of those instead.

Seriously, the number of #TODO: comments in this code is ridiculous.

As this library is mostly meant for use with Home Assistant, it's written to be compatible with Python 3.11+ and is mostly async based with strong-ish typing. It is absolutely not meant to be a complete implementation of the Toggl API; it does just enough forha-toggl-track and that's about it.

Using

More formal docs to be added. Tests are also needed!

For now, see the scripts directory for a quick example of how to use the library.

Dev

I use VSCode for development so there's a .vscode directory with some settings that I use. Most of the extensions and configuration directives there should be easy to port to your preferred editor / IDE as needed.

Pretty simple setup; it's all uv driven...

Create a virtual environment for the project.

 uv venv --python 3.13
Using CPython 3.13.0 interpreter at: /opt/homebrew/opt/python@3.13/bin/python3.13
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate
❯ source .venv/bin/activate

Use autoenv to automatically activate the virtual environment when you enter the project directory.

 cd TogglPy
Switching virtualenv: .venv [🐍Python 3.11.6] which python
/home/karl/projects/ha-dev/TogglPy/.venv/bin/python

Don't forget to install pre-commit hooks.

pre-commit

Assuming you've installed the pre-commit tool, just run the following to install the git hooks:

 pre-commit install
pre-commit installed at .git/hooks/pre-commit

doctoc

The table of contents in readme.md is updated with doctoc

 docker run --rm -v "$(pwd)":/app peterdavehello/npm-doctoc doctoc /app/README.md
<...>

TODO

  • pre-commit hooks
  • Tests
  • CI/CD/GHA automation for testing and pypi release
  • Devcontainers (for VSCode) so the dev environment is more portable / easier to set up

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

lib_toggl-0.2.4.tar.gz (103.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lib_toggl-0.2.4-py3-none-any.whl (29.5 kB view details)

Uploaded Python 3

File details

Details for the file lib_toggl-0.2.4.tar.gz.

File metadata

  • Download URL: lib_toggl-0.2.4.tar.gz
  • Upload date:
  • Size: 103.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for lib_toggl-0.2.4.tar.gz
Algorithm Hash digest
SHA256 07013398a104cd73a2c0ea5c5d0a94ba3f8866ae50ea2bcd9e91b4ba60c9a174
MD5 785dc0d646d081697b0e880ac26ab5f8
BLAKE2b-256 4096fb29b781f888ef6fe3575b82d03a190196a2874ac0cf8a147c63994106cf

See more details on using hashes here.

File details

Details for the file lib_toggl-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: lib_toggl-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 29.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for lib_toggl-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 64b9a9f8a3af305e8d5bdfad58cd810bfd702ebbc0cd4a804a6d01b2e4d53c34
MD5 e8e8e5ede039d2758a61fe79e385c717
BLAKE2b-256 f5cb764f1597ab387683f49700bc9d553582b24dd4398c09b1d8627811746aa8

See more details on using hashes here.

Supported by

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