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 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.

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.1.9.tar.gz (27.3 kB view details)

Uploaded Source

Built Distribution

lib_toggl-0.1.9-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lib_toggl-0.1.9.tar.gz
  • Upload date:
  • Size: 27.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.6 Linux/6.11.2-4-MANJARO

File hashes

Hashes for lib_toggl-0.1.9.tar.gz
Algorithm Hash digest
SHA256 5459cc29a519e87fc2e06c1abb995cf25aecc8f21a8803ca78332d5aa5d72eb4
MD5 603f4db980ac5b2ae0596d330448c5b1
BLAKE2b-256 dc313947a052b9a96f4cee80a39f673a361b2ac8e9e8769af93a545e1db19ab7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lib_toggl-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 29.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.6 Linux/6.11.2-4-MANJARO

File hashes

Hashes for lib_toggl-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 49b078825ee1c618ec74c0725f426ecd1e7b5d38207841830bbaa7c4d4696ece
MD5 c0c21c6863dd0dfe8c58f6a4ad53ac31
BLAKE2b-256 30779def512b42dd0c84975c4dec69f5805200343fa6f4fb5f9757cb3ab43c53

See more details on using hashes here.

Supported by

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