REST API for accessing your WakaTime coding activity stats.
Project description
wakatime-api
REST API for accessing your WakaTime coding activity stats. - Uses GET for retrieval, POST/PUT/PATCH for modification. - All requests must use HTTPS. - Responses are JSON objects. Data is in the data key, errors in error or errors. - Refer to WakaTime usage guidelines when using the trademark or logo.
This Python package is automatically generated by the Swagger Codegen project:
- API version: v1
- Package version: 1.0.0
- Build package: io.swagger.codegen.v3.generators.python.PythonClientCodegen For more information, please visit https://wakatime.com/contact
Requirements.
Python 2.7 and 3.4+
Installation & Usage
pip install
If the python package is hosted on Github, you can install directly from Github
pip install wakatime-api
(you may need to run pip with root permission: sudo pip install wakatime-api)
Then import the package:
import wakatime_api
Getting Started
Please follow the installation procedure and then run the following:
from __future__ import print_function
import time
import wakatime_api
from wakatime_api.rest import ApiException
from pprint import pprint
# Configure API key authorization: apiKeyQuery
configuration = wakatime_api.Configuration()
configuration.api_key['api_key'] = 'YOUR_API_KEY'
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['api_key'] = 'Bearer'# Configure HTTP basic authorization: basicAuth
configuration = wakatime_api.Configuration()
configuration.username = 'YOUR_USERNAME'
configuration.password = 'YOUR_PASSWORD'
# Configure OAuth2 access token for authorization: oauth2
configuration = wakatime_api.Configuration()
configuration.access_token = 'YOUR_ACCESS_TOKEN'
# create an instance of the API class
api_instance = wakatime_api.CommitsApi(wakatime_api.ApiClient(configuration))
user = 'user_example' # str | User ID or 'current' for the authenticated user.
project = 'project_example' # str | Project ID or name (URL encoded).
hash = 'hash_example' # str | Commit hash.
branch = 'branch_example' # str | Filter by branch name. (optional)
try:
# Get Single Commit
api_response = api_instance.get_commit(user, project, hash, branch=branch)
pprint(api_response)
except ApiException as e:
print("Exception when calling CommitsApi->get_commit: %s\n" % e)
# Configure API key authorization: apiKeyQuery
configuration = wakatime_api.Configuration()
configuration.api_key['api_key'] = 'YOUR_API_KEY'
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['api_key'] = 'Bearer'# Configure HTTP basic authorization: basicAuth
configuration = wakatime_api.Configuration()
configuration.username = 'YOUR_USERNAME'
configuration.password = 'YOUR_PASSWORD'
# Configure OAuth2 access token for authorization: oauth2
configuration = wakatime_api.Configuration()
configuration.access_token = 'YOUR_ACCESS_TOKEN'
# create an instance of the API class
api_instance = wakatime_api.CommitsApi(wakatime_api.ApiClient(configuration))
project = 'project_example' # str | Project ID or name (URL encoded).
hash = 'hash_example' # str | Commit hash.
branch = 'branch_example' # str | Filter by branch name. (optional)
try:
# Get Current User's Single Commit
api_response = api_instance.get_current_user_commit(project, hash, branch=branch)
pprint(api_response)
except ApiException as e:
print("Exception when calling CommitsApi->get_current_user_commit: %s\n" % e)
# Configure API key authorization: apiKeyQuery
configuration = wakatime_api.Configuration()
configuration.api_key['api_key'] = 'YOUR_API_KEY'
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['api_key'] = 'Bearer'# Configure HTTP basic authorization: basicAuth
configuration = wakatime_api.Configuration()
configuration.username = 'YOUR_USERNAME'
configuration.password = 'YOUR_PASSWORD'
# Configure OAuth2 access token for authorization: oauth2
configuration = wakatime_api.Configuration()
configuration.access_token = 'YOUR_ACCESS_TOKEN'
# create an instance of the API class
api_instance = wakatime_api.CommitsApi(wakatime_api.ApiClient(configuration))
user = 'user_example' # str | User ID or 'current' for the authenticated user.
project = 'project_example' # str | Project ID or name (URL encoded).
author = 'author_example' # str | Filter commits by author username. (optional)
branch = 'branch_example' # str | Filter by branch name. (optional)
page = 1 # int | Page number for paginated results. (optional) (default to 1)
try:
# List Project Commits
api_response = api_instance.list_commits(user, project, author=author, branch=branch, page=page)
pprint(api_response)
except ApiException as e:
print("Exception when calling CommitsApi->list_commits: %s\n" % e)
# Configure API key authorization: apiKeyQuery
configuration = wakatime_api.Configuration()
configuration.api_key['api_key'] = 'YOUR_API_KEY'
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['api_key'] = 'Bearer'# Configure HTTP basic authorization: basicAuth
configuration = wakatime_api.Configuration()
configuration.username = 'YOUR_USERNAME'
configuration.password = 'YOUR_PASSWORD'
# Configure OAuth2 access token for authorization: oauth2
configuration = wakatime_api.Configuration()
configuration.access_token = 'YOUR_ACCESS_TOKEN'
# create an instance of the API class
api_instance = wakatime_api.CommitsApi(wakatime_api.ApiClient(configuration))
project = 'project_example' # str | Project ID or name (URL encoded).
author = 'author_example' # str | Filter commits by author username. (optional)
branch = 'branch_example' # str | Filter by branch name. (optional)
page = 1 # int | Page number for paginated results. (optional) (default to 1)
try:
# List Current User's Project Commits
api_response = api_instance.list_current_user_commits(project, author=author, branch=branch, page=page)
pprint(api_response)
except ApiException as e:
print("Exception when calling CommitsApi->list_current_user_commits: %s\n" % e)
Documentation for API Endpoints
All URIs are relative to https://api.wakatime.com/api/v1
| Class | Method | HTTP request | Description |
|---|---|---|---|
| CommitsApi | get_commit | GET /users/{user}/projects/{project}/commits/{hash} | Get Single Commit |
| CommitsApi | get_current_user_commit | GET /users/current/projects/{project}/commits/{hash} | Get Current User's Single Commit |
| CommitsApi | list_commits | GET /users/{user}/projects/{project}/commits | List Project Commits |
| CommitsApi | list_current_user_commits | GET /users/current/projects/{project}/commits | List Current User's Project Commits |
| DataDumpsApi | create_current_user_data_dump | POST /users/current/data_dumps | Create Current User's Data Dump |
| DataDumpsApi | create_data_dump | POST /users/{user}/data_dumps | Create Data Dump |
| DataDumpsApi | list_current_user_data_dumps | GET /users/current/data_dumps | List Current User's Data Dumps |
| DataDumpsApi | list_data_dumps | GET /users/{user}/data_dumps | List Data Dumps |
| DurationsApi | get_current_user_durations | GET /users/current/durations | Get Current User Durations |
| DurationsApi | get_user_durations | GET /users/{user}/durations | Get User Durations |
| ExternalDurationsApi | create_current_user_external_duration | POST /users/current/external_durations | Create Current User External Duration |
| ExternalDurationsApi | create_current_user_external_durations_bulk | POST /users/current/external_durations.bulk | Create Current User External Durations (Bulk) |
| ExternalDurationsApi | create_external_duration | POST /users/{user}/external_durations | Create External Duration |
| ExternalDurationsApi | create_external_durations_bulk | POST /users/{user}/external_durations.bulk | Create External Durations (Bulk) |
| ExternalDurationsApi | delete_current_user_external_durations_bulk | DELETE /users/current/external_durations.bulk | Delete Current User External Durations (Bulk) |
| ExternalDurationsApi | delete_external_durations_bulk | DELETE /users/{user}/external_durations.bulk | Delete External Durations (Bulk) |
| ExternalDurationsApi | get_current_user_external_durations | GET /users/current/external_durations | Get Current User External Durations |
| ExternalDurationsApi | get_user_external_durations | GET /users/{user}/external_durations | Get User External Durations |
| GoalsApi | get_current_user_goal | GET /users/current/goals/{goal} | Get Current User's Single Goal |
| GoalsApi | get_goal | GET /users/{user}/goals/{goal} | Get Single Goal |
| GoalsApi | list_current_user_goals | GET /users/current/goals | List Current User Goals |
| GoalsApi | list_goals | GET /users/{user}/goals | List User Goals |
| HeartbeatsApi | create_current_user_heartbeat | POST /users/current/heartbeats | Create Current User Heartbeat |
| HeartbeatsApi | create_current_user_heartbeats_bulk | POST /users/current/heartbeats.bulk | Create Current User Heartbeats (Bulk) |
| HeartbeatsApi | create_heartbeat | POST /users/{user}/heartbeats | Create Heartbeat |
| HeartbeatsApi | create_heartbeats_bulk | POST /users/{user}/heartbeats.bulk | Create Heartbeats (Bulk) |
| HeartbeatsApi | delete_current_user_heartbeats_bulk | DELETE /users/current/heartbeats.bulk | Delete Current User Heartbeats (Bulk) |
| HeartbeatsApi | delete_heartbeats_bulk | DELETE /users/{user}/heartbeats.bulk | Delete Heartbeats (Bulk) |
| HeartbeatsApi | get_current_user_heartbeats | GET /users/current/heartbeats | Get Current User Heartbeats |
| HeartbeatsApi | get_user_heartbeats | GET /users/{user}/heartbeats | Get User Heartbeats |
| InsightsApi | get_current_user_insight | GET /users/current/insights/{insight_type}/{range} | Get Current User Insight |
| InsightsApi | get_user_insight | GET /users/{user}/insights/{insight_type}/{range} | Get User Insight |
| LeaderboardsApi | get_current_user_private_leaderboard_leaders | GET /users/current/leaderboards/{board} | Get Current User's Private Leaderboard Leaders |
| LeaderboardsApi | get_leaders | GET /leaders | Get Public Leaders |
| LeaderboardsApi | get_private_leaderboard_leaders | GET /users/{user}/leaderboards/{board} | Get Private Leaderboard Leaders |
| LeaderboardsApi | list_current_user_private_leaderboards | GET /users/current/leaderboards | List Current User Private Leaderboards |
| LeaderboardsApi | list_private_leaderboards | GET /users/{user}/leaderboards | List User Private Leaderboards |
| MetaApi | get_meta | GET /meta | Get API Meta Information |
| OrganizationsApi | get_current_user_org_dashboard_durations | GET /users/current/orgs/{org}/dashboards/{dashboard}/durations | Get Current User's Org Dashboard Durations |
| OrganizationsApi | get_current_user_org_dashboard_member_durations | GET /users/current/orgs/{org}/dashboards/{dashboard}/members/{member}/durations | Get Current User's Org Dashboard Member Durations |
| OrganizationsApi | get_current_user_org_dashboard_member_summaries | GET /users/current/orgs/{org}/dashboards/{dashboard}/members/{member}/summaries | Get Current User's Org Dashboard Member Summaries |
| OrganizationsApi | get_current_user_org_dashboard_summaries | GET /users/current/orgs/{org}/dashboards/{dashboard}/summaries | Get Current User's Org Dashboard Summaries |
| OrganizationsApi | get_org_dashboard_durations | GET /users/{user}/orgs/{org}/dashboards/{dashboard}/durations | Get Org Dashboard Durations |
| OrganizationsApi | get_org_dashboard_member_durations | GET /users/{user}/orgs/{org}/dashboards/{dashboard}/members/{member}/durations | Get Org Dashboard Member Durations |
| OrganizationsApi | get_org_dashboard_member_summaries | GET /users/{user}/orgs/{org}/dashboards/{dashboard}/members/{member}/summaries | Get Org Dashboard Member Summaries |
| OrganizationsApi | get_org_dashboard_summaries | GET /users/{user}/orgs/{org}/dashboards/{dashboard}/summaries | Get Org Dashboard Summaries |
| OrganizationsApi | list_current_user_org_dashboard_members | GET /users/current/orgs/{org}/dashboards/{dashboard}/members | List Current User's Org Dashboard Members |
| OrganizationsApi | list_current_user_org_dashboards | GET /users/current/orgs/{org}/dashboards | List Current User's Org Dashboards |
| OrganizationsApi | list_current_user_orgs | GET /users/current/orgs | List Current User Organizations |
| OrganizationsApi | list_org_dashboard_members | GET /users/{user}/orgs/{org}/dashboards/{dashboard}/members | List Org Dashboard Members |
| OrganizationsApi | list_org_dashboards | GET /users/{user}/orgs/{org}/dashboards | List Org Dashboards |
| OrganizationsApi | list_orgs | GET /users/{user}/orgs | List User Organizations |
| ProjectsApi | list_current_user_projects | GET /users/current/projects | List Current User Projects |
| ProjectsApi | list_projects | GET /users/{user}/projects | List User Projects |
| ResourcesApi | list_editors | GET /editors | List Editors |
| ResourcesApi | list_program_languages | GET /program_languages | List Programming Languages |
| StatsApi | get_aggregate_stats | GET /stats/{range} | Get Aggregate Stats |
| StatsApi | get_all_time_since_today | GET /users/{user}/all_time_since_today | Get All Time Since Today |
| StatsApi | get_current_user_all_time_since_today | GET /users/current/all_time_since_today | Get Current User's All Time Since Today |
| StatsApi | get_current_user_stats_default_range | GET /users/current/stats | Get Current User Stats (Default Range) |
| StatsApi | get_current_user_stats_for_range | GET /users/current/stats/{range} | Get Current User Stats (Specific Range) |
| StatsApi | get_user_stats_default_range | GET /users/{user}/stats | Get User Stats (Default Range) |
| StatsApi | get_user_stats_for_range | GET /users/{user}/stats/{range} | Get User Stats (Specific Range) |
| SummariesApi | get_current_user_status_bar_summary | GET /users/current/status_bar/today | Get Current User Status Bar Summary (Today) |
| SummariesApi | get_current_user_summaries | GET /users/current/summaries | Get Current User Summaries |
| SummariesApi | get_user_status_bar_summary | GET /users/{user}/status_bar/today | Get User Status Bar Summary (Today) |
| SummariesApi | get_user_summaries | GET /users/{user}/summaries | Get User Summaries |
| UsersApi | get_current_user | GET /users/current | Get Current User Details |
| UsersApi | get_user | GET /users/{user} | Get User Details |
| UsersApi | list_current_user_agents | GET /users/current/user_agents | List Current User Agents |
| UsersApi | list_current_user_machine_names | GET /users/current/machine_names | List Current User Machine Names |
| UsersApi | list_machine_names | GET /users/{user}/machine_names | List User Machine Names |
| UsersApi | list_user_agents | GET /users/{user}/user_agents | List User Agents |
Documentation For Models
- AggregateDailyAverage
- AggregateStatCount
- AggregateStatItem
- AggregateStatValue
- AggregateStats
- AggregateTotal
- AllTimeSinceToday
- BranchStat
- BulkDeleteRequest
- CategoryStat
- City
- Commit
- CommitDetailResponse
- CommitsListResponse
- CumulativeTotal
- DailyAverage
- DataDump
- DataDumpRequest
- DependencyStat
- Duration
- DurationsResponse
- EditorResource
- EditorStat
- EntityStat
- Error
- ExternalDuration
- ExternalDurationRequest
- ExternalDurationsResponse
- Goal
- GoalChartData
- GoalDetailResponse
- GoalSharedWith
- GoalSubscriber
- GoalsListResponse
- GrandTotal
- Heartbeat
- HeartbeatPostResponseData
- HeartbeatRequest
- HeartbeatsResponse
- InlineResponse200
- InlineResponse2001
- InlineResponse20010
- InlineResponse2002
- InlineResponse2003
- InlineResponse2004
- InlineResponse2005
- InlineResponse2006
- InlineResponse2007
- InlineResponse2008
- InlineResponse2009
- InlineResponse201
- InlineResponse2011
- InlineResponse2012
- InlineResponse2013
- InlineResponse202
- Insight
- InsightResponse
- InsightResponseData
- LanguageStat
- Leader
- LeaderRunningTotal
- LeaderRunningTotalLanguages
- LeadersResponse
- LeadersResponseCurrentUser
- MachineName
- MachineStat
- MetaResponseData
- MetaResponseDataIps
- OperatingSystemStat
- Org
- OrgDashboard
- OrgDashboardDurationMember
- OrgDashboardDurationsResponse
- OrgDashboardMember
- OrgDashboardMemberDurationsResponse
- OrgDashboardMemberListItem
- OrgDashboardMemberSummaryResponse
- OrgDashboardMembersListResponse
- OrgDashboardSummariesResponse
- OrgDashboardSummaryMember
- OrgDashboardsListResponse
- OrgsListResponse
- PrivateLeaderboard
- PrivateLeaderboardLeadersResponse
- PrivateLeaderboardMember
- PrivateLeaderboardsListResponse
- ProgramLanguage
- ProgramLanguagesListResponse
- Project
- ProjectStat
- ProjectSummary
- Range
- Repository
- Stats
- StatsBestDay
- StatusBarResponse
- SummariesResponse
- Summary
- User
- UserAgent
- UserSummary
- Weekday
Documentation For Authorization
apiKeyQuery
- Type: API key
- API key parameter name: api_key
- Location: URL query string
basicAuth
- Type: HTTP basic authentication
oauth2
- Type: OAuth
- Flow: accessCode
- Authorization URL: https://wakatime.com/oauth/authorize
- Scopes:
- read_summaries: Access Summaries and Stats (categories, dependencies, editors, languages, machines, operating systems, projects).
- read_summaries.categories: Access Summaries and Stats (limited to categories).
- read_summaries.dependencies: Access Summaries and Stats (limited to dependencies).
- read_summaries.editors: Access Summaries and Stats (limited to editors).
- read_summaries.languages: Access Summaries and Stats (limited to languages).
- read_summaries.machines: Access Summaries and Stats (limited to machines).
- read_summaries.operating_systems: Access Summaries and Stats (limited to operating systems).
- read_summaries.projects: Access Summaries and Stats (limited to projects).
- read_stats: Access Stats (categories, dependencies, editors, languages, machines, operating systems, projects).
- read_stats.best_day: Access Stats (limited to best day).
- read_stats.categories: Access Stats (limited to categories).
- read_stats.dependencies: Access Stats (limited to dependencies).
- read_stats.editors: Access Stats (limited to editors).
- read_stats.languages: Access Stats (limited to languages).
- read_stats.machines: Access Stats (limited to machines).
- read_stats.operating_systems: Access Stats (limited to operating systems).
- read_stats.projects: Access Stats (limited to projects).
- read_goals: Access Goals.
- read_orgs: Access organizations and dashboard member activity.
- write_orgs: Modify organizations and dashboards.
- read_private_leaderboards: Access private leaderboards.
- write_private_leaderboards: Modify private leaderboards.
- read_heartbeats: Access coding activity, projects, files, editors, languages, OS, dependencies, Stats, Durations, External Durations, and Heartbeats.
- write_heartbeats: Modify coding activity (create, edit, delete Heartbeats and External Durations).
- email: Access user's private email address.
Author
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 wakatime_api-0.1.3.tar.gz.
File metadata
- Download URL: wakatime_api-0.1.3.tar.gz
- Upload date:
- Size: 106.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f3e48ece5e4ca0f321124b83441edcfa302c60f72b66986b8292d83c0677cdd
|
|
| MD5 |
facdfcc0728bb778fe5a92adbdc258f5
|
|
| BLAKE2b-256 |
012ea07be467b742df5ba394e22a248d88a244afe46a75c4ff6b3f1e9e54b966
|
File details
Details for the file wakatime_api-0.1.3-py3-none-any.whl.
File metadata
- Download URL: wakatime_api-0.1.3-py3-none-any.whl
- Upload date:
- Size: 562.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
253566ca4c38bdafbde74326b1ebb4219654edeab21e3e129fa001d426c0bad1
|
|
| MD5 |
132432808d841f75e1a07a1a357ac990
|
|
| BLAKE2b-256 |
44fb4367b560af371574c2e9f3a2ed2fec5722ef64f9dbddd9ce1523dae1b107
|