iOS device automation via the Nomix Clicker API — simulated touch input with AI screen recognition.
Project description
NomixClicker Scripting Library
This is a library of ready-made scripts written in Python and using the free Clicker API.
What Is Clicker?
NomixClicker is a controlling dongle for iOS. It allows manual control, automatic control via API, and fully autonomous AI mode.
Part of the features are work-in-progress, see the Roadmap.
Installation
Requires Python 3.10+. Install from PyPI:
pip install nomix-clicker
Buy a Clicker device if you don't have it (delivery takes ~2 weeks to any place in the world), then open the Panel and get your API token.
Purchase on the official site only.
Configuration
Provide your API token and device id in either of two ways (environment variables take precedence):
Environment variables:
export NOMIX_API_KEY="your-api-key"
export NOMIX_DEVICE_ID="your-device-id"
Or a config.json in your working directory or next to the script (copy config.example.json):
{
"API_KEY": "your-api-key",
"DEVICE_ID": "your-device-id",
"API_URL": "https://panel.nomixclicker.com/clicker/v1"
}
Quick start
from nomix_clicker import Clicker, parse_screen, open_app, DEVICE_ID
clicker = Clicker(DEVICE_ID)
open_app(clicker, "Calculator")
screen = parse_screen(clicker) # returns None on network/timeout errors
if screen:
print(screen.description) # what the AI recognizer sees on screen
Manual control of iPhones will work out-of-the-box, no setup needed.
Examples
Ready-made example scripts live in the examples/ folder of the repository (not included in the pip package — clone the repo to get them). With the package installed, run one directly:
python3 examples/notes.py
Start here:
- notes.py - Safe, offline reference — opens the Notes app, creates a note, and types into it.
- ai_agent.py - Runs an autonomous AI agent task with real-time progress streaming — the agent drives the device on its own.
Device utilities live in tools/ — ⚠️ these change connectivity or the stream; running them may drop the device's broadcast:
- restart_all_devices.py - Restarts all devices associated with your account.
- wake-up-phone.py - Wakes, unlocks, and restarts the screen broadcast on a locked device.
- airplane-mode-iphone-12.py - Toggles airplane mode on and off on iPhone 12.
- switch-screen-viewing-iphone-12.py - Turns Clicker screen viewing on/off.
Local development
To work on the library itself, install it in editable mode:
pip install -e .
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nomix_clicker-0.1.1.tar.gz.
File metadata
- Download URL: nomix_clicker-0.1.1.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fb6c733f0d6ca0e2871226bc82c8f74406516d5d2ecdba23af6e5488960d58f
|
|
| MD5 |
7e2a7559057e4a8d61268c7a320fdb4f
|
|
| BLAKE2b-256 |
959e56188ef47891129bf2cd0fbb47d65677cefee3576c6f41d2124cc2d8649c
|
Provenance
The following attestation bundles were made for nomix_clicker-0.1.1.tar.gz:
Publisher:
publish.yml on nomix-ai/ClickerScriptingLibrary
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nomix_clicker-0.1.1.tar.gz -
Subject digest:
3fb6c733f0d6ca0e2871226bc82c8f74406516d5d2ecdba23af6e5488960d58f - Sigstore transparency entry: 2200095763
- Sigstore integration time:
-
Permalink:
nomix-ai/ClickerScriptingLibrary@a756028a4e625728347616b9b245c21f261ed4c9 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/nomix-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a756028a4e625728347616b9b245c21f261ed4c9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nomix_clicker-0.1.1-py3-none-any.whl.
File metadata
- Download URL: nomix_clicker-0.1.1-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb1206582a96a23ad0da2da532b4520de8e6a842727308b6bcac19015bac9c7c
|
|
| MD5 |
ae15959b7849fb8d644d73538c3b24f5
|
|
| BLAKE2b-256 |
1565d2a9672f210cdce836d1366a0d2d4e71d8ab70b6161ab4fe698f4186466a
|
Provenance
The following attestation bundles were made for nomix_clicker-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on nomix-ai/ClickerScriptingLibrary
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nomix_clicker-0.1.1-py3-none-any.whl -
Subject digest:
eb1206582a96a23ad0da2da532b4520de8e6a842727308b6bcac19015bac9c7c - Sigstore transparency entry: 2200096035
- Sigstore integration time:
-
Permalink:
nomix-ai/ClickerScriptingLibrary@a756028a4e625728347616b9b245c21f261ed4c9 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/nomix-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a756028a4e625728347616b9b245c21f261ed4c9 -
Trigger Event:
push
-
Statement type: