plone-restapi-shell
A non-interactive, composable command-line shell over the core Plone REST API, built for automation agents.
Every invocation performs one logical operation and emits exactly one versioned JSON result envelope on stdout — on success and on failure alike — with a stable process-exit taxonomy that reports the failure class rather than an HTTP status.
$ plone-restapi --profile production content get --path /news
{"command":"content.get","meta":{…},"ok":true,"result":{…},"schema":"plone-restapi-shell/v1"}
$ echo $?
0
Installation
$ pipx install plone-restapi-shell
uv tool install plone-restapi-shell and plain pip install work as well. OS
keyring support is the optional keyring extra. See
docs/installation.md.
The shell also ships the agent skill for driving it, with a command reference rendered from its own command tree:
$ plone-restapi skill install # into every known agent skills directory
$ plone-restapi skill update # after upgrading the shell
Documentation
- Quick start — profile, credential, read, write, confirm, and the exit taxonomy.
- Agent idioms — the six obligations this shell puts on its caller, and the idiom for each.
- Command reference — every family and operation with its safety class.
- Releasing — version policy and the release gates.
plone-restapi <family> <operation> --help is the authoritative reference and
needs no configuration, keyring, or network.
Verified against
Plone 6.2.0 with plone.restapi 10.0.2 is the maintained target and receives
the full suite. Plone 6.1.5 and 6.0.15 are security-supported compatibility
references verified by a smoke subset. CPython 3.10–3.14, on Linux, macOS, and
Windows.
Development
$ make venv # install the package and its tools
$ make check # lint, types, and everything that needs no container
$ make gate # the real-Plone suite with the 229/229 coverage gate
make help lists the rest. Implementation is tracked in
issues/0023-implement-the-plone-restapi-shell-cli.md.
Licence
GPL-2.0-only. See LICENSE.
Release files for plone-restapi-shell 0.1.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 | |
|---|---|---|---|
| plone_restapi_shell-0.1.0.tar.gz | 488.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| plone_restapi_shell-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 836.8 kB
Release files / plone_restapi_shell-0.1.0.tar.gz
| Download URL | plone_restapi_shell-0.1.0.tar.gz |
|---|---|
| Size | 488.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3064d77c7bfe3ad0c39791f04a93e216068f75eae955381bba94a4b484978689
|
|
BLAKE2b-256 checksum How to use checksums |
56c1ce1ffd5f9dfde929422919298d732f82cee9f6cfc5252b798415439d63cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / plone_restapi_shell-0.1.0-py3-none-any.whl
| Download URL | plone_restapi_shell-0.1.0-py3-none-any.whl |
|---|---|
| Size | 348.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aed10699f81bd0d8799519897e177695949f546ee4ecaff50f7547ca8d0ac24a
|
|
BLAKE2b-256 checksum How to use checksums |
38359f241dcb6eb03147cacee7fb09eaca4f98927972282bf48a89e81508f55d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|