Skip to main content

Axint Python SDK

Python 3.11+ License: Apache-2.0

Axint is the proof and repair layer for Apple coding agents. The Python SDK is its native authoring surface for App Intents, entities, SwiftUI views, WidgetKit widgets, and app scaffolds. It parses Python without executing it, validates the resulting IR, and generates inspectable Swift directly in Python.

The normal Python parse, validate, and compile paths do not require Node.js. Full existing-project Xcode proof is provided by the main @axint/compiler CLI on macOS.

Install

pip install axint

For development:

git clone https://github.com/agenticempire/axint.git
cd axint/python
pip install -e '.[dev]'

Define an intent

from axint import define_intent, param

create_event = define_intent(
    name="CreateCalendarEventIntent",
    title="Create Calendar Event",
    description="Creates a new event on the user's calendar",
    domain="productivity",
    params={
        "event_title": param.string("Title of the event"),
        "start_date": param.date("When the event starts"),
        "duration_minutes": param.int("Length of the event in minutes"),
        "is_all_day": param.boolean(
            "Whether the event is all-day", optional=True, default=False
        ),
    },
    entitlements=["com.apple.developer.calendars"],
    info_plist_keys={
        "NSCalendarsUsageDescription": "Create and edit calendar events you request.",
    },
)

Parse, validate, and compile

The package installs axint-py; the JavaScript package owns the axint command.

# Inspect compatible IR without executing the Python file
axint-py parse intents/create_event.py
axint-py parse intents/create_event.py --json

# Generate Swift natively in Python
axint-py compile intents/create_event.py --stdout
axint-py compile intents/create_event.py --out ios/Intents/

# Emit companion metadata
axint-py compile intents/create_event.py --out ios/Intents/ \
  --emit-info-plist --emit-entitlements

# Validate without generating Swift
axint-py validate intents/create_event.py

# Return machine-readable output
axint-py compile intents/create_event.py --json

Use it as a library

from axint import define_intent, generate_swift, param, validate_intent

intent = define_intent(
    name="SendMessage",
    title="Send Message",
    description="Sends a message",
    domain="messaging",
    params={"body": param.string("Message text")},
)

ir = intent.to_ir()
diagnostics = validate_intent(ir)
swift_code = generate_swift(ir)

Cross-language verification

Python produces IR compatible with the TypeScript compiler. Pipe an intent into the main CLI when you want an additional cross-surface compiler pass:

axint-py parse intent.py --json | axint compile - --from-ir --stdout

This bridge is optional. Native Python generation does not invoke it.

Coverage boundary

Capability Python SDK
Intent, entity, view, widget, and app definitions Implemented
Primitive parameters, entitlements, and plist fragments Implemented
Native Swift generation and IR validation Implemented
Parse, compile, and validate CLI Implemented
Focused Python MCP authoring server Implemented with the mcp extra
Optional Node-backed Swift validator helper in Python MCP Available when the JavaScript package is installed
Resumable Xcode build, test, repair, and signed proof Use the main @axint/compiler CLI on macOS

The Python and TypeScript generators are separate implementations over compatible contracts. Parity tests cover their shared output; a claim about one surface should not be assumed to apply to the other without a corresponding test.

MCP extra

pip install 'axint[mcp]'
axint-mcp-py

The Python MCP package focuses on Python authoring, generation, validation, and discovery. It is not a substitute for the main MCP server's complete project proof and coordination surface.

Prove the resulting Apple project

After adding generated Swift to an Xcode project, run the full local proof loop:

npx -y -p @axint/compiler axint prove --dir /path/to/MyApp

The command checks Swift, runs the available Xcode build and tests, reconciles findings, and writes a signed source-free receipt. It does not upload project source by default.

Development

pip install -e '.[dev]'
pytest
ruff check .
mypy axint
pyright

Apache-2.0 licensed. See LICENSE.

Metadata

Release files for axint 0.6.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 axint 0.6.0
File Size Uploaded Provenance
axint-0.6.0.tar.gz 66.1 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 121.7 kB

Release files / axint-0.6.0.tar.gz

Download URL axint-0.6.0.tar.gz
Size 66.1 kB
Tags Source
SHA-256 checksum
How to use checksums
34b419ad195f517f5c730a163d78672069805e1b47f5cc9f97436fc4a949f063
BLAKE2b-256 checksum
How to use checksums
e404f0cf327ee82fa0ba0fdb57a16e17f1c6e1422f0b520443d1f12f0426abe7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / axint-0.6.0-py3-none-any.whl

Download URL axint-0.6.0-py3-none-any.whl
Size 55.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f128d733b4e0180c55842b5299c49872ce58dea8f7f9b9c24c6f43102a59f603
BLAKE2b-256 checksum
How to use checksums
3e42d3fae4e53086e3c83b4e0acee3d052e9184c9f194b10e9d2c588a41e0e95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Security for axint 0.6.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files No provenance

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