Simple Toggl API wrapper for non-premium features.
Project description
Python Toggl API Wrapper
Simple Toggl API wrapper for non-premium features primarily focused on creating a cached framework for developing custom commands.
Installation
Install with pip:
pip install toggl-api-wrapper
Or if using SQLite cache:
pip install "toggl-api-wrapper[sqlite]"
Usage
- Currently supports interacting with Trackers, Projects, Clients, Tags, Reports and some extras.
- Designed to be rudimentary to allow simple development of custom commands.
Examples
Tracker Endpoint
from datetime import timedelta
from pathlib import Path
from toggl_api import (
TrackerBody,
TrackerEndpoint,
generate_authentication,
JSONCache
)
WORKSPACE_ID = 2313123123
AUTH = generate_authentication()
cache = JSONCache(Path("cache"), timedelta(hours=24))
endpoint = TrackerEndpoint(WORKSPACE_ID, AUTH, cache)
body = TrackerBody("My First Tracker", tags=["My First Tag"])
tracker = endpoint.add(body)
print(tracker)
Outputs:
>>> TogglTracker(
id=3482231563,
name="My First Tracker",
workspace=2313123123,
start=datetime.datetime(2024, 6, 10, 14, 59, 20, tzinfo=datetime.timezone.utc),
duration=datetime.timedelta(seconds=1, microseconds=179158),
stop=None,
project=None,
tags=[],
)
User Endpoint
from datetime import timedelta
from pathlib import Path
from toggl_api import (
UserEndpoint,
generate_authentication,
JSONCache,
)
from toggl_api.config import retrieve_workspace_id
WORKSPACE_ID = retrieve_workspace_id()
AUTH = generate_authentication()
cache = JSONCache(Path("cache"), timedelta(weeks=1))
endpoint = UserEndpoint(workspace_id, AUTH, CACHE)
tracker = endpoint.get(3482231563, refresh=True)
print(tracker)
Outputs:
>>> TogglTracker(
id=3482231563,
name="My First Tracker",
workspace=2313123123,
start=datetime.datetime(2024, 6, 10, 14, 59, 20, tzinfo=datetime.timezone.utc),
duration=datetime.timedelta(seconds=1, microseconds=179158),
stop=None,
project=None,
tags=[],
)
Documentation
Contributing
See CONTRIBUTING.
License
MIT. Check LICENSE for more information.
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
toggl_api_wrapper-1.4.0.tar.gz
(36.7 kB
view details)
Built Distribution
File details
Details for the file toggl_api_wrapper-1.4.0.tar.gz
.
File metadata
- Download URL: toggl_api_wrapper-1.4.0.tar.gz
- Upload date:
- Size: 36.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.1 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52f91dee9334485d61cabb6b572766be75c1bd0bfbdf376fb8dde180b0f0d851 |
|
MD5 | 0ab25057028d231704431756f03196a0 |
|
BLAKE2b-256 | 8e0e041ed16ae3f53acad8d2a1cd7abc8ab81e5077fbb64eb46c7ae2e8769381 |
File details
Details for the file toggl_api_wrapper-1.4.0-py3-none-any.whl
.
File metadata
- Download URL: toggl_api_wrapper-1.4.0-py3-none-any.whl
- Upload date:
- Size: 48.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.1 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1627234ab8ed39dc8d7ae5a5e811d95e16cbfe29d6c5cdadde83fc134229671d |
|
MD5 | 01c5796759edf8ce838afa2fdad0aca8 |
|
BLAKE2b-256 | 8a41e798a94625ade420bfbacfbd0e1c8b43cdfb42583401ca2246dc45e3bbce |