OneKit
One simple toolkit. Your files stay yours.
An offline Python toolkit for conversions, PDFs, images, archives, fonts, file inspection, encryption, developer utilities, OCR and comparisons. Use this CLI or the graphical interface at onekit.org. Both use the same processing core and catalog.
Status: release candidate 0.2.0. Stable downloads exist only after the release workflow completes. The distribution is onekit-tools; the separately owned PyPI project called onekit is unrelated.
Install
Python 3.11+ is required. The universal wheel supports Windows, macOS and Linux on x64/ARM64. Optional native libraries and external engines have additional platform requirements.
After publication:
python -m pip install onekit-tools
python -m pip install "onekit-tools[pdf,images,documents]"
onekit list
onekit doctor
From a source checkout:
python -m pip install -e ".[all,test]"
python -m onekit --help
python -m pytest -q
The base CLI has no runtime dependencies. Install only the extras you need. all includes the standard Python families; cryptographic signing uses the separate signing extra. Install native engines separately. For Node-based developer tools, install Node.js 24+ and run onekit engines install. Processing never silently downloads compiler/converter programs.
Use
onekit run pdf-merge first.pdf second.pdf -o combined.pdf
onekit run pdf-extract-pages document.pdf --options '{"pages":"1,3-5"}' -o selected.pdf
onekit run image-convert image.png --options '{"format":"webp"}' -o image.webp
onekit run diff-notebook before.ipynb after.ipynb --options '{"mode":"code"}' -o changes.json
onekit run security-encrypt private-folder --ask-password -o private.onekit
onekit run security-decrypt private.onekit --ask-password -o restored
Options are JSON objects; pass them as one quoted shell argument. Use --ask-password for secrets. Existing outputs are preserved unless you pass --force.
onekit list --group pdf, onekit list --json and onekit doctor TOOL_ID expose contracts and requirements. Every tool has a directory under tools, containing metadata and a pointer to its shared implementation. See the CLI guide for options and limits.
Toolkit
| Family | Capabilities |
|---|---|
| Converters | Markdown, HTML, LaTeX, PDF, Word, PowerPoint, images, Base64, Excel, CSV and JSON |
| Merge/split, page selection/order/removal, compression, repair, text overlays, rotation, digital signatures, encryption/unlock, external PDF/A conversion/validation | |
| Images | Extract embedded PDF images, compress, crop and change format |
| Media | Audio/video conversion through separately installed FFmpeg |
| Archives / fonts | ZIP/TAR variants; TTF/OTF containers and WOFF/WOFF2 |
| Inspector / security | Type signatures, structure, metadata, encoding, hashes, text counts; authenticated encrypted file/folder archives |
| Developer | Language-specific formatting, parser/compiler validation and selected minification |
| OCR | Scanned images/PDF to searchable PDF, Word, Markdown, LaTeX, HTML and JSON |
| Diff | Text, code, normalized JSON, notebooks, LaTeX, PDF and Word text |
Content-preserving operations and conversions with compromises are distinguished explicitly. PDF-to-Word reconstructs extracted text, not original layout. OCR is not guaranteed exact. Fonts retain their outline technology. The browser exposes only tools verified in its worker; native-only features remain in development there.
Pipelines and development
onekit pipeline --steps workflow.json INPUTS -o OUTPUT accepts a portable onekit-workflow JSON document exported by the web app, or a legacy ordered JSON array of { "tool": "...", "options": {} } steps. Each receives prior outputs. Single-input steps map over multiple outputs; merge steps receive the collection. Incompatible types stop processing.
Read architecture, engine setup and licenses, release operations, contribution requirements and security. New features and fixes require regression tests. GitHub Actions checks platform compatibility, browser contracts, native integrations, security, licenses and packaging before publication. Dependabot monitors locks, browser requirements, Node engines, Actions and Docker. Conservative compatible lock-only updates can auto-merge after all checks.
Report bugs and suggestions through GitHub issues or the website request board. Contributors can find work in either place.
License and creator
Created by Mattia Piazzalunga. Copyright © 2026 Mattia Piazzalunga. Licensed under Apache-2.0; see NOTICE, AUTHORS.txt and CONTRIBUTORS.txt. Third-party components retain their licenses. External engines are separate programs with their own redistribution obligations.
Export and reimport workflows without processing input files:
onekit workflow export steps.json -o workflow.onekit.json
onekit workflow import workflow.onekit.json -o saved-workflow.json
onekit pipeline --steps saved-workflow.json input.json -o output.json
The web app imports and exports the same versioned JSON, including block positions and expansion state. Workflow files contain tool settings; input files and passwords are excluded from exports. Reenter passwords before running. Browser imports report unsupported tools or option values without replacing the current workflow. CLI-only workflows can still be imported, exported and run with the CLI.
Metadata
Release files for onekit-tools 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 | |
|---|---|---|---|
| onekit_tools-0.2.0.tar.gz | 295.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| onekit_tools-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 362.2 kB
Release files / onekit_tools-0.2.0.tar.gz
| Download URL | onekit_tools-0.2.0.tar.gz |
|---|---|
| Size | 295.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
accbb4b2e85f58b2b17ab781318be45b9d4bda9501aaf9221d0bbf51000dd1ec
|
|
BLAKE2b-256 checksum How to use checksums |
4d216f23054cff3b82202218bc27a47c9e4c0df14f97ab320514afb3de02df4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency logRelease files / onekit_tools-0.2.0-py3-none-any.whl
| Download URL | onekit_tools-0.2.0-py3-none-any.whl |
|---|---|
| Size | 66.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
92c240dbd956096e376f80ebf3361e7d32c2ecfedae0bcb9765ca2d4eb3c407b
|
|
BLAKE2b-256 checksum How to use checksums |
7cb1effae5338d8bb8bcd3c2b0f2c29a7a26d41a1c45e4c4a14f7599f7e8f816
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency log