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 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.
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.
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 poetry
driven...
Create a virtual environment for the project.
❯ poetry env use -- python3
Creating virtualenv togglpy in /home/karl/projects/ha-dev/TogglPy/.venv
Using virtualenv: /home/karl/projects/ha-dev/TogglPy/.venv
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.
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
The table of contents in readme.md
is updated with doctoc
❯ docker run --rm -v "$(pwd)":/app peterdavehello/npm-doctoc doctoc /app/README.md
<...>
- 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