juno¶
Warning
The juno package is a work in progress, only available in
Juno 4.0 — which is itself currently in beta. Public surfaces
may change between releases until the API stabilises. The
BETA badge next to each page title is a reminder that you
are reading pre-stable documentation.
Pythonic iOS device APIs for Juno scripts.
The juno package gives Python scripts running inside Juno first-class access to iOS frameworks — clipboard,
contacts, reminders, photos, sound, notifications, sharing, location,
motion, the device itself, the keychain, and Bluetooth — without any of
the boilerplate of bridging to ObjC by hand. Each submodule wraps a
single iOS framework with a small, idiomatic Python surface (dataclasses,
context managers, generators, with-blocks).
Typical usage:
from juno import clipboard, sound, bluetooth
clipboard.set_string("Hello from Python")
sound.play("/path/to/notification.wav")
for adv in bluetooth.scan(timeout=10):
print(adv.name, adv.rssi)
Modules¶
juno.bluetooth — Core Bluetooth (central role) scan, connect, characteristic read/write/notify.
juno.clipboard — read / write the system pasteboard (text, URL, image bytes).
juno.contacts — read and write the device address book.
juno.device — device info (model, OS version, screen geometry, battery, haptics).
juno.keychain — store and retrieve secrets in the iOS keychain.
juno.location — one-shot location fixes and reverse-geocoding.
juno.motion — accelerometer / gyroscope / magnetometer / device-motion streams.
juno.notifications — schedule and cancel local user notifications.
juno.photos — pick photos from the user’s library; save bytes to the camera roll.
juno.reminders — read, add, complete, and delete EventKit reminders.
juno.sharing — present the system share sheet (
UIActivityViewController).juno.sound — fire-and-forget audio playback and a
Playerclass for stateful control of a long-livedAVAudioPlayer.