Skip to main content

Encrypted Image Watermark Injector / Validator

Project description

Pixseal

Prove what you published — and what you didn’t.

Pixseal is a Python-based image integrity and authenticity verification tool designed to detect whether an image has been modified since signing.

Pixseal embeds a cryptographically verifiable integrity seal into an image in an invisible manner. During verification, any modification — including editing, filtering, cropping, resizing, re-encoding — will cause verification to immediately fail.

If even a single pixel is altered after signing, Pixseal will detect it.

Pixseal is not a visual watermarking or branding tool.
The watermark exists solely as a means to achieve strict, deterministic image tamper detection. Pixseal prioritizes tamper sensitivity over robustness against intentional adversarial manipulation.

Features

  • Image Integrity Verification

    • Cryptographically proves that an image remains in its original, unmodified state
    • Detects single-pixel changes with deterministic verification results
  • Tamper Detection

    • Detects all forms of image modification, including:
      • editing
      • filters and color adjustments
      • cropping and resizing
      • re-encoding and recompression
      • pixel-level changes
  • Invisible Integrity Seal

    • Embeds verification data without any visible watermark
    • Preserves the original visual appearance of the image
  • RSA-Based Encryption (Optional)

    • Supports RSA public/private key encryption for embedded verification data
    • Allows separation of signing and verification roles
  • Verification & Extraction

    • Payloads may be partially or fully extractable even after modification
    • Automatically fails verification when tampering is detected
  • Fully Local & Offline

    • No external servers or network dependencies
    • Pure Python implementation
  • Lossless Format Support

    • Supports PNG and BMP (24-bit) images
    • Lossy formats (e.g., JPEG, WebP) are intentionally excluded to preserve integrity guarantees

Installation

pip install Pixseal
# or for local development
pip install -e ./pip_package

Python 3.8+ is required. The only runtime dependency is cryptography>=41.0.0.

Building from source

Cloning the repository and running the CLI/tests requires the Cython extension (Pixseal.simpleImage_ext) to be compiled. Wheels published to PyPI already bundle the compiled module, but a local checkout must be built manually:

git clone https://github.com/kyj9447/Pixseal.git
cd Pixseal
python3 -m pip install -r requirements.txt
./build.sh

Even after running python3 -m pip install -r requirements.txt you still need a working C toolchain (gcc) and the Python development headers exposed via python3-config; these come from your OS packages, not pip.

cd Pixseal
# optional: choose backend for testing (python fallback available)
./build.sh  # regenerates the C extension and runs `python -m build`

build.sh invokes Cython and gcc (via python3-config) before producing the wheel/sdist artifacts. Ensure cython, build, and a working C toolchain are installed. If you skip this step, Pixseal falls back to the pure Python implementation, which works but is significantly slower.

Usage

Sign an image

from Pixseal import signImage

result = signImage(
    imageInput="original.png",  # accepts a file path or raw PNG/BMP bytes
    hiddenString="!Validation:kyj9447@mailmail.com",
    publicKeyPath="RSA/public_key.pem",  # omit for plain-text embedding
)
result.save("signed_original.png")
  • The payload is looped if it runs out before the image ends, so even small files carry the full sentinel/payload/end pattern.
  • When publicKeyPath is omitted, the payload remains plain text.

Validate and (optionally) decrypt

from Pixseal import validateImage

report = validateImage(
    imageInput="signed_original.png",  # accepts a file path or raw PNG/BMP bytes
    privKeyPath="RSA/private_key.pem",  # omit for plain-text payloads
)

print(report["extractedString1"])
print(report["validationReport"])

validateImage returns:

{
    "extractedString1": "<payload or encrypted blob>",
    "extractedString2": "<truncated payload or encrypted blob>",
    "validationReport": {
        "arrayLength": 4,
        "lengthCheck": True,
        "startCheck": True,
        "endCheck": True,
        "isDecrypted": True,
        "tailCheckResult": True,
        "verdict": True,
        # decryptSkipMessage when a decrypt request was skipped
    }
}

CLI demo script

