Skip to main content

Views PyPI

ipasign

iOS code signing written in Python. Re-sign .ipa archives, .app bundles, frameworks, dylibs and bare Mach-O executables with a .p12 identity and a .mobileprovision profile, producing a signature that iOS and Apple's codesign accept.

Install

Via PyPI:

pip install ipasign

With uv:

uv add ipasign

Requires Python 3.10 or later. The only dependencies are cryptography and asn1crypto, both installed automatically.

Quick Example

import ipasign

key = ipasign.Key("identity.p12", "profile.mobileprovision", "password")
out = key.sign("input.ipa", "output.ipa")

print(f"Successfully signed: {out.output_path}")
print(f"{out.app_name} {out.app_version} ({out.bundle_id})")

sign() returns a result object, not a boolean:

Attribute Meaning
output_path Where the signed artifact actually landed
bundle_id The identifier sealed into the CodeDirectory
signed_count How many Mach-O files were signed
app_name The app's display name, read from Info.plist
app_version The release version, read from Info.plist

Failures raise. Every exception derives from ipasign.IpasignError.

Ad-hoc signing

No credentials needed:

ipasign.Key(adhoc=True).sign("input.ipa", "output.ipa")

Changelog

Release notes are available in CHANGELOG.md.

License

This Project under MIT License
Copyright (c) 2026 Senophyx

Release files for ipasign 1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ipasign 1.0
File Size Uploaded
ipasign-1.0.tar.gz 35.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ipasign 1.0
File Interpreter ABI Platform
ipasign-1.0-py3-none-any.whl Python 3 none any Details

Total release size: 73.9 kB

Release files / ipasign-1.0.tar.gz

Download URL ipasign-1.0.tar.gz
Size 35.4 kB
Tags Source
SHA-256 checksum
How to use checksums
42a52e4da1262246ceef9fea28813679f3e2ada26069faa4297fa57c33bc9e24
BLAKE2b-256 checksum
How to use checksums
57c48197960df80f9499ca7869ac9e82156ccac5dbe956fae042dee8691da5c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / ipasign-1.0-py3-none-any.whl

Download URL ipasign-1.0-py3-none-any.whl
Size 38.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0efa56986a11875fdbccd1e8ba1a375045e19203b363c42513203bc35e82a86b
BLAKE2b-256 checksum
How to use checksums
a3e92cb08c44a21919453120b1f1539f1bd7120b2b7c54f74400595f08b34a54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page