sleepyconvert is a Typer CLI that converts files between formats, inferring intent solely from the input and output extensions — no subcommands, no flags to memorize. Point it at a source and a destination and it does the right thing.
Install
uv tool install sleepyconvert # or: pipx install sleepyconvert
-v/--versionprints the version and best-effort checks PyPI for a newer release — it works even when placed alongside the paths. Runsleepyconvert aboutfor the project's PyPI + GitHub links.
Configure
sleepyconvert is a sleepy util and reads its settings from the shared ~/sleepyconfig/params.yml, using the convert_ key prefix. If the file is absent it writes only its own section (below) and says so; if a value it needs is missing it prints this snippet and asks you to verify your config.
# sleepyconvert
convert_output_archive_dir: null # a dir → also save a dated copy of every output; null → off
convert_output_archive_dir— when set to a directory, every conversion also drops a dated copy of its output there as<archive_dir>/<yyyy>_<mm>_<dd>_<output_filename>.
Supported conversions
| Category | Extensions |
|---|---|
| Data | csv, parquet, json, pkl, xlsx |
| Images | png, jpg, jpeg |
| Documents | html, pdf, md |
Any pair within the same category is valid (in either direction); cross-category conversions are rejected.
Usage
sleepyconvert <input_path> <output_path>
Both paths resolve relative to the current directory, and their extensions decide the conversion.
Data — round-trip between tabular formats:
$ sleepyconvert sales.csv sales.parquet
Created /Users/dingus/work/sales.parquet
Images — re-encode between raster formats:
$ sleepyconvert photo.png photo.jpg
Created /Users/dingus/pics/photo.jpg
Documents — convert between markup and PDF:
$ sleepyconvert notes.md notes.pdf
Created /Users/dingus/docs/notes.pdf
With convert_output_archive_dir set, each conversion also writes a dated archive copy:
$ sleepyconvert sales.csv sales.parquet
Created /Users/dingus/work/sales.parquet
Archived copy written to /Users/dingus/archive/2026_02_09_sales.parquet
Mixing categories fails fast with a clear message:
$ sleepyconvert data.csv chart.png
Error: Input and output extensions must belong to the same type group.
Use `convert --help` to see the supported categories.
About — print the version and the project's public PyPI + GitHub links:
$ sleepyconvert about
sleepyconvert 2.3.1
PyPI: https://pypi.org/project/sleepyconvert/
GitHub: https://github.com/anthonybench/convert
Development
uv venv
uv pip install -e ".[dev]"
uv run pytest # or ./tools/test.sh
Documentation
- Specification — what the tool does
- Project outline — repository layout
- Test drive — setup, testing, and CLI usage
- Adding a conversion — how to add a new format pair
- Publishing — release to PyPI
Metadata
Release files for sleepyconvert 2.3.3
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 |
|---|---|---|---|---|
| sleepyconvert-2.3.3.tar.gz | 25.0 kB | Without provenance | Details for sleepyconvert-2.3.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| sleepyconvert-2.3.3-py3-none-any.whl | Python 3 | none | any | Details for sleepyconvert-2.3.3-py3-none-any.whl |
Total release size: 58.9 kB
Release files / sleepyconvert-2.3.3.tar.gz
| Download URL | sleepyconvert-2.3.3.tar.gz |
|---|---|
| Size | 25.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ef4f14acf4b0789cef9c2c4713da5a88db70b0b68c05a74ee5b63bac3f6b7f2a
|
|
BLAKE2b-256 checksum How to use checksums |
69f81cac6967e81c9db79886204c0ce5e92eb2a64e67e529d44957734c17cb5d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.13.5 Darwin/25.5.0
|
Release files / sleepyconvert-2.3.3-py3-none-any.whl
| Download URL | sleepyconvert-2.3.3-py3-none-any.whl |
|---|---|
| Size | 33.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b64e2131d67a5499e168ac40519ee5ccc54192e713251842aea348f0109f1621
|
|
BLAKE2b-256 checksum How to use checksums |
f4394ed31e4aaf6d2eb65696dc1ca692d78e5409ac6f6bcdda9b4d6678bf3600
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.13.5 Darwin/25.5.0
|
Security for sleepyconvert 2.3.3
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.