Skip to main content

A lightweight CLI toolkit for daily development utilities.

Project description

devbits

CLI style

devbits provides both a main command and standalone commands installed into your Python environment's PATH.

Main command style:

devbits clearcache .
devbits images2video frames/ -o output.mp4 --fps 30

Standalone command style:

clearcache .
images2video frames/ -o output.mp4 --fps 30
video2gif input.mp4 -o output.gif
clipvideo input.mp4 --start 3 --end 10 -o clip.mp4

After editable install, reopen the terminal or run hash -r if your shell does not immediately find the new commands.

devbits is a lightweight CLI toolkit for daily development utilities, including cache cleanup, media conversion, image helpers, dataset-like file operations, and project maintenance tools.

The project supports two CLI styles:

devbits <command> [options]
<command> [options]

Features

Project cleanup

devbits clearcache .
devbits clearcache . --all
devbits clearcache . --dry-run

Removes:

  • __pycache__/
  • *.pyc
  • *.pyo
  • optionally .pytest_cache/, .mypy_cache/, .ruff_cache/

Image and video conversion

devbits images2video ./frames -o output.mp4 --fps 30
devbits video2images input.mp4 -o ./frames --every 1
devbits images2gif ./frames -o output.gif --fps 10
devbits video2gif input.mp4 -o output.gif --fps 10 --start 2 --end 8
devbits clipvideo input.mp4 -o clip.mp4 --start 3 --end 10
devbits clipvideo input.mp4 -o clip.mp4 --start-frame 100 --end-frame 500
devbits resizevideo input.mp4 -o resized.mp4 --size 1280,720

Image utilities

devbits image2ico logo.png -o logo.ico
devbits resizeimage input.jpg -o output.jpg --size 640,480
devbits batchimages ./images -o ./resized --size 640,480 --format jpg
devbits checkimages ./images --recursive
devbits contactsheet ./images -o sheet.jpg --cols 5 --labels

Project utilities

devbits tree . --depth 3
devbits size . --top 20
devbits renamefiles ./images --prefix frame --digits 6
devbits renamefiles ./images --prefix frame --digits 6 --dry-run
devbits samplefiles ./images -o ./sample --num 100

Installation for local development

git clone https://github.com/yourname/devbits.git
cd devbits
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

Check the CLI:

devbits --help
devbits images2video --help
clearcache --help
images2video --help

Build package

python -m pip install --upgrade build twine
python -m build
python -m twine check dist/*

Upload to TestPyPI

python -m twine upload --repository testpypi dist/*

Upload to PyPI

python -m twine upload dist/*

Commands

Command Description
clearcache Clear Python cache files.
images2video Convert image sequence to MP4 video.
video2images Extract frames from a video.
images2gif Convert image sequence to GIF.
video2gif Convert video to GIF.
clipvideo Clip video by seconds or frame indices.
resizevideo Resize a video.
image2ico Convert image to .ico.
resizeimage Resize an image.
batchimages Batch resize or convert images.
checkimages Check broken image files.
contactsheet Create a contact sheet.
tree Print a compact project tree.
size Show top-level folder/file sizes.
renamefiles Batch rename files.
samplefiles Copy or move first N files.

Roadmap

  • Interactive clipvideo --gui
  • mergevideos
  • comparevideos
  • concatframes
  • annotatevideo
  • watermark
  • splitdataset
  • countdataset
  • dedupimages
  • Optional ROS helpers under devbits[ros]

License

MIT

Project details


Download files

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

Source Distribution

devbits-0.1.4.tar.gz (28.9 kB view details)

Uploaded Source

Built Distribution

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

devbits-0.1.4-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file devbits-0.1.4.tar.gz.

File metadata

  • Download URL: devbits-0.1.4.tar.gz
  • Upload date:
  • Size: 28.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.6

File hashes

Hashes for devbits-0.1.4.tar.gz
Algorithm Hash digest
SHA256 d3ce7f1e0626d519b6336c8ac081df86b8873906cd2fef8f811a35bd8fd65f31
MD5 04b78b45bf407ba1734f166bb540be44
BLAKE2b-256 12d59b4e882a80e990bb43cab44742a556a5d1ce9b22f0c04bec455d6a9e7541

See more details on using hashes here.

File details

Details for the file devbits-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: devbits-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 28.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.6

File hashes

Hashes for devbits-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2129e427d28b9ae7a417f0b010b5c4964655b8d68e749ae0a4f5ee95c3379153
MD5 608ff3839eb49e753fbc243bcef610b5
BLAKE2b-256 c3e767faa05fab51da1dbc7c43722d28c5d61d3589d0bfa55cd0e3d8f897c5ee

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 Pingdom Monitoring Sentry Error logging StatusPage Status page