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.2.tar.gz (102.5 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.2-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lib_toggl-0.2.2.tar.gz
  • Upload date:
  • Size: 102.5 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.2.tar.gz
Algorithm Hash digest
SHA256 46ef2f82fbf9f8a4087d824f927c4d749d01bb9c4ec3d4bac9251623fe3f9f4f
MD5 2e1203011913f59e264ac79d2d98ceb5
BLAKE2b-256 9c162bdfaa0499093f94d917788757e4a478b985250a5e853da3da50a2353f6b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lib_toggl-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 29.6 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7a07cd0c90e98eeaa5c8c6706b9caf32561fa9ac4617db71dbcc426a89cb7902
MD5 642140e0d300e0dbc4359660f8d6d71b
BLAKE2b-256 d8c625f5e10dbc5a3226b35caf5ef122a33be2bb1fa39ca41a7699b9a3b00f19

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