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.3.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.3-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: devbits-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 5c64c8f0c694fad46f45b079bd6b7ae5ae5bf91de406ff64f882c23f9c0557fc
MD5 a4b4d4f354575f6c8250ba55af0d642d
BLAKE2b-256 cfe95e2a02a38d70bb0d6b943b6c5b944d377fbead0ec3be36353f1ad4f63bed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: devbits-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f97e1861cce4a9eac695283babf61f4fe296cbddd4ab6757446f7193a83084a1
MD5 5204f13c95d65b852037e4c4d8885bd2
BLAKE2b-256 c39391168db08d872160b2f0e32c4eafe1260434e644f98c9fac2f11e2bcc3c7

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