Skip to content

winpax/sprinkles

Sprinkles Library

Build & Test Crates.io Version docs.rs dependency status Crates.io Total Downloads Crates.io License Crates.io MSRV

View the latest documentation on Github Pages (the docs.rs builds are currently failing).

Warning

This library is currently unstable, and is not recommended for use in production. There will be breaking changes in the future, and the API may change.

Sprinkles is a library for interacting with Scoop, the Windows package manager.

It provides a high-level API for interacting with Scoop, such as installing, updating, and removing packages.

Reporting Issues

Please, please, please check the FAQs, before you report an issue.

If you have a question, please ask it on the discussions page.

If you have a bug report, feature request, or other issue, then open an issue.

Example Usage

If you want a more in depth example of how to use the library, check out the sfsu project.

use sprinkles::contexts::{User, ScoopContext};

let ctx = User::new().unwrap();

let apps = ctx.installed_apps().unwrap();

println!("You have {} apps installed", apps.len());

Running Benchmarks

The benchmarks rely on the large-file.bin file, which should be a large amount (>100MB) of random data.

To generate the file, run the following command (feel free to change the size to your liking):

Windows

Install genfile and run the following command:

genfile --size 512mb -o benches/large-file.bin --random

Linux

dd if=/dev/urandom of=benches/large-file.bin bs=1M count=512

Supported Platforms

Windows is the only supported platform at the moment, and this will likely not change, given that Scoop is only available on Windows.

Minimum Supported Rust Version

The MSRV may change in the future, but will only ever be increased over the course of a major version.

The MSRV is set for the target x86_64-pc-windows-msvc, and is checked for all supported platforms in the CI.

Made with 💗 by Juliette Cordor