This release is a pre-release and may not be stable for production use.
any2any – Universal File Converter
Convert any file to any other file using pure Python libraries. No external binaries required (except optional ones for some formats). Uses a graph of 386 formats to find a conversion path via BFS.
Features
- PDF to video slideshow – renders each page to an image, then creates a video.
- Image to video – loop a single image for a few seconds.
- Document conversion – uses pandoc (via pypandoc) for markdown, docx, etc.
- Text to speech – uses pyttsx3 (native OS) or espeak‑ng.
- Many image formats – via Pillow.
- Specialized formats (optional) – MIDI, Minecraft NBT, BSON, JSON5, and more.
Installation
pip install any2any
For optional game formats:
pip install any2any[game]
Requirements
- Python 3.8 or later
- No system‑wide dependencies needed for basic operation – the package bundles or automatically downloads all required libraries (e.g., pypandoc will download pandoc on first use).
Usage
any2any input.pdf output.mp4
First run will build the conversion graph from the included cache.json. Subsequent runs load it instantly.
How it works
- The graph (derived from the original convert.to.it project) defines which formats can be directly converted by which tools.
- BFS finds the shortest path from input format to output format.
- Each step uses a pure Python library (or subprocess fallback) to perform the conversion, possibly creating intermediate files in a temporary directory.
Examples
- Convert a multi‑page PDF to a slideshow video (1 second per page):
any2any document.pdf slideshow.mp4
- Convert a single JPEG to a 5‑second MP4 loop:
any2any photo.jpg video.mp4
- Convert a Markdown file to DOCX:
any2any readme.md report.docx
Limitations
- Some conversions (e.g., complex video filters) may not be supported by the pure Python libraries.
- The package relies on
pypandocto handle document conversions; it may take a few seconds to download pandoc on first use. - For text‑to‑speech, the script attempts to use
espeak-ngvia subprocess; if not found, it falls back topyttsx3(which uses native OS speech).
License
GPL‑2.0‑or‑later (to match the original project). See LICENSE.
Acknowledgements
Based on the format graph from convert.to.it and the original TypeScript handlers.
Metadata
Release files for any2any 0.0.1.dev1
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 | Actions |
|---|---|---|---|---|
| any2any-0.0.1.dev1.tar.gz | 13.7 kB | Without provenance | Details for any2any-0.0.1.dev1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| any2any-0.0.1.dev1-py3-none-any.whl | Python 3 | none | any | Details for any2any-0.0.1.dev1-py3-none-any.whl |
Total release size: 27.8 kB
Release files / any2any-0.0.1.dev1.tar.gz
| Download URL | any2any-0.0.1.dev1.tar.gz |
|---|---|
| Size | 13.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9c26bc30c1a2f97bf7a455836a678461bb62c2943380d9b4688a2f302a5350c8
|
|
BLAKE2b-256 checksum How to use checksums |
c45b6c788bd42ef1c5f28fbef827838268acfb71ae9c84a3b41f9ee6af99304a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / any2any-0.0.1.dev1-py3-none-any.whl
| Download URL | any2any-0.0.1.dev1-py3-none-any.whl |
|---|---|
| Size | 14.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cd5e834b780be0f85074ab6e1a9d9c9f8323ec3755efa4cd55eca145661398d4
|
|
BLAKE2b-256 checksum How to use checksums |
da17a3f1f570b7ecf8267ff59e8e15b7662b06c314f60676a192b2240323d8be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Security for any2any 0.0.1.dev1
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.