dokuments
The python client for dokuments, the Arkitekt document service: files uploaded to the deployment's S3 datalayer, and documents made of pages, each page an image with its OCR result (text lines and page rotation).
Installation
pip install dokuments
Usage
Every dokuments operation is a method of the Dokuments client, in a blocking
and an a-prefixed async flavour: from_file_like (upload a file),
get_file, search_files, watch_files, create_document, create_page,
request_file_access, ….
In an arkitekt app
The client is injected by annotation. Add the service to your app and ask for
dokuments: Dokuments:
from arkitekt import App, run
from dokuments import Dokuments, dokuments_service
from dokuments.api.schema import File
app = App("scanner", "0.1.0", services=[dokuments_service])
@app.action
def upload_scan(path: str, dokuments: Dokuments) -> File:
"""Upload Scan"""
return dokuments.from_file_like(file=path)
if __name__ == "__main__":
run(app)
Files travel between actions by id (@dokuments/file), so an action can take
and return them directly.
From a script
from arkitekt import easy
from dokuments import dokuments_service
with easy("my-script", dokuments_service) as dokuments:
file = dokuments.from_file_like(file="scan.pdf") # a path, a Path or a binary file object
document = dokuments.create_document(title="My scan", file=file.id)
print(document.id, file.store.presigned_url)
Uploads go straight to the datalayer: the client asks the server for upload credentials and writes the file to S3 before the mutation is sent.
Development
The generated API (dokuments/api/schema.py) comes from the checked-in
schema.graphql and the documents in graphql/; see graphql.config.yaml.
Metadata
Release files for dokuments 1.0.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 | Provenance | |
|---|---|---|---|---|
| dokuments-1.0.0.tar.gz | 15.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dokuments-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.0 kB
Release files / dokuments-1.0.0.tar.gz
| Download URL | dokuments-1.0.0.tar.gz |
|---|---|
| Size | 15.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d367e35f0480be3d7e1e4e2240931d495d283f1cf9f057d0014428d4579d570b
|
|
BLAKE2b-256 checksum How to use checksums |
7db28068219649e745c15529f662714d160e1c3afa71d8117ad5a3ae6d710b5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.3 {"installer":{"name":"uv","version":"0.13.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / dokuments-1.0.0-py3-none-any.whl
| Download URL | dokuments-1.0.0-py3-none-any.whl |
|---|---|
| Size | 17.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2ca582ce3dde10424be1b8ff35cb4cf6ce7b312cbf8c5c31cfd7a363dd90fb34
|
|
BLAKE2b-256 checksum How to use checksums |
37a1eb8f5147adde8a39e9d3898e320bb3d79c5891f8786ff779eb787f2a7ea8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.3 {"installer":{"name":"uv","version":"0.13.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for dokuments 1.0.0
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.