This release is a pre-release and may not be stable for production use.
pyxpo-file-system
Files and folders in the app sandbox for pyxpo apps. The API follows expo-file-system (File,
Directory, Paths), and the older function API is in pyxpo_file_system.legacy.
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-file-system
Then link it into your app in pyproject.toml:
[tool.pyxpo]
modules = ["file-system"]
and rebuild (pyxpo run ios, pyxpo build android, ...).
Use
from pyxpo_file_system import Directory, File, Paths
notes = Directory(Paths.document, "notes")
notes.create(idempotent=True)
f = File(notes, "today.txt")
f.write("hello")
f.text_sync() # "hello"
await f.text() # same, async
f.size, f.exists, f.uri
for entry in notes.list():
print(entry.name)
# Download (native networking on iOS and Android)
img = await File.download_file_async("https://example.com/cat.jpg", Paths.cache)
Legacy API:
from pyxpo_file_system import legacy as FileSystem
path = FileSystem.documentDirectory + "a.txt"
await FileSystem.writeAsStringAsync(path, "hi")
await FileSystem.readAsStringAsync(path)
Folders: Paths.document is kept until the app is removed. Paths.cache can be cleared by the system.
Permissions: Android INTERNET (for downloads). Info.plist keys: none.
What is in the package
pyxpo_file_system/__init__.pyandlegacy.py: the Python API.pyxpo_file_system/pyxpo-module.json: autolink metadata.pyxpo_file_system/ios/: Swift sources compiled into the iOS app.pyxpo_file_system/android/src/main/: Kotlin sources and the manifest merged into the Android app.
Metadata
Release files for pyxpo-file-system 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_file_system-0.1.0a1.tar.gz | 15.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyxpo_file_system-0.1.0a1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.9 kB
Release files / pyxpo_file_system-0.1.0a1.tar.gz
| Download URL | pyxpo_file_system-0.1.0a1.tar.gz |
|---|---|
| Size | 15.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0cdf7192e179618f7f49cfaa74c9d0797b5e6814f4fdd26ed107bd7df577ea23
|
|
BLAKE2b-256 checksum How to use checksums |
c86483aaa5c46a187ef1eb52cdc1a8dd25e791df851c920547eb6ab605b96c46
|
| 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_file_system-0.1.0a1-py3-none-any.whl
| Download URL | pyxpo_file_system-0.1.0a1-py3-none-any.whl |
|---|---|
| Size | 16.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2194bbaec771667efcf71235d34801fdc0e75ba4b22ea1e546fec275e8ae7ddd
|
|
BLAKE2b-256 checksum How to use checksums |
b5bb68dd1e98916de4fee58f84bff4ffe9c66f096c478e373d5eda2323502622
|
| 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