Skip to main content

Build tool for ApplePy — scaffold, build, and publish Swift-powered Python packages

Project description

🍎 applepy-cli

Build tool for ApplePy — scaffold, build, and publish Swift-powered Python packages.

The equivalent of maturin for PyO3, but for Swift.

Install

# pip
pip install applepy-cli

# uv
uv pip install applepy-cli

Quick Start

applepy new myproject
cd myproject
applepy develop
python myproject/examples/demo.py
# → Hello, World! 🍎

Commands

Command Description
applepy new <name> Scaffold a new project with Swift source, pyproject.toml, demo
applepy develop Build Swift extension and install into current environment
applepy build Build a distributable wheel (.whl)
applepy publish Publish to PyPI (or --test for TestPyPI)

applepy new Options

applepy new myproject                     # Uses GitHub ApplePy (default)
applepy new myproject --local             # Uses local ApplePy checkout
applepy new myproject --applepy-path ../ApplePy  # Explicit local path
applepy new myproject -d "My description" # Set project description

Generated Project Structure

myproject/
├── pyproject.toml
├── setup.py
├── README.md
├── myproject/
│   ├── __init__.py
│   └── examples/demo.py
└── swift/
    ├── Package.swift
    └── Sources/MyProject/MyProject.swift

Requirements

  • macOS (Apple frameworks require macOS)
  • Swift 6.0+ toolchain
  • Python 3.10+

License

BSD-3-Clause © Jagtesh Chadha

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

applepy_cli-0.1.3.tar.gz (7.7 kB view details)

Uploaded Source

File details

Details for the file applepy_cli-0.1.3.tar.gz.

File metadata

  • Download URL: applepy_cli-0.1.3.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for applepy_cli-0.1.3.tar.gz
Algorithm Hash digest
SHA256 a80862ba144732e1eeeb7a095348dbfd4b3bff3121859f2d0f971466f6e2bd2a
MD5 643787c5c5edc4787f58138fa2e750fb
BLAKE2b-256 ab6c6133732136534d19170c5e3517a1f7369cb3506d2f50a0cd19dccca5c06d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page