3 releases (stable)
1.0.1 | Mar 1, 2024 |
---|---|
0.1.0 | Feb 29, 2024 |
#1170 in Parser implementations
125KB
2.5K
SLoC
Passes
A Rust library for generating PassKit passes, featuring:
- Read & parse
.pkpass
files - Build & make passes by using library API
- Sign passes with certificate and compress to
.pkpass
- Change field values is pass by key name
- Supported semantic tags for pass & fields
- All features of Wallet Passes standard represented in library
Documentation:
Usage
Add this to your Cargo.toml
:
[dependencies]
passes = "0.1.0"
Example
For building simple pass:
// Creating pass
let pass = PassBuilder::new(PassConfig {
organization_name: "Test organization".into(),
description: "Super gentlememe pass".into(),
pass_type_identifier: "com.example.pass".into(),
team_identifier: "AA00AA0A0A".into(),
serial_number: "ABCDEFG1234567890".into(),
})
.grouping_identifier(String::from("com.example.pass.app"))
.logo_text("Test pass".into())
.build();
Creating package and generate .pkpass
file:
let mut package = Package::new(pass);
// Save package as .pkpass
let path = Path::new("test_pass.pkpass");
let file = match File::create(&path) {
Err(why) => panic!("couldn't create {}: {}", path.display(), why),
Ok(file) => file,
};
package.write(file).unwrap();
For more examples, see examples directory.
License
Passes is distributed under the terms of the MIT license. See LICENSE.
Dependencies
~10–16MB
~307K SLoC