No description
- Rust 99.5%
- Nix 0.5%
| .cargo | ||
| .forgejo/workflows | ||
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
| renovate.json | ||
| shell.nix | ||
libpixiv
Client library for pixiv
Usage
NOTE: Also consider minor version bumps as breaking change as long as this library is pre-1.0.
For now, no OAuth2 login will be provided, so please make sure to provide refresh tokens yourself.
The following features are available (some might be missing)
- users
- search
- metadata
- related
- following/unfollowing
- bookmarks
- illustrations
- search
- automatically switches from regular to popular-preview endpoint (the thing you can use for 7 days after downloading the app) when
SortMode::PopularDescis used
- automatically switches from regular to popular-preview endpoint (the thing you can use for 7 days after downloading the app) when
- metadata
- related
- comments
- recommendations
- bookmarking
- bookmarks
- search
- animations (ugoira)
- metadata lookup
- NOTE: Animations are provided as image sequences, building those is currently not implemented in this crate.
Testing
You can run the following command to test existing features:
PIXIV_REFRESH_TOKEN= cargo test --lib
Notes
- The crate uses implements a middleware to refresh the token if nescessary. However, there is currently no way to tell something went wrong with the flow until the first request trying to use the passed refresh token has been made.
- While an async runtime is required, you may bring your own. Only the tests require tokio.
- Documentation is NOT complete
cargo-llvm-covcurrently reports a line coverage of ~90%- This is an unofficial API library, please consider all the implications this might have.
- Also, this library is probably missing a few endpoints and/or features - if you happen to know or find any of those, feel free to open a PR :)