Skip to content

Examples

  • With environment variables setup correctly.

Tracker Example

from datetime import timedelta
from pathlib import Path

from toggl_api import (
    SqliteCache,
    TrackerBody,
    TrackerEndpoint,
    generate_authentication,
)

workspace_id = 2313123123
auth = generate_authentication()
cache = SqliteCache(Path("cache"), timedelta(hours=24))
endpoint = TrackerEndpoint(workspace_id, auth, cache)

body = TrackerBody(workspace_id, "My First Tracker", tags=["My First Tag"])
tracker = endpoint.add_tracker(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=[],
    )

Project Example

from datetime import timedelta
from pathlib import Path

from toggl_api import (
    JSONCache,
    ProjectBody,
    ProjectEndpoint,
    generate_authentication,
)

workspace_id = 2313123123
auth = generate_authentication()
cache = JSONCache(Path("cache"), timedelta(hours=24))
endpoint = ProjectEndpoint(workspace_id, auth, cache)

color = ProjectEndpoint.get_color("red")
body = ProjectBody(
    workspace_id,
    "My First Project",
    client_name="My First Client",
    color=color,
)
project = endpoint.add_project(body)
print(project)
Outputs:
>>> TogglProject(
        id=203366783, 
        name='My First Project', 
        workspace=2313123123,
        color='#d92b2b',
        client=65298912,
        active=True,
    )

Applications Using Toggl API Wrapper