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.5.tar.gz (7.6 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: applepy_cli-0.1.5.tar.gz
  • Upload date:
  • Size: 7.6 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.5.tar.gz
Algorithm Hash digest
SHA256 c7e30e728b3ee09d9e968580dd73d871831e8752b044ee91babd25dae34217d1
MD5 6778ef6fbf8a46ef565b2a8491d8105a
BLAKE2b-256 42226f265b44512a095013aafcefcb144347b0d6460a2b9fc2b86a3cb7a8d98d

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