This release is a pre-release and may not be stable for production use.
plone-client
What it does
- As a library, plone-client gives your code a client with one manager per
plone.restapiservice. Use it to sync content from an external source, to migrate content, or to automate site maintenance. - As a command line client,
plone-clientmanages any number of Plone sites, each one a named profile whose password stays in your operating system's keyring. It prints JSON and uses stable exit codes, so shell scripts and coding agents can use it as well as people. - As an MCP server,
plone-client mcpgives chat assistants the everyday reads and operations that take several requests, such as creating a page from Markdown or a news item with its images.
It works with Plone 6.0, 6.1, and 6.2, and needs Python 3.11 or later.
See the compatibility grid for the plone.restapi versions.
Install
uv add plone-client # the library
uv tool install "plone-client[cli]" # the command line
uv tool install "plone-client[mcp,markdown]" # the MCP server, with Markdown pages
Use the library
from plone_client import PloneClient
from plone_client import blocks
with PloneClient("https://example.org", username="editor", password="secret") as client:
page = client.content.create(
"/news",
"Document",
title="Hello, Plone",
**blocks.build(blocks.title(), blocks.description(), blocks.text("It works.")),
)
client.workflow.transition(page["@id"], "publish")
for item in client.search.iter("/news", portal_type="Document", review_state="published"):
print(item["@id"], item["title"])
Use the command line
plone-client profile add prod --url https://example.org --username editor --read-only
plone-client -p prod ls /news -f @id,title,review_state
plone-client -p prod search -t "News Item" --state published --limit 10
Documentation
The documentation is at https://plone.github.io/plone-client.
- Tutorials: your first script and your first command line session.
- How-to guides: sync content, manage profiles, upload files, use it from coding agents.
- Reference: compatibility, the client, managers, commands, configuration, and errors.
- Explanation: the design, secrets, and why a command line suits agents.
Contribute
License
The project is licensed under the GPLv2. See LICENSE.GPL.
Metadata
Release files for plone-client 1.0.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 | Provenance | |
|---|---|---|---|---|
| plone_client-1.0.0a1.tar.gz | 338.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| plone_client-1.0.0a1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 448.6 kB
Release files / plone_client-1.0.0a1.tar.gz
| Download URL | plone_client-1.0.0a1.tar.gz |
|---|---|
| Size | 338.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6dbfb37c68285729aa0bf4d34a152085706b33cb28eb66d17688344cc93cb3bd
|
|
BLAKE2b-256 checksum How to use checksums |
2aee1ade198dfa4becf4b5e6ee0c97e653dbfb4730e690e5540eb1547080bed5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / plone_client-1.0.0a1-py3-none-any.whl
| Download URL | plone_client-1.0.0a1-py3-none-any.whl |
|---|---|
| Size | 109.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
19c27c2ec92f4449c87bffd57214df306ad0a7fea29de9ab3a9e28af36e439f9
|
|
BLAKE2b-256 checksum How to use checksums |
be33e8fa040bce84f853d4239a31e10d6c370d1ed11f0dbf8c95bc8256f31cae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for plone-client 1.0.0a1
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.