Expand description
§Wakapi : wakatime API client
This crate is a Work In Progress API client for the Wakatime API. It is NOT ready for production.
The following endpoints are implemented, only in read mode (GET requests), as blocking or async depending on the feature flag blocking
:
- Commits : Commits, CommitsParams, Commits::fetch
- Projects : Projects, ProjectsParams, Projects::fetch
- Commit : Commit, CommitParams, Commit::fetch
- Stats : Stats, StatsParams, Stats::fetch
- Durations : Durations, DurationsParams, Durations::fetch
- Summaries : Summaries, SummariesParams, Summaries::fetch
- Heartbeats : Heartbeats, HeartbeatsParams, Heartbeats::fetch
- All Time Since Today : AllTimeSinceToday, AllTimeSinceTodayParams, AllTimeSinceToday::fetch
The structures are based on the official documentation at 2024-10-01 with a few modifications to correct some errors / inconsistencies.
§Usage
§Async mode
use wakapi::{WakapiClient, CommitsParams};
let client = wakapi::WakapiClient::new(
"https://api.wakatime.com",
"YOUR_WAKATIME_API_KEY",
);
let res = wakapi::Summaries::fetch(&client,
wakapi::SummariesParams::from_interval("2024-01-01", "2024-01-05"),
).await.unwrap();
println!("{:?}", res);
```
## Blocking mode
```rust
use wakapi::{WakapiClient, CommitsParams};
let client = wakapi::WakapiClient::new(
"https://api.wakatime.com",
"YOUR_WAKATIME_API_KEY",
);
let res = wakapi::Summaries::fetch(&client,
wakapi::SummariesParams::from_interval("2024-01-01", "2024-01-05"),
).unwrap();
println!("{:?}", res);
§License
This project is licensed under the MIT License.
Modules§
- atst
- All time since today endpoint.
- commit
- Commit endpoint
- commits
- Commits endpoint
- durations
- Durations endpoint
- heartbeats
- Heartbeats endpoint
- projects
- Projects endpoint.
- stats
- Stats endpoint.
- summaries
- Summaries endpoint.
Structs§
- AllTime
Since Today Params - Request parameters for the AllTimeSinceToday endpoint.
- Commit
- Commit endpoint
- Commit
Params - Request parameters for the Commit endpoint.
- Commits
- Commits endpoint
- Commits
Params - Request parameters for the Commits endpoint.
- Durations
- Durations endpoint
- Durations
Params - Request parameters for the Durations endpoint.
- Error
Message - Heartbeats
- Heartbeats endpoint
- Heartbeats
Params - Request parameters for the Heartbeats endpoint.
- Projects
- Projects endpoint.
- Projects
Params - Request parameters for the Projects endpoint.
- Stats
- Stats endpoint.
- Stats
Params - Request parameters for the Stats endpoint.
- Summaries
- Summaries endpoint body
- Summaries
Params - Request parameters for the Summaries endpoint.
- Wakapi
Client - Wakatime
Config - Wakatime INI config file.
Enums§
- AllTime
Since Today - Successful response from the AllTimeSinceToday endpoint, with two possible states :
- Summary
Range - Summary range : https://wakatime.com/developers#summaries Alternative way to supply start and end dates. Can be one of “Today”, “Yesterday”, “Last 7 Days”, “Last 7 Days from Yesterday”, “Last 14 Days”, “Last 30 Days”, “This Week”, “Last Week”, “This Month”, or “Last Month”.
- Wakapi
Error