All Projects → ramsayleung → Rspotify

ramsayleung / Rspotify

Licence: mit
Spotify Web API SDK implemented in Rust

Programming Languages

rust
11053 projects

Labels

Projects that are alternatives of or similar to Rspotify

version-compare
↔️ Rust library to easily compare version strings. Mirror from https://gitlab.com/timvisee/version-compare
Stars: ✭ 32 (-87.45%)
Mutual labels:  crates
salak.rs
A multi layered configuration loader and zero-boilerplate configuration parser.
Stars: ✭ 27 (-89.41%)
Mutual labels:  crates
rtriangulate
A Rust implementation of the Bourke Delaunay triangulation algorithm.
Stars: ✭ 20 (-92.16%)
Mutual labels:  crates
kingslayer
A text-based adventure written in Rust
Stars: ✭ 28 (-89.02%)
Mutual labels:  crates
minreq
Simple, minimal-dependency HTTP client.
Stars: ✭ 91 (-64.31%)
Mutual labels:  crates
cargo-esr
Extended Search & Ranking tool for crates.
Stars: ✭ 23 (-90.98%)
Mutual labels:  crates
fitparse-rs
Rust library to parse FIT formatted files
Stars: ✭ 20 (-92.16%)
Mutual labels:  crates
crates
🌎 A tool to generate your locale files compatible with i18n.
Stars: ✭ 52 (-79.61%)
Mutual labels:  crates
MysteryBox
Crate implemention for PocketMine-MP (PMMP)
Stars: ✭ 19 (-92.55%)
Mutual labels:  crates
rs-poker
No description or website provided.
Stars: ✭ 32 (-87.45%)
Mutual labels:  crates
steganography
A simple steganography library written in rust
Stars: ✭ 75 (-70.59%)
Mutual labels:  crates
crates-io-cn
Source code of crates-io.cn, also tools sets for sync crates.io
Stars: ✭ 20 (-92.16%)
Mutual labels:  crates
crate-trends
🦀Visualize Rust Package: Crates comparison website
Stars: ✭ 14 (-94.51%)
Mutual labels:  crates
obj-rs
Wavefront obj parser for Rust
Stars: ✭ 57 (-77.65%)
Mutual labels:  crates
MysteryCrate
PLUGIN ARCHIVED. USE https://github.com/DaPigGuy/PiggyCrates instead!
Stars: ✭ 30 (-88.24%)
Mutual labels:  crates
crates
crates is an extension aims to help people to manage their dependencies for rust (crates.io & TOML).
Stars: ✭ 156 (-38.82%)
Mutual labels:  crates
cargo-trim
Binary application to clean up .cargo/registry & .cargo/git cache
Stars: ✭ 15 (-94.12%)
Mutual labels:  crates
sorceress
A Rust environment for sound synthesis and algorithmic composition.
Stars: ✭ 64 (-74.9%)
Mutual labels:  crates
ffizer
ffizer is a files and folders initializer / generator. Create any kind (or part) of project from template.
Stars: ✭ 57 (-77.65%)
Mutual labels:  crates
tokio-tun
Asynchronous allocation of TUN/TAP devices in Rust using tokio
Stars: ✭ 17 (-93.33%)
Mutual labels:  crates

Continuous Integration License Crates.io Docs

Rspotify

Rspotify is a wrapper for the Spotify Web API, inspired by spotipy. It includes support for all the authorization flows, and helper functions for all endpoints.

To learn how to use Rspotify, please refer to the documentation. There are some examples that may be useful as well.

Changelog

Please see the changelog for a release history and indications on how to upgrade from one version to another.

Contributing

If you find any problems or have suggestions about this crate, please submit an issue. Moreover, any pull request, code review and feedback are welcome.

Code Guide

We use GitHub Actions to make sure the codebase is consistent (cargo fmt) and continuously tested (cargo test). We try to keep comments at a maximum of 80 characters of length (which isn't automatically checked by cargo fmt) and code at 120.

Building

Rspotify uses maybe_async to switch between async and blocking clients, which is triggered inside Cargo.toml. So that must be taken into account when building rspotify. Read the Configuration section in the docs for more information about how to build with custom TLS implementations, and more.

client-reqwest is used by default. It should be as easy as

$ cargo build

client-ureq is also available as the blocking interface, which compiles Rspotify with ureq (a TLS has to be specified as well):

$ cargo build --no-default-features --features client-ureq,ureq-rustls-tls

Notice that you can't build rspotify with all features like this:

$ cargo build --all-features

Because in order to switch between clients, the different clients have to implement the same base trait in src/http/mod.rs, so if you build with all features, you'll get duplicate definitions error. As every coin has two sides, you can only have one side at a time, not all sides of it.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].