A performant web native pixel delivery pipeline for diverse sources, blending VNC-inspired parallel processing of pixel buffers with flexible modern encoding formats.
Project description
pixelflux
A performant web native pixel delivery pipeline for diverse sources, blending VNC-inspired parallel processing of pixel buffers with flexible modern encoding formats.
This module provides a Python interface to a high-performance C++ capture library. It captures pixel data from a source (currently X11 screen regions), detects changes, and encodes modified stripes into JPEG or H.264. It supports CPU-based encoding (libx264, libjpeg-turbo) as well as hardware-accelerated H.264 encoding via NVIDIA's NVENC and VA-API for Intel/AMD GPUs. The resulting data is delivered efficiently to your Python application via a callback mechanism.
Installation
This module relies on a native C++ extension that is compiled during installation.
-
Prerequisites (for Debian/Ubuntu): Ensure you have a C++ compiler (
g++) and development files for Python, X11, Xfixes, XShm, libjpeg-turbo, and libx264. These are required for the base software encoding functionality.sudo apt-get update && \ sudo apt-get install -y \ g++ \ libdrm-dev \ libjpeg-turbo8-dev \ libva-dev \ libx11-dev \ libx264-dev \ libxext-dev \ libxfixes-dev \ libyuv-dev \ python3-dev
-
Hardware Acceleration (Optional but Recommended):
- NVIDIA (NVENC): No extra packages are needed at compile time. If you have the NVIDIA driver installed, the library will be detected and used automatically at runtime.
- Intel/AMD (VA-API): The
libva-devandlibdrm-devpackages listed above are sufficient for compilation. Ensure you have the correct VA-API drivers for your hardware installed (e.g.,intel-media-va-driver-non-freefor Intel,mesa-va-driversfor AMD).
-
Install the Package: You can install directly from PyPI or from a local source clone.
Option A: Install from PyPI
pip install pixelflux
Option B: Install from a local source directory
# From the root of the project repository pip install .
Note: The current backend is designed and tested for Linux/X11 environments.
Usage
Capture Settings
The CaptureSettings class allows for detailed configuration of the capture process.
# All attributes of the CaptureSettings object are standard ctypes properties.
settings = CaptureSettings()
# --- Core Capture ---
settings.capture_width = 1920
settings.capture_height = 1080
settings.capture_x = 0
settings.capture_y = 0
settings.target_fps = 60.0
settings.capture_cursor = True
# --- Encoding Mode ---
# 0 for JPEG, 1 for H.264
settings.output_mode = 1
# --- JPEG Settings ---
settings.jpeg_quality = 75 # Quality for changed stripes (0-100)
settings.paint_over_jpeg_quality = 90 # Quality for static "paint-over" stripes (0-100)
# --- H.264 Settings ---
settings.h264_crf = 23 # CRF value (0-51, lower is better quality/higher bitrate)
settings.h264_fullcolor = False # Use I444 (full color) instead of I420 for software encoding
settings.h264_fullframe = True # Encode full frames (required for HW accel) instead of just changed stripes
# --- Hardware Acceleration ---
# Set to >= 0 to enable VA-API on a specific /dev/dri/renderD* node.
# Set to -1 to disable VA-API and let the system try NVENC if available.
settings.vaapi_render_node_index = -1
# --- Change Detection & Optimization ---
settings.use_paint_over_quality = True # Enable paint-over/IDR requests for static regions
settings.paint_over_trigger_frames = 15 # Frames of no motion to trigger paint-over
settings.damage_block_threshold = 10 # Consecutive changes to trigger "damaged" state
settings.damage_block_duration = 30 # Frames a stripe stays "damaged"
# --- Watermarking ---
# Must be a bytes object. The path to your PNG image.
settings.watermark_path = b"/path/to/your/watermark.png"
# 0:None, 1:TopLeft, 2:TopRight, 3:BottomLeft, 4:BottomRight, 5:Middle, 6:Animated
settings.watermark_location_enum = 4
Stripe Callback and Data Structure
Your callback function receives a ctypes.POINTER(StripeEncodeResult). You must access its fields via the .contents attribute.
The StripeEncodeResult struct has the following fields:
# This is an illustrative Python representation of the C++ struct.
class StripeEncodeResult(ctypes.Structure):
_fields_ = [
("type", ctypes.c_int), # 1 for JPEG, 2 for H.264
("stripe_y_start", ctypes.c_int),
("stripe_height", ctypes.c_int),
("size", ctypes.c_int), # The size of the data in bytes
("data", ctypes.POINTER(ctypes.c_ubyte)), # Pointer to the encoded data
("frame_id", ctypes.c_int), # Frame counter for this stripe
]
Memory Management: The data pointed to by result.contents.data is valid only within the scope of your callback function. The C++ library automatically frees this memory after your callback returns. To use the data, you must copy it, for example by using ctypes.string_at(result.contents.data, result.contents.size).
Features
- Efficient Pixel Capture: Leverages a native C++ module using XShm for optimized X11 screen capture performance.
- Flexible Encoding Backends:
- Software: libx264 (H.264) and libjpeg-turbo (JPEG).
- Hardware: NVIDIA NVENC and VA-API (Intel, AMD).
- Stripe-Based Processing: For software encoding, can divide the screen into horizontal stripes and process them in parallel across CPU cores.
- Change Detection: Encodes only stripes that have changed (based on an XXH3 hash comparison) since the last frame, significantly reducing processing load and bandwidth for software encoding modes.
- Dynamic Watermarking: Overlay a PNG image on the captured video. The watermark can be pinned to a corner, centered, or animated to bounce around the screen.
- Dynamic Quality Optimizations:
- Paint-Over for Static Regions: After a region remains static for
paint_over_trigger_frames, it is resent at high quality (JPEG) or as a new IDR frame (H.264) to correct any compression artifacts. - Damage Throttling: For highly active regions, the system can temporarily reduce the frequency of change detection to save CPU cycles.
- Paint-Over for Static Regions: After a region remains static for
- Direct Callback Mechanism: Provides encoded stripe data directly to your Python code for real-time processing or streaming.
Example: Real-time H.264 Streaming with WebSockets
A comprehensive example, screen_to_browser.py, is located in the example directory of this repository. This script demonstrates robust, real-time screen capture, H.264 encoding, and streaming via WebSockets. It sets up:
- An
asyncio-based WebSocket server to stream encoded H.264 frames. - An HTTP server to serve a client-side HTML page for viewing the stream.
- The
pixelfluxmodule to perform the screen capture and encoding.
To run this example:
Note: This example assumes you are on a Linux host with a running X11 session.
-
First, ensure you have the
websocketslibrary installed:pip install websockets
-
Navigate to the
exampledirectory within the repository:cd example
-
Execute the Python script:
python3 screen_to_browser.py -
Open your web browser and go to the URL indicated by the script's output (usually
http://localhost:9001) to view the live stream.
License
This project is licensed under the Mozilla Public License Version 2.0. A copy of the MPL 2.0 can be found at https://mozilla.org/MPL/2.0/.
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.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pixelflux-1.2.9.tar.gz.
File metadata
- Download URL: pixelflux-1.2.9.tar.gz
- Upload date:
- Size: 200.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e96c51793a8acc04097e73ac786316806d72cab8b9125fbd10601e2198612cf4
|
|
| MD5 |
ee5a2bfe06df631cf0ce05439ba7b7d1
|
|
| BLAKE2b-256 |
8a71fc220d3652e70e3a9f61f2a8ea10c2d9535ab0e50306b501f9bb5784c34e
|
File details
Details for the file pixelflux-1.2.9-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a60ae4d6485cf8b3248112db7c1fc590fd4added00f5f08d0930c6e2fef5da9b
|
|
| MD5 |
921a213be99507c276b1a03459ddbfac
|
|
| BLAKE2b-256 |
ce36ee05ade1990f8474d097b3b9769acb30d387194ed0897bbb996972f5959b
|
File details
Details for the file pixelflux-1.2.9-cp313-cp313-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp313-cp313-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3bc22c18a43da1ef8668bf7971809e17ad0f0bfe8179e849d74a43b55a00b92
|
|
| MD5 |
9423d6341154e8134e9ceb480a121324
|
|
| BLAKE2b-256 |
771920268fa039b43bacc516869ca17ab06d755acee9abfe421f5c6d30ae5afc
|
File details
Details for the file pixelflux-1.2.9-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
289877dbc15771c355a619bad31b3ec4d20f945176552573adc9d0a28f147a35
|
|
| MD5 |
99fe895c941a095bd6c7667334e568c3
|
|
| BLAKE2b-256 |
5e11173dd493cce2e153eea9e7a01c61a73b24e1e264feaed78363d71b437451
|
File details
Details for the file pixelflux-1.2.9-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.13, manylinux: glibc 2.27+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
567504321a81122f3e496fd1d56972f1d7ee409d122686dd54766930d9800210
|
|
| MD5 |
2605567656c072ec772aa2ec4739d33c
|
|
| BLAKE2b-256 |
ab2b9029770dd9271e5e499f45ac76a5d622c3aca8224cb7dc2ab42615c7f642
|
File details
Details for the file pixelflux-1.2.9-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2d9aa7830c98b7fea00daa0ab3bc8d6a166d1f33a03e323c5402116027c27d4
|
|
| MD5 |
bd3ffcc913064a46a40e5625d5615af6
|
|
| BLAKE2b-256 |
de020e5c7b344f187c1b27effd2b10ff8e86cd0fe85292cac2530aa547046f9c
|
File details
Details for the file pixelflux-1.2.9-cp312-cp312-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp312-cp312-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df29618692b164de96ae04768276e34fb659944a4100445f1733502ad9bd2587
|
|
| MD5 |
aba7907b44ee07a14c2e2e6c9998b63c
|
|
| BLAKE2b-256 |
c91df9dab06e67c33f61e9bb9bdece7151eb478d5c3b63bf68ce89bf3b894b33
|
File details
Details for the file pixelflux-1.2.9-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35a8f0731e399546149df385df4a3805d4b885b9fb3c89bacd2c5eb3663741c6
|
|
| MD5 |
5a95f9d81f3adc8466fa27d083666d36
|
|
| BLAKE2b-256 |
bd20fedcf5e566e3cbab91a1c88e82ad5df8800fd790a81e6f31d0e9d84f8454
|
File details
Details for the file pixelflux-1.2.9-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.12, manylinux: glibc 2.27+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
098912dac46f938a046f35d03be526ab425d5c6953b45153529bd05824ddeaef
|
|
| MD5 |
6d908ef5e149362489a97d1b7cf4f2c9
|
|
| BLAKE2b-256 |
c465f026d46ea286b174069ed379478ab2baeef70c6c9f79c27bc3ec5dce2779
|
File details
Details for the file pixelflux-1.2.9-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e184c0607ba351ffd9cfe8c0eb9de571e52d13c043d31ad5d235fd12ad06e513
|
|
| MD5 |
1500097297193cf9932d3c432d19b389
|
|
| BLAKE2b-256 |
bd1f14969cd0382aee40a7b8fc66598f7b0b6eeb7dec76ad425afedab9bd24d5
|
File details
Details for the file pixelflux-1.2.9-cp311-cp311-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp311-cp311-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83f207cdfd3308d7b4102258a36de2caf939f6207216afc1ae55bb80444c8b22
|
|
| MD5 |
c4fbfb8fc31e5e5d1cc1e0ed9f6c7fb3
|
|
| BLAKE2b-256 |
edb71d72579843c1e0dbbce367d93eb71674a7db4648e64b8a7b6ff36273f291
|
File details
Details for the file pixelflux-1.2.9-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa3dacd2f280719fa42a8d9a3b16792003fe6b63504707026286bf7795671613
|
|
| MD5 |
1264df0bbb2dc20fc677656ca6bb5245
|
|
| BLAKE2b-256 |
ac42d604d133b34ef3441d8a1db475db7e3f2af74d1c23380137ce111b21b8d4
|
File details
Details for the file pixelflux-1.2.9-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c57c3888074adc075a1820d8e739bd49b1a5bbbdd1828e9f344ce96a4f774f60
|
|
| MD5 |
6677955c1a795e4641d05e3215e4ad05
|
|
| BLAKE2b-256 |
34add35276026cb68fe8950bd00d4f4ebed9e80e0771e0a511871009a8db9ab2
|
File details
Details for the file pixelflux-1.2.9-cp310-cp310-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0620ffae5914b2c59621b0916bc3dbbb04d7a5db1e77e7680f27ca192241400c
|
|
| MD5 |
398171bfa485689cd1c66215daaa4dbf
|
|
| BLAKE2b-256 |
f565299cf5a06858bd1114730d204b74c5734f9e53035805e720771687aca3d3
|
File details
Details for the file pixelflux-1.2.9-cp310-cp310-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp310-cp310-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a140f1a8af11ce9dacd5ff2dfc71c15359951d14a8ccbac6148c630b049e9938
|
|
| MD5 |
dddcc0beffbd6a0844bee8a3ecda25ea
|
|
| BLAKE2b-256 |
7bf80337099d68c09844a967a36e6bffabe5ec913bdca1ea7b543f3a924c23b4
|
File details
Details for the file pixelflux-1.2.9-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21e6a4909bfbb18bbd08bdbc745ef6222905b9b00569e7eb4bc1557c63792c03
|
|
| MD5 |
7cae7845b35fcdc4992755fb214a40d4
|
|
| BLAKE2b-256 |
8db888c2fbcbed453c80782b4a5b9461160fd042482e9e60412934a32cc03616
|
File details
Details for the file pixelflux-1.2.9-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.10, manylinux: glibc 2.27+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2732634a31907366c85351e3418863d1c323c0f8398ebf9889833f9540890dd
|
|
| MD5 |
f38adb27aca1888d0f7dd33f6b535bfb
|
|
| BLAKE2b-256 |
258ee91368c2d833e2132f59bbf5c1bbad5aa7505db2486fb2e1843b7db54314
|
File details
Details for the file pixelflux-1.2.9-cp39-cp39-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp39-cp39-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
efcbc36c785163418376ee70f782dfe0a86aae71a70054c2328460ef8a21d6ef
|
|
| MD5 |
dfd093cfeec25a7205a09390e952aa32
|
|
| BLAKE2b-256 |
1a4febc6122507ed2561293cf467533ba1b31d12a0869d5123fac824354ae901
|
File details
Details for the file pixelflux-1.2.9-cp39-cp39-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp39-cp39-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.9, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f208228d5095efda367e3a350630970aa89e1ad3fd010e5c1427f9ba4a2a7862
|
|
| MD5 |
d01da88edbef03933d52931c8772b7a3
|
|
| BLAKE2b-256 |
b835ec16869320f6e50ab125ae74de566a4c1d8713c420f2d64af9079f8b95f6
|
File details
Details for the file pixelflux-1.2.9-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.9, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b52078e0c93d56d47573f61fd01b0dd2afe30f0c025eb6c0fd182441960c005
|
|
| MD5 |
007b7ab4588ce9cb6facb2707b00b726
|
|
| BLAKE2b-256 |
b0375eeb72802ed6b73d655b540d4855fddc37ee1e323a9b8ef7bcda9067bf28
|
File details
Details for the file pixelflux-1.2.9-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.9, manylinux: glibc 2.27+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0226139cbe492e55e059b10d3199392e412f597f41650b90a8e452f7165f951f
|
|
| MD5 |
a8219b0e12d568a78c8b541fec1441d7
|
|
| BLAKE2b-256 |
559d0e5a208a9eae2954d4b3241118e900c74521f8512463284f2eb1d611fd03
|
File details
Details for the file pixelflux-1.2.9-cp38-cp38-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp38-cp38-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.8, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4beb89beb10afb373944b22d4dcf7295ad417e25dc6deb4e4b18fa5f8d465f9
|
|
| MD5 |
b1a1cdf0ed96a9adfbbb692787b38893
|
|
| BLAKE2b-256 |
164187c26f6d5f7f48a91fbe1c5bf450358b1c2e94237f5c09cab4dc346307ad
|
File details
Details for the file pixelflux-1.2.9-cp38-cp38-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp38-cp38-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.8, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
341d4d52ccc0697f7cca07efccb5ba89ef4dee8aa753033e9ca3e8166703d114
|
|
| MD5 |
6ac81877926f9c90f6caaf12b7c38fd5
|
|
| BLAKE2b-256 |
a106a4ac1bf014ea9bec399524d4c20373a9a8007f8c0a0c8fdd5bdfdff879c9
|
File details
Details for the file pixelflux-1.2.9-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.8, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e3c7e6bb1fda09c9c3dace45f62a04640632d0e9a69a86477788ea5a2317e12
|
|
| MD5 |
e84b9885dcdd6c1c0c36f06f5fce7e59
|
|
| BLAKE2b-256 |
c6b0965d9498fbb539017523945bfa828bf63a5fb461e6da02da32fbd0548b0b
|
File details
Details for the file pixelflux-1.2.9-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pixelflux-1.2.9-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.8, manylinux: glibc 2.27+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
527f7060aa4a8b089a085e53c797dab13e494f6d9e5e8f66c687e1849d4af3eb
|
|
| MD5 |
872c006cad56793bf15da823627804d2
|
|
| BLAKE2b-256 |
b55b9093552f4d5097706f04006a9a8d760145fd81a9995417beb113ec435a62
|