Skip to main content

OneKit

OneKit

One simple toolkit. Your files stay yours.

GitHub stars PyPI Apache-2.0 Python 3.11+

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: initial development version 0.1.0. Stable downloads exist only after their 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
PDF 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 composes an 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.

Metadata

Release files for onekit-tools 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for onekit-tools 0.1.0
File Size Uploaded
onekit_tools-0.1.0.tar.gz 272.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for onekit-tools 0.1.0
File Interpreter ABI Platform
onekit_tools-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 328.8 kB

Release files / onekit_tools-0.1.0.tar.gz

Download URL onekit_tools-0.1.0.tar.gz
Size 272.0 kB
Tags Source
SHA-256 checksum
How to use checksums
7ff168fbd0c01e9e1f7e7c3b4633c3086b6455ec6e5dbfe2246d78bf83b7d7c0
BLAKE2b-256 checksum
How to use checksums
4637c0a08115e97004e13337cc047f22790f668c834ac05cc82f8c5ed1e1e41e
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

Release files / onekit_tools-0.1.0-py3-none-any.whl

Download URL onekit_tools-0.1.0-py3-none-any.whl
Size 56.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f2b6187b90216940353c76ad338481cd6c40725d4ee6a8e094d3e467d5ae3af1
BLAKE2b-256 checksum
How to use checksums
1134666d8b83ffc1fd1d96ea9086a152a29f07b5bd346c3f4aaa9045f8865a4d
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

Release history Release notifications | RSS feed

0.2.1

2 release files

0.2.0

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page