Metadata-Version: 2.1
Name: passosh
Version: 0.0.4
Summary: Generate passes (.pkpass) files for Apple Wallet
Project-URL: Homepage, https://github.com/bersegosx/passosh
Project-URL: Issues, https://github.com/bersegosx/passosh/issues
Author-email: bersegosx <bersegosx@gmail.com>
License-File: LICENSE
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.7
Requires-Dist: cryptography==41.0.7
Provides-Extra: dev
Requires-Dist: flake8; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Description-Content-Type: text/markdown

# Passosh
Generate passes (.pkpass) files for Apple Wallet


## Install

```shell
pip install passosh
```

## Usage

```python
from passosh.fields import *
from passosh.pesso import Passosh, Content
from passosh.signature import create_pkpass


passosh = Passosh(
    organizationName="<Your org>",
    passTypeIdentifier="pass.your.org",
    teamIdentifier="XXXXX",
    serialNumber="YYYYYYYYYY",
    foregroundColor='#FFFFFF',
    labelColor='#FFFFFF',
    media={
        'icon.png': open("icon.png", 'rb').read(),
        'icon@2x.png': open("icon@2x.png", 'rb').read(),
        'logo.png': open("logo.png", 'rb').read(),
        'background.png': open("background.png", 'rb').read(),
    },
    barcodes=[
        Barcode(
            message="https://google.com",
            format=BarcodeFormat.QR
        )
    ],
    eventTicket=Content(
        headerFields=[
            HeaderField(
                key='date',
                value='19/12/23',
                textAlignment=TextAlignment.RIGHT,
                changeMessage='changed: %d'
            )
        ],
        primaryFields=[
            PrimaryField(
                key='title',
                value='Title here'
            )
        ],
        secondaryFields=[
            SecondaryField(
                key='place',
                value='Yatta Ramen BBQ, Warsaw',
                label='PLACE'
            ),
            SecondaryField(
                key='user',
                value='Nikola Teslovich',
                label='GUEST',
                textAlignment=TextAlignment.RIGHT.value,
                changeMessage="Guest name is changed: %@"
            ),
        ],
    ),
)

create_pkpass(
    passosh=passosh,
    filename="your_filename.pkpass",
    sign=dict(
        cert_pem=b'<content of certificate.pem>',
        key=b'<key content>',
        password=b'<key\'s password>',
        wwdr=b'<content of wwdr.pem>'
    )
)

```
