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-togglis currently in a very early stage of development and is meant primarily for use in withha-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
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46ef2f82fbf9f8a4087d824f927c4d749d01bb9c4ec3d4bac9251623fe3f9f4f
|
|
| MD5 |
2e1203011913f59e264ac79d2d98ceb5
|
|
| BLAKE2b-256 |
9c162bdfaa0499093f94d917788757e4a478b985250a5e853da3da50a2353f6b
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a07cd0c90e98eeaa5c8c6706b9caf32561fa9ac4617db71dbcc426a89cb7902
|
|
| MD5 |
642140e0d300e0dbc4359660f8d6d71b
|
|
| BLAKE2b-256 |
d8c625f5e10dbc5a3226b35caf5ef122a33be2bb1fa39ca41a7699b9a3b00f19
|