Getting Started#
This section takes you from a fresh clone to a complete loop: a procedure defined in Python, executed on a phone, and analyzed back on your computer.
The Minimal Path#
You do not need a server to use CaptureGraph. The minimal setup is two pieces:
- The Python library (
capturegraph-lib) — defines procedures and analyzes captured data, all underimport capturegraph as cg. - The iOS app — executes procedures and stores the results on the device.
Data moves between them as plain files: you drag a procedure JSON onto the phone, and you drag the captured target folder back off. The procedure's schema travels with it, so the folder is self-describing — there is no manifest to maintain. The server, scheduler, and sync tool become relevant only when multiple people capture into a shared target — see Running a Server when you get there.
What's in This Section#
| Page | What you'll do |
|---|---|
| Installation | Clone the repo and install the Python library into a virtual environment |
| The iOS App | Build and run the CaptureGraph app on your device with Xcode |
| Your First Capture | Capture a session using a bundled procedure — no Python required |
| Your First Procedure | Write a procedure in Python, deploy it to the phone, and run it |
| Analyzing Your Data | Copy the captured target off the phone and load it with cg.load |
Prerequisites#
What you need (and what you don't)
- Python 3.12 or newer for the library — Linux, macOS, and Windows all work.
- macOS with Xcode is required only to build the iOS app, and an iPhone or iPad running iOS 18+ to capture with real sensors. There is currently no App Store or TestFlight distribution — you build the app from source.
- If someone else builds and installs the app on your device for you, everything else in this documentation works from any platform.
Next#
Start with Installation.