Skip to main content

A performant steganography and steganalysis library for hiding data in images, audio files, and videos

Project description

Pixelveil

A performant steganography and steganalysis library for hiding data in images, audio files, and videos!

Steganography can be used for watermarking, covert communications and info hiding in general. It is a relatively small but very versatile field in programming. This is a passion project I develop to learn, improve, and create steganography methods.

Main Repository

This README corresponds to the Python package of this project. For the latest updates on development, contributing, and future plans please consult the main repository.

Installation

This package is available on PyPI.

Installing via pip:

pip install pixelveil

Usage

This library leverages PyO3 to write python wrappers for the public interface of the Rust crate.

Even if you don't program in Rust, I encourage you to read the Rust documentation of the underlying Rust crate to have a good understanding of the Rust code that is called under the hood when the Python package is used.

Please note that pyo3_runtime.PanicException can be raised if the underlying Rust program panics. If a program panics, it means that the arguments that were passed in are invalid. An explanation will be included in the error message. Every function that panics intentionally will have an explanation of the exact case in the docstring.

If you are certain that the arguments that you passed in are valid but the function still panicked, open an issue on he subject.

Also note that, all functions that require an image (or images) as an argument(s) expect to receive bytes that describe an image in a known file format (e.g. PNG, JPEG, BMP...). They also return bytes that describe an image in a known format.

All the Python functions have docstrings that I recommend you read before using the function.

Modules

Each module name matches the name of the module it wraps. For example, the bpcs module in the Rust crate has a wrapper module that is named bpcs.

In the Rust crate, there is a whole module tree that might be hard to navigate.Because of this, the PyO3 modules are all at the top level of the Python package. This was solved in Rust using re-exports.

Functions

Each function is contained by the same module, and has the exact name as the Rust function it wraps. The argument types are slightly altered to adhere to Python's type system, but their order stays mostly the same.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

pixelveil-1.0.1-cp314-cp314-manylinux_2_34_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

File details

Details for the file pixelveil-1.0.1-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

  • Download URL: pixelveil-1.0.1-cp314-cp314-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.14, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pixelveil-1.0.1-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e5e5116faa377eaf3468c3a4c7473a3fbde31418dc5fb5aa50fa5dce642f11df
MD5 741ce92f721151fc9bf6306315004d92
BLAKE2b-256 62ea4385e8cf3bc6dd36754aacd552db53a59c718d1f356c39006d0f93d39e83

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