Provides an easy way to fetch contents from a remote ZIP files and sync/extract them to a local destination dir.
Project description
zip-deploy
Provides an easy way to fetch contents from a remote ZIP files and sync/extract them to a local destination dir. Note that during download and extraction the contents will not be consistent. Not thread-safe - so take care and check the documentation. If you use the cli, check the -h option for configurable options.
Installation
pip install zip-deploy
Usage
Windows CLI:
# Executes the check every 15 seconds
zip-deploy.exe --content-destination "./movies" --update-interval 15 "http://your-url.domain/movies.zip"
Unix cli:
# Executes the check every 15 seconds
zip-deploy --content-destination "./movies" --update-interval 15 "http://your-url.domain/movies.zip"
As python module:
python -m zipdeploy.zipdeploy --content-destination /dev/shm/your/target/destination --update-interval 15 http://your-url.domain/movies.zip
In your own code (no periodic checks included, threading is your job):
from zipdeploy.zipdeploy import ZipDeploy
zd = ZipDeploy("http://your-url.domain/movies.zip", "/dev/shm/your/target/destination")
zd.download_if_required()
Using Docker:
# make sure to mount /your/target/destination into the container, if you plan to do something useful ;-)
docker run ghcr.io/hgross/zip-deploy --content-destination /your/target/destination --update-interval 15 http://your-url.domain/movies.zip
Disclaimer
This project is my playground project to get to know GitHub Actions for automated package publishing/Release pipelines on GitHub. Don't expect maintenance, but feel free to use this tool if it helps you out. I created it on a weekend for a friend who set up an e-ink display project on his Raspberry Pi.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.