veilfile CLI
Command-line client for Veilfile. Single file, standard library only — no dependencies to audit.
Install
pip install veilfile
Or run the script directly with any Python 3.9+:
python3 veilfile.py login
Usage
veilfile login # browser approval flow; stores the API key locally
veilfile logout # revoke the key on the server; delete the local copy
veilfile status # confirm the stored key is valid (never prints it)
veilfile login prints a code and opens the verification page in your browser.
Approve it there and the terminal picks up the API key — you never paste a
secret. veilfile login --print-key prints the raw key too, for the rare case
you explicitly need it (it is never printed otherwise).
The key is stored in a 0600 credentials file (~/.config/veilfile on
macOS/Linux, %APPDATA%\veilfile on Windows). Setting VEILFILE_API_KEY
overrides the file, matching the MCP setup docs. --base-url (or
VEILFILE_BASE_URL) points the CLI at a local dev server.
Distribution notes
- pip (recommended):
pip install veilfilepulls a versioned package over TLS from PyPI. Zero dependencies, so the supply chain is one package. - Direct download: fetch
veilfile.pyfrom the repo, read it, run it. Reasonable for the cautious; you get to inspect every line first. - curl-to-shell: not recommended. Piping remote code straight into a shell skips integrity verification entirely. For a security-conscious buyer that is the wrong default, so we do not publish a one-liner.
Publishing a new release (founder only)
The founder owns the PyPI account and runs the upload from his own machine — PyPI tokens cannot live in the Secure Vault, so this step is never automated.
cd cli
python3 -m build # builds sdist + wheel into dist/
twine check dist/* # metadata sanity check
twine upload dist/* # username: __token__, password: <PyPI API token>
Rules: bump version in both pyproject.toml and __version__ in
veilfile.py before building; never upload a version number that already
exists on PyPI (0.1.0 was the placeholder, 0.2.0 is this release); verify
twine check is clean before uploading.
Development
cd cli
python3 -m unittest discover -s tests -t .
Metadata
Release files for veilfile 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| veilfile-0.2.0.tar.gz | 10.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| veilfile-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.9 kB
Release files / veilfile-0.2.0.tar.gz
| Download URL | veilfile-0.2.0.tar.gz |
|---|---|
| Size | 10.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e03530bb84151ac6fe32eff053e1acbce3c6d8a66c93535461c7f8526aac9459
|
|
BLAKE2b-256 checksum How to use checksums |
0e230695f7b2cf4c1a6e9a82f932364efb948b58b777f0f0425783f055a1d3ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / veilfile-0.2.0-py3-none-any.whl
| Download URL | veilfile-0.2.0-py3-none-any.whl |
|---|---|
| Size | 7.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f39e0761a746ae26b0e40d8ff6d95ef8753f0dc2dce333f25869aea3096227ad
|
|
BLAKE2b-256 checksum How to use checksums |
d703a72be91ea00171c11e6c974567067d4775461fe2eda47a2213a56256d97d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|