Skip to main content

🔄 sleepyconvert

Convert data, images, and documents between formats from one terse CLI.

PyPI Python License

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 / --version prints the version and best-effort checks PyPI for a newer release — it works even when placed alongside the paths. Run sleepyconvert about for 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sleepyconvert-2.3.3.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sleepyconvert-2.3.3-py3-none-any.whl (33.9 kB view details)

Uploaded Python 3

File details

Details for the file sleepyconvert-2.3.3.tar.gz.

File metadata

  • Download URL: sleepyconvert-2.3.3.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.13.5 Darwin/25.5.0

File hashes

Hashes for sleepyconvert-2.3.3.tar.gz
Algorithm Hash digest
SHA256 ef4f14acf4b0789cef9c2c4713da5a88db70b0b68c05a74ee5b63bac3f6b7f2a
MD5 72eabb9fbb561647374db0b3636958cd
BLAKE2b-256 69f81cac6967e81c9db79886204c0ce5e92eb2a64e67e529d44957734c17cb5d

See more details on using hashes here.

File details

Details for the file sleepyconvert-2.3.3-py3-none-any.whl.

File metadata

  • Download URL: sleepyconvert-2.3.3-py3-none-any.whl
  • Upload date:
  • Size: 33.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.13.5 Darwin/25.5.0

File hashes

Hashes for sleepyconvert-2.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b64e2131d67a5499e168ac40519ee5ccc54192e713251842aea348f0109f1621
MD5 5ab3fdd0b6d6c25ac2e1a49d7c5630b1
BLAKE2b-256 f4394ed31e4aaf6d2eb65696dc1ca692d78e5409ac6f6bcdda9b4d6678bf3600

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page