python testRun.py offers an interactive flow:

  1. Choose 1 to sign an image. It reads original.png, asks for a payload (default !Validation:kyj9447@mailmail.com), optionally encrypts with RSA/public_key.pem, and writes signed_<name>.png.
  2. Choose 2 to validate. It reads signed_original.png, optionally decrypts with RSA/private_key.pem, and prints both the extracted string and verdict.
  3. Choose 3 to benchmark performance. It reads original.png, encrypts it with RSA/public_key.pem, and writes signed_original.png, printing the elapsed signing time. Then it reads signed_original.png, performs extraction/decryption/validation, and prints the elapsed validation time along with the total elapsed time.
  4. Choose 4 to test signing and validation with file-path input option.
  5. Choose 5 to test signing and validation with byte-stream input option.
  6. Choose 6 to run the optional line-profiler demo. It benchmarks signImage and validateImage, printing per-line timings when the script is executed through kernprof.

Option 6 requires the optional dependency line_profiler and must be run via kernprof -l testRun.py so that builtins.profile is provided. Without line_profiler installed the script will continue to work, but the profiling option will display an informative message instead of running.

Key management

Generate a test RSA pair (PKCS#8) with OpenSSL:

openssl genpkey -algorithm RSA -out RSA/private_key.pem -pkeyopt rsa_keygen_bits:2048
openssl rsa -pubout -in RSA/private_key.pem -out RSA/public_key.pem

Point publicKeyPath / privKeyPath to these files.

API reference

Function Description
signImage(imageInput, hiddenString, publicKeyPath=None) Loads a PNG/BMP from a filesystem path or raw bytes, injects hiddenString plus sentinels, encrypting each chunk when publicKeyPath is provided. Returns a SimpleImage that you can save() or saveBmp().
validateImage(imageInput, privKeyPath=None) Reads the hidden bit stream from a path or raw bytes, splits by newlines, deduplicates, optionally decrypts each chunk (Base64 indicates ciphertext), and returns the payload plus a validation report.

Examples

Original Signed (!Validation:kyj9447@mailmail.com)

Validation output excerpt:

[Validate] verdict: True
[Validate] extracted string: !Validation:kyj9447@mailmail.com
[Validate] decrypted with private key: RSA/private_key.pem

Validation Report

{'extractedString1': '!Validation:kyj9447@mailmail.com',
 'extractedString2': 'DMnWAzbd6NFycGAxcPkzzmGjL33WXovG...',
 'validationReport': {'arrayLength': 4,
                      'endCheck': True,
                      'isDecrypted': True,
                      'lengthCheck': True,
                      'startCheck': True,
                      'tailCheckResult': True,
                      'verdict': True}}

(When encrypted, each line appears as Base64 until decrypted with the RSA private key.)

Corrupted after signing

Validation output excerpt:

...
string argument should contain only ASCII characters
string argument should contain only ASCII characters
string argument should contain only ASCII characters
[Validate] verdict: False
[Validate] extracted string: !Validation:kyj9447@mailmail.com
[Validate] decrypted with private key: RSA/private_key.pem

Validation Report

{'extractedString1': '!Validation:kyj9447@mailmail.com',
 'extractedString2': 'hh78IWEsRgfTWMw3Rg02hTnCdErjx0O4...',
 'validationReport': {'arrayLength': 400,
                      'decryptSkipMessage': 'Skip decrypt: payload was plain '
                                            'or corrupted text despite decrypt '
                                            'request.',
                      'endCheck': True,
                      'isDecrypted': True,
                      'lengthCheck': False,
                      'startCheck': True,
                      'tailCheckResult': 'Not Required',
                      'verdict': False}}

Related projects

https://github.com/kyj9447/imageSignerCamera

  • Mobile camera that signs images on capture:
  • Server-side validator that decrypts and verifies payloads.

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

pixseal-0.2.0.tar.gz (16.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pixseal-0.2.0-cp314-cp314t-win_amd64.whl (133.1 kB view details)

Uploaded CPython 3.14tWindows x86-64

pixseal-0.2.0-cp314-cp314t-win32.whl (108.9 kB view details)

Uploaded CPython 3.14tWindows x86

pixseal-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl (777.7 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

pixseal-0.2.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (785.4 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pixseal-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl (135.6 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

pixseal-0.2.0-cp314-cp314-win_amd64.whl (111.0 kB view details)

Uploaded CPython 3.14Windows x86-64

pixseal-0.2.0-cp314-cp314-win32.whl (93.6 kB view details)

Uploaded CPython 3.14Windows x86

pixseal-0.2.0-cp314-cp314-musllinux_1_2_x86_64.whl (773.5 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

pixseal-0.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (777.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pixseal-0.2.0-cp314-cp314-macosx_11_0_arm64.whl (124.6 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pixseal-0.2.0-cp313-cp313-win_amd64.whl (108.8 kB view details)

Uploaded CPython 3.13Windows x86-64

pixseal-0.2.0-cp313-cp313-win32.whl (91.3 kB view details)

Uploaded CPython 3.13Windows x86

pixseal-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl (779.5 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

pixseal-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (784.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pixseal-0.2.0-cp313-cp313-macosx_11_0_arm64.whl (123.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pixseal-0.2.0-cp312-cp312-win_amd64.whl (108.9 kB view details)

Uploaded CPython 3.12Windows x86-64

pixseal-0.2.0-cp312-cp312-win32.whl (91.5 kB view details)

Uploaded CPython 3.12Windows x86

pixseal-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl (784.4 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

pixseal-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (710.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pixseal-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (788.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pixseal-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (124.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pixseal-0.2.0-cp311-cp311-win_amd64.whl (109.1 kB view details)

Uploaded CPython 3.11Windows x86-64

pixseal-0.2.0-cp311-cp311-win32.whl (92.1 kB view details)

Uploaded CPython 3.11Windows x86

pixseal-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl (825.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pixseal-0.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (815.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pixseal-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (123.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pixseal-0.2.0-cp310-cp310-win_amd64.whl (109.1 kB view details)

Uploaded CPython 3.10Windows x86-64

pixseal-0.2.0-cp310-cp310-win32.whl (92.7 kB view details)

Uploaded CPython 3.10Windows x86

pixseal-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl (782.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

pixseal-0.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (773.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pixseal-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (123.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pixseal-0.2.0-cp39-cp39-win_amd64.whl (109.5 kB view details)

Uploaded CPython 3.9Windows x86-64

pixseal-0.2.0-cp39-cp39-win32.whl (92.9 kB view details)

Uploaded CPython 3.9Windows x86

pixseal-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl (780.0 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

pixseal-0.2.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (771.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pixseal-0.2.0-cp39-cp39-macosx_11_0_arm64.whl (124.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

pixseal-0.2.0-cp38-cp38-win_amd64.whl (110.0 kB view details)

Uploaded CPython 3.8Windows x86-64

pixseal-0.2.0-cp38-cp38-win32.whl (93.8 kB view details)

Uploaded CPython 3.8Windows x86

pixseal-0.2.0-cp38-cp38-musllinux_1_2_x86_64.whl (806.2 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

pixseal-0.2.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (801.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pixseal-0.2.0-cp38-cp38-macosx_11_0_arm64.whl (126.9 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

Details for the file pixseal-0.2.0.tar.gz.

File metadata

  • Download URL: pixseal-0.2.0.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pixseal-0.2.0.tar.gz
Algorithm Hash digest
SHA256 cbefd55fa2f4a1ba404aa179c9115a707c179e6534830e4094ad380c1898dc4c
MD5 b15ca3290bf2c154e103536e5c95ae07
BLAKE2b-256 c6fc83881b6cd02449ba63ac6e989b9265a42c85999ced4c8bd0cb3f377b207b

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: pixseal-0.2.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 133.1 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pixseal-0.2.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 ebcfcb8d28269e3e835bfd3a7582e0fb6ee6654433cd508ce4a16159f7da21bd
MD5 559d9d71e000743e603578f3060228a7
BLAKE2b-256 47f9de3edf27f98d7f38a15384b6f8a4e49fdb2a4bc1d83bf283c958e2750b5a

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp314-cp314t-win32.whl.

File metadata

  • Download URL: pixseal-0.2.0-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 108.9 kB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pixseal-0.2.0-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 84dbba9e94f49f983c54b7fb61ab5f89766eed493b9c69fe37e190d804fd344a
MD5 4659d71643d1892c8a3fb8ddae7b37bc
BLAKE2b-256 e1b997b1e12bc415cbace99ed6930b2eec099b52bfaf8c4dfde7d2baf4149b16

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 531f427124d06a5f99e6109d210207054d5109a8093da967c61da2189943e222
MD5 f9a8460dbdb2ab43ab16aa80ee49dbac
BLAKE2b-256 355ca81aaa64f5b6e83b59e66782d046f6a76e88a84efa465e80596e5d91c16e

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ff8307c2a2590e043acdf3fbb8a09895f7e206bb6523a281f61520415ecfa7fe
MD5 924f533a211d67b12ca1b5d815a67962
BLAKE2b-256 fc403609b196da9b59dd07b5667ba9b7f9c63bfc32e18018d545e96cf15a819d

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 30a7cc900a2ea8e4300159acf72a69e995e59d32b9a65fcae740c4f1b8d2457c
MD5 87fdfba54d60bc3e983009c89b4385dd
BLAKE2b-256 efed3b0544b2dfa7941ef5a8470945b835bd7141d68dcea85e9f942d5999e679

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pixseal-0.2.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 111.0 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pixseal-0.2.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 f13853edf10abbd6d93a808dd7f7f21937f798fe412c500f8fd7ed0ca69750af
MD5 31c05377f6a2e610a91857449bb5b64a
BLAKE2b-256 aee57d916cc802f4c128ad50e634898a1ec87259ce63944cfab45e8d495b705d

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp314-cp314-win32.whl.

File metadata

  • Download URL: pixseal-0.2.0-cp314-cp314-win32.whl
  • Upload date:
  • Size: 93.6 kB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pixseal-0.2.0-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 36cd6cafef5372bf60e6c57c7b84588954871ba68f9c24cfdabdb97413c9cea2
MD5 c6d1e58a6efde6f5aca69f3fffc53ad1
BLAKE2b-256 37d05ac5b5ce1db8da8675588a2e34d3899c85c49c35222412fa47a15797609a

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 52ad16f4ff049bca33b0353a783bec60e07ef2e281eb9a3a937e92a3b3946e4a
MD5 31a1898f8db0897adb7eea262c1aaa36
BLAKE2b-256 b49bc9fc17be73e4297c6fbbdd294f7c105a26de738a0d4622b5cf9bd018dd69

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 233ad7aa5bfdb662b644ad3f69886240fbbf6f0c7fc753521093b34d031eab33
MD5 ae1d612c4ab0157be597531437b44522
BLAKE2b-256 5642a7f2644ed3a69b41bce4d9bc81ba994637a9df2cd3ebb931ff0c49c642c2

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 85eea26cbb201f6828b4a80a19448ced5df7b5b9567108ce2e657ea962b3ab25
MD5 79c32070e4b733edbde7575a21b83a43
BLAKE2b-256 68dc64c45bf676a2179aa3685b7e8615189c9b26eaeeaf732fca55d85a9e8868

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pixseal-0.2.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 108.8 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pixseal-0.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 37354664d0e0709795e4ff487fff70c6c184412d3f1409d2fc65814a7df00a60
MD5 8174d7fd7c241fa63e249d32a96fe530
BLAKE2b-256 6b5d421c172bd01291e47a3eca85168c7cf02fbe838d0f72aa9c168881fb260d

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp313-cp313-win32.whl.

File metadata

  • Download URL: pixseal-0.2.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 91.3 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pixseal-0.2.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 8f675e9ba1f9f18e36587de33cc47d49f60a1e14ae0a3321dd53d075f52b1ef4
MD5 50b9d0da8caa41dce137dca29048a454
BLAKE2b-256 0f78e9dbac34503c92775e777516e3446c2854330d7dcdb6099fb075926dff42

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 77e6635b006922a57e8903d7164779652934ff02e30057d30be64a6cd5a732f6
MD5 cd2d3c42e77e4598b351b6f7c7f1d3f5
BLAKE2b-256 842462a511e088d9c88b37fd19371f3c110faaa59b6cb7b52dfe9e9822f54d1f

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 242f39ff424485ebd7eae1696923078f36cdb870323a076e589c29ac85d5dee6
MD5 8d19425d4629e8a2702c3c76b7089b01
BLAKE2b-256 bd3dbb5d23cd1fe3a5705d21be27853f3f1b5e46d253a62691d84c92f16f52fa

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c1d185d68c24899a5691177090f0fc5deb0add6f16a3586ce156178a6b63165d
MD5 57f6cab8dea72a2e1d95d636b4687d67
BLAKE2b-256 70b8cd52b3585a74fe6763b8210530a5d5bd3e78cdf36605a6e093a530598699

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pixseal-0.2.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 108.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pixseal-0.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a04ea2c1ca80944eb96e3205183d8ebda3b5f502c5465cf74775c17479de3e39
MD5 3f7d246420c207aafa540e52a1b7b5a0
BLAKE2b-256 f01ed265f250f08c4f362de4e594e996db2d388fcbacc1068899de9049e12fea

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: pixseal-0.2.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 91.5 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pixseal-0.2.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 0c56ee42353506a7eb40e3162a7b4128f399940d87183129d26258bbdac6ae0a
MD5 bee633a060e8e308902eda08f4025923
BLAKE2b-256 4c8ef86da3dfed92cd9e78547c19dddab636c193d90aa151223249ce19420a6f

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 042619ff33b578ddbd05b844b82973530ea9b0255f5e0b66f38bd0732e2df13d
MD5 544ab2735fb9971db318cdcfd479ae8f
BLAKE2b-256 e4089ed5942a8c85735fffe00326a84f6d1ba960ebda496f70d99c19a9d94f80

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 22899eb6df14bbdcdfd218c328958449ca67e8f4423fd678e06ee34a7ded1821
MD5 a638d82e78530411187001fd3388a53a
BLAKE2b-256 ec5832554f8a44450e2d7b0e16ab2be38f3b44cae4c317358995f57438cb48bc

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 09234859b42ef94bedf329e6735266b8b330f5f569760ecda3041119b0ff313a
MD5 9d19730d2c0dc7037517d35cfb2a4755
BLAKE2b-256 bbbc574f19b4822344318cb3533d3e3832fe6967a8580f8c2dcf3a06fc4e3419

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 57cce9b8c58c47b081086dfaa5cdaf16cc94becf898f3b7441371ac1e1e38524
MD5 92b494df0911baed697ff6b76c8b0242
BLAKE2b-256 ef6bde296d5c5eb06eaaa7efea3fed9e4b8d0a728c4d48946274d452d7af24f4

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pixseal-0.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 109.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pixseal-0.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b518a0e9c9842fc1989c4cf4f024952a6a1dc2398373d365dfc403c1a60badaa
MD5 c3d37f7c4289ef43388c5b69f19a50d4
BLAKE2b-256 30e9406c4792ed1bce945ed60d364b66856b5c4c6d40ad1a589ee6f56b1e4cd3

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: pixseal-0.2.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 92.1 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pixseal-0.2.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 06420bf425df08a5ffeb56addce36afdb46c0400e4bd17c301a989c42513ac9c
MD5 3b8b7b720919283415ed2736b1948a51
BLAKE2b-256 02b79a76bcdbded2202dd8b9e59da9756bca617dca70f44834157861562c2259

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d66766514c33799837fba04094dd44b3cc4d664ca65be122b55de14b399d3bfb
MD5 5fb7609cb8ffac28d2f7df646dbc0caa
BLAKE2b-256 80f7e1777ae8c0019ecb80b5e1660250d3e660558785bcad6597b7ef425b7edf

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 08669472aa4d53c94dc92262f6e6fea781e8173916bb9b8bbb3fc26c84c297c9
MD5 99bf177f410268bac439a53735025d9b
BLAKE2b-256 cd6cde9a657176e3ecee140bb1bb3cb35c06bf3ae670a2849d7a84b3992bbc4c

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e44ba296204b184361aae61b3e84146780d825f81fb0026889038256d87de5e
MD5 c196f7af904ab36f0397c25fcecd9aec
BLAKE2b-256 ef09c3e580e77dc7b299ef32ce81af68a42875273b4b930269e6b9d97a80cc92

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pixseal-0.2.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 109.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pixseal-0.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b5ede2a9a3fe29df6b49365141a84c02d6c1c7b823e2edb723b886dfde4c42eb
MD5 4e860a9ea1c03c8e142d59f56ee090af
BLAKE2b-256 2987355d44d0172023ffff87955589791fabe692f7a3d305b295cfbb59ff784a

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: pixseal-0.2.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 92.7 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pixseal-0.2.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 ea01cd6573d54dc59467bb481807ab86515352ed935a01ea13fc8a599769f6be
MD5 3e4ee33d9b70e812383e0df12ca67c49
BLAKE2b-256 a3a692d8a92c8d2f33d628b95c1a44f50bf188f4ba708f034a187bb726c4fd3f

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4924acf52f5e00669225a1530ab0faa57d5ae9d628fa42d6187c870e90858250
MD5 cfd95f46796c57d13f0860f13e122ab4
BLAKE2b-256 031e29e06703db0bb4bcadfd6dc56842d93f8e6e444d8cfd21b00cb47d7a52b5

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7bf254210f64c0e004f6bf34b5c60a449358baf2f15b803f5407efaa89a09cc5
MD5 9753ac63128adde772fef4dd1ada4609
BLAKE2b-256 3644d192b777062f2cf4c8242703e0509c0fa473c95e7c46cdbe539b857cd6e1

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4c64379a1e50641de440a822df80824250b1e6a01bfa49dbe279ffd2ea43ba1d
MD5 df72941c4a0eaf510e474e3157f446fa
BLAKE2b-256 86168218a4e6183173f983059ebf496087f6994648eeffa6a8803f18261c8812

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pixseal-0.2.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 109.5 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pixseal-0.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5112d412e8f1ba1efdd33b2014760ac867f11ed13c55f406ae5cefba1363f10a
MD5 07f2d3d29a1d04e09bb5ed4895aa12fb
BLAKE2b-256 5ed19e571387cd9ce06a49f75903848cd08861b1b0f745d57d2160fd530b4b6f

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: pixseal-0.2.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 92.9 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pixseal-0.2.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 118acff132e14814d644d3a4a2f09fb3bdc3ed8f99c7dea566e2a8264058a1bb
MD5 b9a929ef02f0713027d5739b203ff8f6
BLAKE2b-256 698cb0b7b64b8f1635d4d13ff16f0e29e059741af644c0327cad2f2b12598b12

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c67635e73df6019a7d4ed121e233cbbf08911a1155aede4ee61d3d3dd908420f
MD5 78c5fd06d065cb5cae8d7073bfb98bb6
BLAKE2b-256 756bb54d790866258c0a9908963ccf65b96b4505d505c0bb3bd2c1935068f594

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 87b9780955b4d7265ce848b5dc965e42098d7b4847791fa0f3b625e3a8a319e4
MD5 2e76bdbae167b64d409a146440a697fc
BLAKE2b-256 e219eed8dc7280106a9550fa706b75d0af69fe97f71e981ae481870252165911

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 38f444a3fe045c1be1d8e44a80f3840f31a78c1581534d3e040115a84b166f69
MD5 8c98a89e7f4e557a7f81e13f25f091f8
BLAKE2b-256 80725619074a59e4b088c8a821a33b05ecee0da8386f1ff057fbd74d4a1ffba7

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pixseal-0.2.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 110.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pixseal-0.2.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 7a5bc292e4b15beedcd56549367facc1cfcafe549ca2fcee584180786882de90
MD5 5c435922cfe1e44a0832e749b9b0a379
BLAKE2b-256 5e858806d95dddebef0a7cdbf619ea8c4713eaa72be629385511bd767d94f050

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: pixseal-0.2.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 93.8 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pixseal-0.2.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 bd9c8fa0e5d903940aa9bb60ca1def9dc5d6bfc0723c8041fdb4ee74172f14d0
MD5 e12170cbf9b5bf8bd0b3da91e53821cf
BLAKE2b-256 b4320f968b1632c89d2890e4cc56fb3b3936d6c74412745ff2312a1c8d1625a4

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 14a915e8fc057199088232ef1838ddcaa6da52147a53a1476c5a9b0f1ff19d51
MD5 7ff0ae8ce304fea279769095cca4590a
BLAKE2b-256 b08b5171178c62fb9fba99c27a9182b0271109b20ba21ed38cf9dd0fb47bd829

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ed5a1ffbc8d51268f9665e04b24a2895d52e6f1143c9de9bb0478e9f3f5476c1
MD5 01b30238377bd563a05409cd287100d2
BLAKE2b-256 5269ca881b41380c3733336195346c587c6aa47a65e106eafa308df6c44c853b

See more details on using hashes here.

File details

Details for the file pixseal-0.2.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pixseal-0.2.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 97e2df861ef43cf013ccf2c83c8db44dccd1b9eeeb5b944d01f8f52751e93b1f
MD5 80bc819dc103fed7db0eee98cd9627b9
BLAKE2b-256 e14c2653a3c74e9f258b2c3c3980c996e242ec1f907fefbc8aafcad94b839dcc

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