All major and minor version changes will be documented in this file. Details of patch-level version changes can be found in commit messages.
- be opinionated and install
pyrlottie
by default/ regardless - clearly notify user if backend is not installed
- revert 'fix'
- fix
convert_rlottie_python.py
- Add '--file' arg for passing in a list of packs
- Implement a custom
demojize
function similar to theemoji.demojize
function. However, returns a string of unique keywords in alphabetical order seperated by "_"
- add convert backends to give the user a choice of using their preferred tool
- ruff
- code quality improvements
- Fix: add
parents=True
toPath.mkdir()
- Update pre-commit
- Refactor
- Add support for webm stickers
- Bump pillow version (CVE-2022-22815, CVE-2022-22816, CVE-2022-22817)
- Update deps
- Add formal tests
- Fix FHPythonUtils/SigStickers#1
- More meaningful error messages
- Implement action='extend' for pre 3.7 eg.
python3 -m tstickers -p pack1 pack2 -p pack3
- Update function names and docs
- Added caching functionality using requests_cache and to the converter - output cache hit/miss to stdout for converter
-
Use
asyncio.get_event_loop().run_until_complete
in place ofasyncio.run
for compat with pyrlottie 2021.1 -
Marginal performance improvements with pyrlottie 2021.1 (~3% so may be a fluke?)
Performance testing with https://t.me/addstickers/DonutTheDog on: OS: Windows 10 (2021/10/03) CPU: Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz RAM: 16gb using pyrlottie (lottie2gif.exe + gif2webp.exe) ~85s (frameskip=0, scale=1) (-5s) ~47s (frameskip=1, scale=1) (0s) ~33s (frameskip=2, scale=1) (-1s)
- Produce pngs for animated stickers as in SigStickers
- Tidy up
-
Bugfixes in dependency (pyrlottie) for linux/ wsl - so now runs
Performance testing with https://t.me/addstickers/DonutTheDog on: OS: Windows 10 WSL Ubuntu (2021/10/02) CPU: Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz RAM: 16gb using pyrlottie (lottie2gif + gif2webp) ~61s (frameskip=0, scale=1) ~27s (frameskip=1, scale=1) ~18s (frameskip=2, scale=1) => Approximately a 3.5x speed improvement for like-to-like image quality => Approximately a 2.4x speed improvement for improved image quality
-
code quality improvements (eg readability)
-
significant performance improvements
Performance testing with https://t.me/addstickers/DonutTheDog on: OS: Windows 10 (2021/10/02) CPU: Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz RAM: 16gb using pylottie (pyppeteer backend) ~72s quality=1 (equal to frameskip=2) using pyrlottie (lottie2gif.exe + gif2webp.exe) ~90s (frameskip=0, scale=1) ~47s (frameskip=1, scale=1) ~34s (frameskip=2, scale=1) ~32s (frameskip=1, scale=0.5) => Approximately a 2x speed improvement for like-to-like image quality => Approximately a 1.4x speed improvement for improved image quality
- Fix
ResourceWarning: unclosed ssl.SSLSocket
- File names are now the emoji as text followed by the emoji glyph e.g.
"647+smiling_face_with_3_hearts+🥰" followed by the file extension (requires
emoji
for this) - If no animated stickers then puppeteer is not launched resulting in a small speed increase
- Strings double-quoted
- Update
pylottie
for significant speed improvements (animation renders take approx 2/3 as long) - Leverage the quality setting exposed by
pylottie
to further improve speed if desired (quality 0 is fastest, quality 3 is best quality)
- Use
pylottie
to convert animated stickers increasing processing speed by about 10% - Can pass in packs with
-p
or--pack
- Can also pass in the bot token with
-t
or--token
- Static stickers are saved as gif in addition to png and webp
- Save animated stickers as webp
- Fixed animation times
- Added animated sticker support
- These are converted to gif
- No transparency support at this time
- Using pillow for conversions
- First release