This release is a pre-release and may not be stable for production use.
pyxpo-secure-store
Encrypted key-value storage for secrets (tokens, passwords) in pyxpo apps. The API follows expo-secure-store.
This is an optional pyxpo native module. Apps that do not list it carry none of its code, permissions or dependencies.
Install
pip install pyxpo-secure-store
Then link it into your app in pyproject.toml:
[tool.pyxpo]
modules = ["secure-store"]
and rebuild (pyxpo run ios, pyxpo build android, ...).
Use
import pyxpo_secure_store as SecureStore
await SecureStore.set_item_async("token", "abc") # or SecureStore.setItemAsync
await SecureStore.get_item_async("token") # "abc", or None
await SecureStore.delete_item_async("token")
# Ask for Face ID / Touch ID / fingerprint before the value can be read
await SecureStore.set_item_async("pin", "1234", {
"requireAuthentication": True,
"authenticationPrompt": "Unlock your PIN",
})
Options: keychainService, requireAuthentication, authenticationPrompt, keychainAccessible
(iOS, one of the SecureStore.WHEN_UNLOCKED, AFTER_FIRST_UNLOCK, ... constants) and accessGroup (iOS).
Keys use letters, digits, ., - and _. Values are strings: use json.dumps for objects. Keep values
small (a few KB).
- iOS keeps values in the Keychain. Keychain items survive app deletion.
- Android encrypts values with an AES-256-GCM key held in the Android Keystore and keeps the ciphertext
in the app's SharedPreferences.
requireAuthenticationneeds Android 10 or newer. - On the desktop (tests, previews) values live in memory only and are not encrypted.
Permissions and Info.plist keys: NSFaceIDUsageDescription (set its text with the faceIDPermission
option) and Android USE_BIOMETRIC.
What is in the package
pyxpo_secure_store/__init__.py: the Python API.pyxpo_secure_store/pyxpo-module.json: autolink metadata.pyxpo_secure_store/ios/: Swift sources compiled into the iOS app.pyxpo_secure_store/android/src/main/: Kotlin sources and the manifest merged into the Android app.
Metadata
Release files for pyxpo-secure-store 0.1.0a1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyxpo_secure_store-0.1.0a1.tar.gz | 11.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyxpo_secure_store-0.1.0a1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.2 kB
Release files / pyxpo_secure_store-0.1.0a1.tar.gz
| Download URL | pyxpo_secure_store-0.1.0a1.tar.gz |
|---|---|
| Size | 11.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
26c25f5b46deaf203876e3908d6766f44b0839d3d94c37997b73d010d6731cca
|
|
BLAKE2b-256 checksum How to use checksums |
da1c80747b1dfd6255f09fdb385af72586c924cfa1f7159a423ebbdd55735ca7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 15, 2026.
Transparency logRelease files / pyxpo_secure_store-0.1.0a1-py3-none-any.whl
| Download URL | pyxpo_secure_store-0.1.0a1-py3-none-any.whl |
|---|---|
| Size | 12.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
464762747f824cd0e9d3ff20a4e49af45965a3a9fd056cbd9efd4ec20009f320
|
|
BLAKE2b-256 checksum How to use checksums |
4be7cbe3a83ee53cdd22c5ee70371dfb49658c16cae279ff9d20d2b77c5b64a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 15, 2026.
Transparency log