takopi-expo
Build Expo / EAS React Native apps from Takopi commands and return install links.
This plugin is intentionally strict about Takopi configuration: it will refuse
commands unless the target repo is registered under [projects.<name>] and has
an explicit [plugins.expo.projects.<name>] entry.
quickstart
Install takopi + plugin (same environment as your transport):
uv tool install -U takopi --with takopi-expo
Add config to ~/.takopi/takopi.toml:
[plugins]
enabled = ["takopi-expo"]
[plugins.expo]
# global defaults
default_platform = "all" # ios | android | all
default_profile = "development" # development | preview | production
non_interactive = true
wait = true
[projects.zkp2p-mobile]
path = "/home/ubuntu/zkp2p/zkp2p-mobile"
worktrees_dir = ".worktrees"
[plugins.expo.projects.zkp2p-mobile]
# per-project overrides (required)
# optional: map to package.json scripts
build_dev = "build:dev"
build_ios = "build:ios"
build_android = "build:android"
Set EXPO_TOKEN in the environment (or plugins.expo.expo_token in
takopi.toml) for non-interactive EAS builds.
server setup (remote EAS builds)
takopi-expo uses eas build on Expo's servers, so it works on Linux without
Xcode. You still need Expo credentials configured in your Expo account.
- Install EAS CLI on the server (or set
eas_binin config).
npm install -g eas-cli
- Create an Expo access token and export it where Takopi runs (or set
plugins.expo.expo_tokenintakopi.toml).
export EXPO_TOKEN=your_token_here
-
Ensure credentials exist in Expo:
- iOS: Apple Developer credentials configured via EAS.
- Android: keystore configured via EAS.
-
Confirm
eas.jsonincludes a dev build profile:
{
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
}
}
}
For day-to-day development, install the dev client once (/expo build:dev),
then run Metro on your server and point the device to the server host/port.
commands
/expo build [platform] [profile] [--wait|--no-wait]/expo build:dev(alias)/expo build:preview(alias)/expo build:prod(alias)/expo build:ios(alias)/expo build:android(alias)/expo install [platform] [profile](fetch latest build link)/expo update <channel> <message...>/expo status/expo help
behavior
- Requires a Takopi project context (e.g.
/zkp2p-mobile @branch). - Refuses to run if the project is not configured in
takopi.toml. - Uses EAS CLI by default. Optional script aliases can be configured per project.
- When
wait = true, build commands fetch the latest build link and print install URLs.
notes for zkp2p-mobile
The repository already defines EAS build scripts:
bun build:devbun build:androidbun build:ios
Use /expo build:dev for device-installable development builds, then
/expo update development "message" for OTA updates without running Metro.
Metadata
Release files for takopi-expo 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| takopi_expo-0.1.7.tar.gz | 9.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| takopi_expo-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.0 kB
Release files / takopi_expo-0.1.7.tar.gz
| Download URL | takopi_expo-0.1.7.tar.gz |
|---|---|
| Size | 9.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
130017a3fad5f35734fbf829513ce0c1d6e69383101be084cc3aba04c7cfa4e2
|
|
BLAKE2b-256 checksum How to use checksums |
a31227c69960be91fbd0ec8b8436f441e81d664b644f4f4900b2276107ff1a9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 3, 2026.
Transparency logRelease files / takopi_expo-0.1.7-py3-none-any.whl
| Download URL | takopi_expo-0.1.7-py3-none-any.whl |
|---|---|
| Size | 12.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1226266f31241e662f0c420be7dfb89c8220e5718942926e75ebb1a16f4deac2
|
|
BLAKE2b-256 checksum How to use checksums |
9a1aded9288f8eb31e647cd6c91739eb71198efbd53a14c8892ce6c94828f307
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 3, 2026.
Transparency log