Observed since 21 Oct, 09:50 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Keep a folder on your computer in sync with your AIA knowledge graph
Keep folders on your device in sync with AIA, your own knowledge graph.
On a Mac (Apple silicon or Intel), or Linux on x86_64, one line installs aia for your
user, with no password and no Python needed. It fetches AIA's engine for this
computer from your deployment (here the hosted one; your own serves the same script
at its own address):
curl -fsSL https://app.013a.tech/install.sh | sh
aia folder add notes ~/Documents/notes
The script checks the engine's SHA-256 before it installs it under
~/Library/Application Support/AIA (Linux: ~/.local/share/aia), links aia into
~/.local/bin, signs this computer in (aia login opens your browser at the
sign-in page with the code filled in, and waits until you have signed in) and starts
AIA in the background. sh -s -- --no-login after the pipe stops after the install;
sh -s -- --help lists the rest, exit codes included.
Anywhere with Python 3.10 or newer, install the package from PyPI with pipx instead:
pipx install "aia-cli[watch,channel]"
aia login --url https://api.013a.tech
aia folder add notes ~/Documents/notes
aia service install # keep AIA running in the background
The package is aia-cli; the command it installs is aia. A package called
aia on PyPI belongs to an unrelated project: pip install aia installs someone
else's code. That project also installs a Python module named aia, so the two
cannot share an environment: whichever loads second breaks the other. pipx gives
aia an environment of its own. Without pipx, install with pip into a virtual
environment that holds nothing else.
The same install.sh, run as a file beside a wheel, installs that wheel, and
--wheel FILE names one; a Mac ships Python 3.9, so there it downloads a pinned
CPython from python-build-standalone and checks its SHA-256 first.
Every version on PyPI is built by CI from the tag cli-v<version>, which must
name the version the package declares. The release keeps SHA256SUMS for the wheel
and the sdist, a SLSA provenance statement naming the commit and the pipeline that
built them, and a minisign signature over both, checked against the release key below
before anything is uploaded. After the upload it compares the SHA-256 PyPI serves
for each file with SHA256SUMS, and any difference fails the release. To check a
release yourself, ask support@013a.tech for its files, then:
minisign -Vm SHA256SUMS -P <the release key>
minisign -Vm aia_cli-<version>.provenance.json -P <the release key>
sha256sum -c SHA256SUMS
The release key:
RWTTmOTyJEm+M0inq5FoBCOsMY3vil/aMLfn0C6KbOIR4zqATOAecVmN
Releases up to 0.1.9 were signed with the previous key, retired on 2026-10-19: RWSVfBZY/SJjE2WsgLMqe1PCawH+/PVD29Ic396wRIrOCGxf6WGsrNwZ.
aia binds a folder to a source and sends what changes. The documents travel as
bytes: the platform extracts the text, so a PDF reads the same however the
folder was synced, and upgrading the converters does not mean re-sending a corpus.
An engine runs in the background, watches the folders you bound, coalesces a burst
of edits into one sync, and reconciles on an interval because file events are lossy.
aia itself is a renderer over the engine's methods, and runs them in-process when
no engine is running.
.env, id_rsa, *.pem) or whose contents match a credential pattern holds
the sync until you allow that exact path. A partial sync that quietly skipped
something is how a corpus ends up wrong in a way nobody sees.cryptography, for the Ed25519 signature on every request. Nothing else is
required. Two extras are available and neither is needed to sync:
pip install "aia-cli[watch]" # platform file events instead of polling
pip install "aia-cli[channel]" # reachable from your tools, over an outbound socket
The distribution deliberately carries none of the server's dependencies. If
pip install aia-cli ever brings in liboqs, Neo4j, torch, FastAPI or a
document converter, that is a bug and the import-closure gate in CI should have
caught it.
| code | meaning |
|---|---|
| 0 | it did what it was asked |
| 1 | an error this table does not name |
| 2 | bad arguments |
| 3 | the record of what left this device and AIA disagree (aia folder verify, aia egress verify) |
| 4 | not signed in |
| 5 | the deployment answered, and the answer was no |
| 6 | the deployment or the engine could not be reached |
| 7 | another engine already holds this device's lock |
| 8 | a sync was refused because the folder holds something that looks like a secret |
| 130 | stopped with Ctrl-C |
Every failure prints error: and the one thing to do next. A problem the command did
not expect writes its details to ~/.config/aia/cli.log and says so; --debug shows
them in the terminal instead. aia --version names the build, which is what a bug
report needs.
Proprietary: © 013a GmbH, all rights reserved. You may use the connector only under a
written agreement with 013a GmbH; for testers, that is the tester agreement. One file it
ships, aia/__init__.py, is shared with the open-source verifier and is Apache-2.0. The
wheel carries LICENSE and LICENSES/Apache-2.0.txt.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.10 | 19 Oct 2026 | 3 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 09:50 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:0eeb48d665483f80e7105b8ea76c67f3e4e6174a499e6716505019eb5b1f7f5c