Name | passes-rs-py JSON |
Version |
3.0.1
JSON |
| download |
home_page | None |
Summary | Rust library for generate Apple Wallet Passes for iOS, WatchOS, MacOS. |
upload_time | 2025-08-09 01:09:04 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.12 |
license | MIT |
keywords |
passkit
wallet
apple
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# 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](https://developer.apple.com/documentation/walletpasses) represented in library
Documentation:
- [API reference (doc.rs)](https://docs.rs/passes)
- [Examples](https://github.com/mvodya/passes-rs/tree/main/examples)
- [Apple Wallet Documentation](https://developer.apple.com/documentation/walletpasses)
## Developer Setup
### Quick Start (Recommended)
**macOS/Linux:**
```bash
chmod +x dev-setup.sh
./dev-setup.sh
```
**Windows:**
```cmd
dev-setup.bat
```
This will:
- Install Rust (if needed)
- Install maturin (Python-Rust build tool)
- Create a Python virtual environment
- Build and install the package in development mode
### Manual Setup
1. **Install Rust:**
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```
2. **Install Python dependencies:**
```bash
pip install maturin
```
3. **Build for development:**
```bash
maturin develop
```
4. **Test the installation:**
```python
import passes_rs_py
```
### Development Commands
- **Build for development:** `maturin develop`
- **Build release wheel:** `maturin build --release`
- **Run Rust tests:** `cargo test`
- **Format code:** `cargo fmt`
## Usage
Add this to your `Cargo.toml`:
```toml
[dependencies]
neopasses = "0.1.0"
```
## Example
### Rust API
For building simple pass:
```rust
// 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:
```rust
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();
```
### Python Bindings
The library also provides Python bindings with comprehensive asset support:
```python
from passes_rs_py import generate_pass
# Generate pass with multiple asset types
generate_pass(
config=pass_json_config,
cert_path="path/to/cert.pem",
key_path="path/to/key.key",
output_path="output.pkpass",
# All asset types supported
icon_path="assets/icon.png",
icon2x_path="assets/icon@2x.png",
logo_path="assets/logo.png",
logo2x_path="assets/logo@2x.png",
thumbnail_path="assets/thumbnail.png",
thumbnail2x_path="assets/thumbnail@2x.png",
strip_path="assets/strip.png",
strip2x_path="assets/strip@2x.png",
background_path="assets/background.png",
background2x_path="assets/background@2x.png",
footer_path="assets/footer.png",
footer2x_path="assets/footer@2x.png",
)
```
#### Supported Asset Types
- **Icons**: `icon_path`, `icon2x_path` - Lock screen and app display
- **Logos**: `logo_path`, `logo2x_path` - Top-left corner branding
- **Thumbnails**: `thumbnail_path`, `thumbnail2x_path` - Field area images
- **Strip images**: `strip_path`, `strip2x_path` - Behind primary fields
- **Backgrounds**: `background_path`, `background2x_path` - Full pass background
- **Footers**: `footer_path`, `footer2x_path` - Near barcode area
All asset parameters are optional. See [ASSETS.md](ASSETS.md) for detailed documentation.
For more examples, see [examples](https://github.com/mvodya/passes-rs/tree/main/examples) directory.
## License
Passes is distributed under the terms of the MIT license. See [LICENSE](LICENSE).
Raw data
{
"_id": null,
"home_page": null,
"name": "passes-rs-py",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "passkit, wallet, apple",
"author": null,
"author_email": "Jstyles <jstyles@styl.dev>",
"download_url": null,
"platform": null,
"description": "# Passes\n\nA Rust library for generating PassKit passes, featuring:\n\n- Read & parse `.pkpass` files\n- Build & make passes by using library API\n- Sign passes with certificate and compress to `.pkpass`\n- Change field values is pass by key name\n- Supported semantic tags for pass & fields\n- All features of [Wallet Passes standard](https://developer.apple.com/documentation/walletpasses) represented in library\n\nDocumentation:\n\n- [API reference (doc.rs)](https://docs.rs/passes)\n- [Examples](https://github.com/mvodya/passes-rs/tree/main/examples)\n- [Apple Wallet Documentation](https://developer.apple.com/documentation/walletpasses)\n\n## Developer Setup\n\n### Quick Start (Recommended)\n\n**macOS/Linux:**\n```bash\nchmod +x dev-setup.sh\n./dev-setup.sh\n```\n\n**Windows:**\n```cmd\ndev-setup.bat\n```\n\nThis will:\n- Install Rust (if needed)\n- Install maturin (Python-Rust build tool)\n- Create a Python virtual environment\n- Build and install the package in development mode\n\n### Manual Setup\n\n1. **Install Rust:**\n ```bash\n curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n ```\n\n2. **Install Python dependencies:**\n ```bash\n pip install maturin\n ```\n\n3. **Build for development:**\n ```bash\n maturin develop\n ```\n\n4. **Test the installation:**\n ```python\n import passes_rs_py\n ```\n\n### Development Commands\n\n- **Build for development:** `maturin develop`\n- **Build release wheel:** `maturin build --release`\n- **Run Rust tests:** `cargo test`\n- **Format code:** `cargo fmt`\n\n## Usage\n\nAdd this to your `Cargo.toml`:\n\n```toml\n[dependencies]\nneopasses = \"0.1.0\"\n```\n\n## Example\n\n### Rust API\n\nFor building simple pass:\n\n```rust\n// Creating pass\nlet pass = PassBuilder::new(PassConfig {\n organization_name: \"Test organization\".into(),\n description: \"Super gentlememe pass\".into(),\n pass_type_identifier: \"com.example.pass\".into(),\n team_identifier: \"AA00AA0A0A\".into(),\n serial_number: \"ABCDEFG1234567890\".into(),\n})\n.grouping_identifier(String::from(\"com.example.pass.app\"))\n.logo_text(\"Test pass\".into())\n.build();\n```\n\nCreating package and generate `.pkpass` file:\n\n```rust\nlet mut package = Package::new(pass);\n\n// Save package as .pkpass\nlet path = Path::new(\"test_pass.pkpass\");\nlet file = match File::create(&path) {\n Err(why) => panic!(\"couldn't create {}: {}\", path.display(), why),\n Ok(file) => file,\n};\npackage.write(file).unwrap();\n```\n\n### Python Bindings\n\nThe library also provides Python bindings with comprehensive asset support:\n\n```python\nfrom passes_rs_py import generate_pass\n\n# Generate pass with multiple asset types\ngenerate_pass(\n config=pass_json_config,\n cert_path=\"path/to/cert.pem\",\n key_path=\"path/to/key.key\",\n output_path=\"output.pkpass\",\n \n # All asset types supported\n icon_path=\"assets/icon.png\",\n icon2x_path=\"assets/icon@2x.png\",\n logo_path=\"assets/logo.png\",\n logo2x_path=\"assets/logo@2x.png\",\n thumbnail_path=\"assets/thumbnail.png\",\n thumbnail2x_path=\"assets/thumbnail@2x.png\",\n strip_path=\"assets/strip.png\",\n strip2x_path=\"assets/strip@2x.png\",\n background_path=\"assets/background.png\",\n background2x_path=\"assets/background@2x.png\",\n footer_path=\"assets/footer.png\",\n footer2x_path=\"assets/footer@2x.png\",\n)\n```\n\n#### Supported Asset Types\n\n- **Icons**: `icon_path`, `icon2x_path` - Lock screen and app display\n- **Logos**: `logo_path`, `logo2x_path` - Top-left corner branding\n- **Thumbnails**: `thumbnail_path`, `thumbnail2x_path` - Field area images\n- **Strip images**: `strip_path`, `strip2x_path` - Behind primary fields\n- **Backgrounds**: `background_path`, `background2x_path` - Full pass background\n- **Footers**: `footer_path`, `footer2x_path` - Near barcode area\n\nAll asset parameters are optional. See [ASSETS.md](ASSETS.md) for detailed documentation.\n\nFor more examples, see [examples](https://github.com/mvodya/passes-rs/tree/main/examples) directory.\n\n## License\n\nPasses is distributed under the terms of the MIT license. See [LICENSE](LICENSE).\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Rust library for generate Apple Wallet Passes for iOS, WatchOS, MacOS.",
"version": "3.0.1",
"project_urls": {
"Homepage": "https://github.com/jontyms/neo-passes-rs",
"Repository": "https://github.com/jontyms/neo-passes-rs"
},
"split_keywords": [
"passkit",
" wallet",
" apple"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "92c8262aa99cb2e0ed4193814916fccdc37493c6759c2f14c6e03e74327dd77d",
"md5": "42fecd5ca46932cdc4f416df87235b31",
"sha256": "4c48a770090c1aace256fa6ed9560829a227d9c309481eb8d7c49161d4c45704"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
"has_sig": false,
"md5_digest": "42fecd5ca46932cdc4f416df87235b31",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.12",
"size": 3574190,
"upload_time": "2025-08-09T01:09:04",
"upload_time_iso_8601": "2025-08-09T01:09:04.329095Z",
"url": "https://files.pythonhosted.org/packages/92/c8/262aa99cb2e0ed4193814916fccdc37493c6759c2f14c6e03e74327dd77d/passes_rs_py-3.0.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0bfa4c1190d850fb989f961576b25cadec52252de2a08fc6f25b0c54ac266dda",
"md5": "8654e96957f5c993e9bf5afea353efe0",
"sha256": "a9af0e43b37fc0c881bf988210ad31f343b7119751a81fc9fc575b546129725c"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"has_sig": false,
"md5_digest": "8654e96957f5c993e9bf5afea353efe0",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.12",
"size": 2309462,
"upload_time": "2025-08-09T01:09:07",
"upload_time_iso_8601": "2025-08-09T01:09:07.965426Z",
"url": "https://files.pythonhosted.org/packages/0b/fa/4c1190d850fb989f961576b25cadec52252de2a08fc6f25b0c54ac266dda/passes_rs_py-3.0.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "179d6e4f9e60d5e140f301f777a09ebddb84091f4565f9141578ecfc5c1ceb46",
"md5": "178487030000af81f316a3c6367c1092",
"sha256": "f9c499de78c767a42e3fb4f59ad47e3555ef4cf399f73b1aa45b3c820bfa2778"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp312-cp312-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
"has_sig": false,
"md5_digest": "178487030000af81f316a3c6367c1092",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.12",
"size": 2392047,
"upload_time": "2025-08-09T01:09:06",
"upload_time_iso_8601": "2025-08-09T01:09:06.232030Z",
"url": "https://files.pythonhosted.org/packages/17/9d/6e4f9e60d5e140f301f777a09ebddb84091f4565f9141578ecfc5c1ceb46/passes_rs_py-3.0.1-cp312-cp312-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fbb9a38ac42e0d60eef176fa4cb14afbc20fe1cfd92fc719c27ec90058746f1c",
"md5": "53a27c4936bc9b33ae10da4f3373af77",
"sha256": "2bd316e534bf0b2bda92641d92bbc0433f04f3d382631f9c44d683b65ac89190"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"has_sig": false,
"md5_digest": "53a27c4936bc9b33ae10da4f3373af77",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.12",
"size": 2160834,
"upload_time": "2025-08-09T01:09:09",
"upload_time_iso_8601": "2025-08-09T01:09:09.668535Z",
"url": "https://files.pythonhosted.org/packages/fb/b9/a38ac42e0d60eef176fa4cb14afbc20fe1cfd92fc719c27ec90058746f1c/passes_rs_py-3.0.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f2b45d8dc2c5074623725d8c53fc885213bf8e7e9207f411e6684607c1a7d1b8",
"md5": "615e2c31a9fe530ba126a64fd4129621",
"sha256": "22ed87d5018b2a60bd8202a34a921850266054623ae73abc60ed283bd0d4dfea"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "615e2c31a9fe530ba126a64fd4129621",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.12",
"size": 2087161,
"upload_time": "2025-08-09T01:09:11",
"upload_time_iso_8601": "2025-08-09T01:09:11.473575Z",
"url": "https://files.pythonhosted.org/packages/f2/b4/5d8dc2c5074623725d8c53fc885213bf8e7e9207f411e6684607c1a7d1b8/passes_rs_py-3.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "99e9e26eca4f3003b793ed31e7793ca90e5a9055f7cde8c1523dc0f080180185",
"md5": "4ff6683ef66fe5b17812692fea1fd64c",
"sha256": "f5fba8e6eec8aec043f7539f70b9ab192fb965b68d80acdb51444837b7ebd8f6"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp312-cp312-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "4ff6683ef66fe5b17812692fea1fd64c",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.12",
"size": 2039180,
"upload_time": "2025-08-09T01:09:12",
"upload_time_iso_8601": "2025-08-09T01:09:12.776925Z",
"url": "https://files.pythonhosted.org/packages/99/e9/e26eca4f3003b793ed31e7793ca90e5a9055f7cde8c1523dc0f080180185/passes_rs_py-3.0.1-cp312-cp312-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b91193abd7fa91bdced6819d2010b12bbaa02e69328f873d47d5142c863a0fe7",
"md5": "a7e02f1e69c728f7f1d6fb298a330aad",
"sha256": "b670b5025adeda41dc74e150ec1922b001656e6d5bc8cc351ef152ad783293e8"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl",
"has_sig": false,
"md5_digest": "a7e02f1e69c728f7f1d6fb298a330aad",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.12",
"size": 2158327,
"upload_time": "2025-08-09T01:09:14",
"upload_time_iso_8601": "2025-08-09T01:09:14.562374Z",
"url": "https://files.pythonhosted.org/packages/b9/11/93abd7fa91bdced6819d2010b12bbaa02e69328f873d47d5142c863a0fe7/passes_rs_py-3.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "aad52e0c378ea1bb1b54c2a379b13f18b07dbb68d61ad093ba127fd28d937509",
"md5": "f2acfad0f14da80444d47b472e5cd21f",
"sha256": "3d84a161f733c9ae19b9d1bb830d60c4684bc27cbdce32844bde42fe9c884043"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp312-cp312-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "f2acfad0f14da80444d47b472e5cd21f",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.12",
"size": 2202748,
"upload_time": "2025-08-09T01:09:15",
"upload_time_iso_8601": "2025-08-09T01:09:15.828327Z",
"url": "https://files.pythonhosted.org/packages/aa/d5/2e0c378ea1bb1b54c2a379b13f18b07dbb68d61ad093ba127fd28d937509/passes_rs_py-3.0.1-cp312-cp312-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6f56e167b346577f4e1a95e00bd274d8ca46e8ca3f68806532358efde0e596b8",
"md5": "c6ec2512acc8d5c5a6d1bfee3d3af982",
"sha256": "21deb39d87d60ab0bb0611346b57a6f74e75369504a15c128af3469fac8a9c58"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp312-cp312-musllinux_1_2_armv7l.whl",
"has_sig": false,
"md5_digest": "c6ec2512acc8d5c5a6d1bfee3d3af982",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.12",
"size": 2206374,
"upload_time": "2025-08-09T01:09:18",
"upload_time_iso_8601": "2025-08-09T01:09:18.171362Z",
"url": "https://files.pythonhosted.org/packages/6f/56/e167b346577f4e1a95e00bd274d8ca46e8ca3f68806532358efde0e596b8/passes_rs_py-3.0.1-cp312-cp312-musllinux_1_2_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "258b72182c6336260edf20f59f6b8efe1c0332face974d24557d3a314b9f4e35",
"md5": "508307d6a5ee2362aee899dfba52825e",
"sha256": "7a73200a5dab4ef91c1ea6453d087d8917d1101ab8d7a141fb4768c13ce8033c"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp312-cp312-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "508307d6a5ee2362aee899dfba52825e",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.12",
"size": 2249878,
"upload_time": "2025-08-09T01:09:20",
"upload_time_iso_8601": "2025-08-09T01:09:20.144246Z",
"url": "https://files.pythonhosted.org/packages/25/8b/72182c6336260edf20f59f6b8efe1c0332face974d24557d3a314b9f4e35/passes_rs_py-3.0.1-cp312-cp312-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ba8fb81ea4b3d598335c5be0e44df90b7b53f6d73c5b1b904844f23f16e54430",
"md5": "0be0fb5bf0eaaab64eb7024a56cfc4cf",
"sha256": "13617a74b840b65c415b005d1558cb475042cc1586c223cbd30313462ec01ed4"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp312-cp312-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "0be0fb5bf0eaaab64eb7024a56cfc4cf",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.12",
"size": 2258803,
"upload_time": "2025-08-09T01:09:21",
"upload_time_iso_8601": "2025-08-09T01:09:21.637695Z",
"url": "https://files.pythonhosted.org/packages/ba/8f/b81ea4b3d598335c5be0e44df90b7b53f6d73c5b1b904844f23f16e54430/passes_rs_py-3.0.1-cp312-cp312-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ad868d187efbd046f3b2ee1866df605572e4f2a6471d4a5285b4c09a84f01ca6",
"md5": "95399385070cea18bbcfdec80e96ae60",
"sha256": "62b09110f0b9f8938eedbd7735544778cf35063dac9a0d412d6cb42f798d6a9b"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "95399385070cea18bbcfdec80e96ae60",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.12",
"size": 1544878,
"upload_time": "2025-08-09T01:09:23",
"upload_time_iso_8601": "2025-08-09T01:09:23.207723Z",
"url": "https://files.pythonhosted.org/packages/ad/86/8d187efbd046f3b2ee1866df605572e4f2a6471d4a5285b4c09a84f01ca6/passes_rs_py-3.0.1-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "363272b029edccad1f7b20b86271af453c9b42ab3ee5eb07a23d411f8e0500c6",
"md5": "2e070f6c161d972bf9e1826fc3a84563",
"sha256": "74e8196c87ca48cda8b3055249fa25243a44421dcfe8489ad16aaab51c00cdfd"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "2e070f6c161d972bf9e1826fc3a84563",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.12",
"size": 1637034,
"upload_time": "2025-08-09T01:09:24",
"upload_time_iso_8601": "2025-08-09T01:09:24.714656Z",
"url": "https://files.pythonhosted.org/packages/36/32/72b029edccad1f7b20b86271af453c9b42ab3ee5eb07a23d411f8e0500c6/passes_rs_py-3.0.1-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7b4953d0bfed25a72727a3c72898324ccc750e45076e46035145ca5cd90edbb8",
"md5": "e92947a7a84ce56bccc96527db24531f",
"sha256": "6472fc56ac1e76bfbdcf272c11fce0824f1ddd5a61c6fd31ac9d2737eaa2f2cf"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
"has_sig": false,
"md5_digest": "e92947a7a84ce56bccc96527db24531f",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.12",
"size": 3574302,
"upload_time": "2025-08-09T01:09:26",
"upload_time_iso_8601": "2025-08-09T01:09:26.065323Z",
"url": "https://files.pythonhosted.org/packages/7b/49/53d0bfed25a72727a3c72898324ccc750e45076e46035145ca5cd90edbb8/passes_rs_py-3.0.1-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2bcc9d05862d7d6d0b6ad850e6513925e18b984830d7a05584f71e0deb9c7928",
"md5": "501780d74de9142cb52f12f904f7108c",
"sha256": "01b11197918dc3cfbb9490f67c5e840584e16fd80f5fa5d443194fc7c735c5ac"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"has_sig": false,
"md5_digest": "501780d74de9142cb52f12f904f7108c",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.12",
"size": 2309096,
"upload_time": "2025-08-09T01:09:28",
"upload_time_iso_8601": "2025-08-09T01:09:28.744418Z",
"url": "https://files.pythonhosted.org/packages/2b/cc/9d05862d7d6d0b6ad850e6513925e18b984830d7a05584f71e0deb9c7928/passes_rs_py-3.0.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8717c21719cf31596d57a500eb64416b0d6f02f50166f08cf71dc85f52769408",
"md5": "f899e54ac2ac52e3f308494335f4bdd1",
"sha256": "4a8b80ba9cd5af8812b9de50e52e7600f2aa1d33ea3cb2719fe296886f24eba9"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp313-cp313-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
"has_sig": false,
"md5_digest": "f899e54ac2ac52e3f308494335f4bdd1",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.12",
"size": 2392339,
"upload_time": "2025-08-09T01:09:27",
"upload_time_iso_8601": "2025-08-09T01:09:27.452107Z",
"url": "https://files.pythonhosted.org/packages/87/17/c21719cf31596d57a500eb64416b0d6f02f50166f08cf71dc85f52769408/passes_rs_py-3.0.1-cp313-cp313-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "01e54d82cc9d189bf713d1c9f76c8a8913fe0ee10b585fb7b24a04462c181d4c",
"md5": "4b9f9573ad4e2c4817f33033cef850c3",
"sha256": "141bdafc61dba4b69799579393c49ed250b955424426e28a38eeab9e59c00435"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"has_sig": false,
"md5_digest": "4b9f9573ad4e2c4817f33033cef850c3",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.12",
"size": 2160556,
"upload_time": "2025-08-09T01:09:30",
"upload_time_iso_8601": "2025-08-09T01:09:30.763920Z",
"url": "https://files.pythonhosted.org/packages/01/e5/4d82cc9d189bf713d1c9f76c8a8913fe0ee10b585fb7b24a04462c181d4c/passes_rs_py-3.0.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1dc0e3733f6f6284b388ca1a3f1081cf9c31a8d9c44f71b0e27ae815189210b3",
"md5": "c0fd1e6401c46659b33bd4c1c0f8c0b5",
"sha256": "3c633773b504623617ab5b018a3c0321fcfbeff0202e401cfdb7bb1f4d60bbae"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "c0fd1e6401c46659b33bd4c1c0f8c0b5",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.12",
"size": 2087816,
"upload_time": "2025-08-09T01:09:32",
"upload_time_iso_8601": "2025-08-09T01:09:32.511303Z",
"url": "https://files.pythonhosted.org/packages/1d/c0/e3733f6f6284b388ca1a3f1081cf9c31a8d9c44f71b0e27ae815189210b3/passes_rs_py-3.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "54c910856b74626bb364a2f140f44d9e4687a8d6ccb07705276cd8d7c7417140",
"md5": "9545897499848bf672aef905d0edb6fb",
"sha256": "f0d8712f52313e282e58376781f88e01be5f00f0c6fb170c3311b4dfd7aa4670"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp313-cp313-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "9545897499848bf672aef905d0edb6fb",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.12",
"size": 2039482,
"upload_time": "2025-08-09T01:09:33",
"upload_time_iso_8601": "2025-08-09T01:09:33.779379Z",
"url": "https://files.pythonhosted.org/packages/54/c9/10856b74626bb364a2f140f44d9e4687a8d6ccb07705276cd8d7c7417140/passes_rs_py-3.0.1-cp313-cp313-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "077f9e8f43aff59b753d4b0d34221bb462a34c23295e7361157a23d21bfd024c",
"md5": "5799d9c2f688ff2d455e4df379bb8606",
"sha256": "d239d7a15052037134fca3b5b2a65a2cc2cc901a4d990effcaad0f55116f06ac"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp313-cp313-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "5799d9c2f688ff2d455e4df379bb8606",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.12",
"size": 2202955,
"upload_time": "2025-08-09T01:09:35",
"upload_time_iso_8601": "2025-08-09T01:09:35.114329Z",
"url": "https://files.pythonhosted.org/packages/07/7f/9e8f43aff59b753d4b0d34221bb462a34c23295e7361157a23d21bfd024c/passes_rs_py-3.0.1-cp313-cp313-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "513a239eb7fc00c9245258b8dbfaf078aaec6291bd796ddf7756bd1084799be7",
"md5": "28a78c1c4d2bdb9735485578bdb13d22",
"sha256": "d5847b2d673e86f7d4a341fcf1803ede84197e985afaa10b0a213d26b5f38db8"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp313-cp313-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "28a78c1c4d2bdb9735485578bdb13d22",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.12",
"size": 2259058,
"upload_time": "2025-08-09T01:09:36",
"upload_time_iso_8601": "2025-08-09T01:09:36.394064Z",
"url": "https://files.pythonhosted.org/packages/51/3a/239eb7fc00c9245258b8dbfaf078aaec6291bd796ddf7756bd1084799be7/passes_rs_py-3.0.1-cp313-cp313-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "590540ad328131bbe2c65b5db5119afd2f8bfbe1f27b0d30afd2527959cf102b",
"md5": "3255073af46d14f390f5267335355dff",
"sha256": "f6ec558e8e7fdffab6a04eac404da0fd345629d1a30eb9253b82e924ffcdd825"
},
"downloads": -1,
"filename": "passes_rs_py-3.0.1-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "3255073af46d14f390f5267335355dff",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.12",
"size": 1636902,
"upload_time": "2025-08-09T01:09:38",
"upload_time_iso_8601": "2025-08-09T01:09:38.148670Z",
"url": "https://files.pythonhosted.org/packages/59/05/40ad328131bbe2c65b5db5119afd2f8bfbe1f27b0d30afd2527959cf102b/passes_rs_py-3.0.1-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-09 01:09:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jontyms",
"github_project": "neo-passes-rs",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "passes-rs-py"
}