j-gif
Screen recording to GIF for Python, implemented in Rust.
Frames are captured through Win32 GDI (BitBlt), compressed to JPEG and kept in a native frame store, then encoded to GIF -- all on native threads, so the GIL is never held during recording or export.
FrameStore-- accepts BGRA/RGB frames, stores them JPEG-compressed, exports GIFFrameDecoder-- background decoding for playback over a bounded channelRecordSession-- recording state machine (recording / paused / stopped)
The distribution is j-gif; the module imports as gifrecorder.
import gifrecorder
store = gifrecorder.FrameStore(width, height, fps, jpeg_quality=90)
store.push_bgra(bgra_bytes, elapsed_ms) # once per captured frame
store.export_gif("out.gif", repeat=0)
Windows x86_64, CPython 3.11+ (abi3). Part of jietuba. MIT licensed.
Release files for j-gif 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| j_gif-0.3.0-cp311-abi3-win_amd64.whl | CPython 3.11 | abi3 | Windows x86-64 | Details |
Release files / j_gif-0.3.0-cp311-abi3-win_amd64.whl
| Download URL | j_gif-0.3.0-cp311-abi3-win_amd64.whl |
|---|---|
| Size | 467.5 kB |
| Tags | CPython 3.11 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
928f5234bff7c31b050a417de4a7839e49647a79a415ae47700959daf347726e
|
|
BLAKE2b-256 checksum How to use checksums |
84f3bae9795375af93545099540fb1483031a56e13be18199933c119af233a41
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|